Skip to content

VicMtn/klok

Repository files navigation

Klok

A minimal time tracking app for macOS.

Tauri React TypeScript Tailwind CSS SQLite

Screenshots

Weekly view Special Days
Weekly view Specials Days
Vacation & Overtime Statistics
Vacation tracking Statistics

Features

  • Week and month views — arrival, break start/end, departure, net hours, balance per day
  • Public holidays — mark any day as a holiday; it counts toward your expected hours automatically
  • Vacation tracking — dedicated page modelled on the Swiss system (4, 5 or 6 weeks per year: 20 / 25 / 30 days); mark any day as a vacation day from the row menu and it counts toward your expected hours
  • Overtime recovery — take a day off drawn from your accumulated overtime; it deducts a day from your balance instead of counting against your annual vacation allocation, and the vacation page surfaces your remaining overtime balance
  • Sick days — mark any day as a sick day; it credits your expected hours like a paid day, stays neutral to your balance, and is tracked separately with no annual cap
  • Per-row dropdown — a single ⋮ button in each day row lets you mark a day as holiday, vacation, overtime recovery or sick, each colour-coded in the table
  • Statistics page — weekly bar chart for the current year, with total hours, worked days, balance, weekly average, vacation taken / remaining, and sick days taken
  • Expected hours per week — configurable target (default 37.5h), used to compute daily and weekly balance
  • Notes per day entry
  • i18n — French / English, switchable from the sidebar
  • Dark mode — toggle in the sidebar, persisted across sessions
  • Print week or month to PDF via the native print dialog
  • SQLite — all data stored locally in ~/Library/Application Support/com.klok.app
  • Runs quietly in the menu bar; closing the window keeps it alive in the background

Stack

Tauri v2 Rust backend, WebKit renderer
React 19 + TypeScript UI
Tailwind CSS v4 Styling
Zustand State management
tauri-plugin-sql SQLite access
MUI X Charts Statistics chart

Development

npm install
npm start          # launches tauri dev + vite HMR on :1420

Requires Rust and the Tauri prerequisites for your platform.

Build

npm run build        # tsc + vite bundle
npm run tauri build  # produces .app / .dmg in src-tauri/target/release/bundle

About

Small working hours tracker

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages