Optional multi-device sync where the server holds ciphertext and nothing else.
Manual timers get forgotten
Any tool that depends on you remembering to press start is measuring your memory, not your work.
NEW v0.4 is out — offline sync included
Lumen is a quiet focus companion for your desktop. It watches how your day really unfolds, then hands you an honest summary — no streaks, no guilt, no data leaving your machine.
Product screenshot goes here assets/img/lumen-dashboard.png
The problem
Most people genuinely cannot answer that, and the tools meant to help mostly add another thing to manage. Timers need starting. Task apps need grooming. Analytics dashboards optimize for looking impressive, not for being true.
Any tool that depends on you remembering to press start is measuring your memory, not your work.
Gamified apps reward the appearance of consistency. You end up optimizing the metric instead of the outcome.
Most trackers ship a minute-by-minute log of your life to someone else's server. That should not be the default.
What it does
Lumen notices which app and project you're in and stitches it into sessions automatically. Nothing to start, nothing to stop, nothing to remember.
One screen at the end of the day: deep work, shallow work, and the context switches that ate the gaps. Uncomfortable the first week, useful forever after.
Everything lives in a SQLite file on your disk. No account, no telemetry, no network calls unless you explicitly turn on sync.
One command dumps your history to CSV or JSON. Your data stays yours, and leaving is as easy as arriving.
A Rust core in a Tauri shell: about 12 MB installed and under 1% CPU while idle. It disappears into the background where it belongs.
A small local HTTP API and a CLI, so you can pipe your focus data into whatever dashboard or journal you already keep.
How it works
The whole design goal is that you interact with Lumen twice a day at most: once when you install it, once when you read the summary.
One binary for macOS, Windows and Linux. No runtime to set up, no account to create.
Lumen sits in the menu bar and records sessions locally while you get on with your day.
At a time you choose, a single quiet notification opens the day's summary. That's the entire loop.
# install and start tracking
brew install lumen
lumen start
# export everything, any time
lumen export --since "30d" --format csv
Under the hood
Every dependency has to earn its place. Here's what made the cut and why.
The tracking core. Predictable memory, no GC pauses, negligible idle cost.
Native shell without shipping a browser. A tenth of the install size of the Electron version.
The review UI. Typed end to end against the Rust API via generated bindings.
One file, on your disk, readable by any tool you already own.
Roadmap
Optional multi-device sync where the server holds ciphertext and nothing else.
Trends across weeks, so you can see whether a change to your routine actually did anything.
Richer context from the tools you already live in, without extra bookkeeping.
Free, open source, and it takes about a minute to install. If it doesn't earn its place in five days, delete it — one file and it's gone.