timglas
Local-first time tracking for macOS.
Premise
Nobody tracks time perfectly.
Timglas is built for the days you get wrong.
You forget to start the timer. You leave it running through lunch. You work at 23:00 and finish after midnight, take a call you never log, and remember on Friday that Tuesday happened at all.
Most trackers assume none of that. They record a tidy version of your day, and you stop trusting the totals, and totals you do not trust never make it onto an invoice.
Timglas assumes the opposite. Getting it wrong is normal. Fixing it should be cheap. Backfill time you never recorded. Resolve idle stretches after the fact. Split an entry that turned out to be two things. Label the gaps. The numbers stay ones you would bill from.
What it does
-
Lives in the menu bar
Start, stop, pause and switch from the top of the screen, or from a global hotkey without touching the app at all. A full window exists when you want the whole picture.
-
Tracks on its own, on your terms
Rules match the app in front, a window title, a URL, a time of day. Suggestions surface instead of taking over, and a manual timer is never overridden by an automatic one.
-
Handles the away time
Step away and Timglas notices. When you come back it asks what the absence was: keep it, drop it, or assign it somewhere, instead of guessing on your behalf.
-
Projects, rates and revenue
Group work into projects with hourly rates, and reports turn tracked time into money owed. Timelines show the day as it actually happened, gaps included.
-
Pomodoro, if you want it
A focus rhythm layered over the running timer, not a separate mode you have to live inside.
-
Leaves with you
CSV, JSON, iCalendar and PDF out. CSV back in. Your history exits in shapes other tools accept, because local-first data that cannot leave is just a worse cloud.
Where your data lives
On your Mac.
That is the whole architecture.
Your work history is a readable JSON file on your own disk, backed up daily on a rotation. If the file is ever damaged, Timglas quarantines it and tells you, rather than silently starting over.
Automatic tracking reads only what a rule actually needs. A rule that matches an application never reads a window title. Nothing is sent anywhere, because there is nowhere to send it.
- Accountnone
- Cloudnone
- Analyticsnone
- Telemetrynone
- Third-party codenone
- Subscriptionnone
Part of the system
- Native Swift and SwiftUI, macOS 14 and up, with no third-party dependencies.
- Start and stop from Shortcuts and Siri.
- Search past work from Spotlight.
- Link into it from anywhere with timglas://.
- Launch at login, notifications when you want them, silence when you do not.