A local-first digital journal. Write in bursts, thread your thoughts over time, and keep every entry on your own device.
No account. No server. No network calls.
Re-read the interview notes from Monday. The thing everyone circled back to was not the feature list, it was how long it takes to get a thought out of their head and into the thing.
So: measure time-to-first-word, not clicks.
Walked the long way home. Cold for August. Wrote three lines standing at the crossing because I would have lost them otherwise — which is the whole argument for a journal that opens in one keystroke.
Draft of the storage seam. One narrow driver, everything else talks to that.
Entries live in IndexedDB on your machine. There is no account to make and nothing to sign in to.
Each entry is markdown with frontmatter, keyed by date. Export a whole journal as files whenever you want out.
No suggestions, no summaries, no embeddings. Nothing here talks to a network, so nothing here reads your journal.
Entries thread onto each other. Add to one an hour later or a month later and it stays one strand — the ball and the line down the margin show how deep it runs.
Click the ball to colour-code a thread, and pin the ones worth finding again.
A task wears the same ball an entry does. Clicking it advances open → started → done, filling the ring as it goes, so a finished task reads as something that happened rather than something ticked off. Slippage is measured from the day it was planned for, whether or not the app was open.
A todo that slipped is drawn in warning colour rather than hidden — the point is to make over-promising visible, not to stop it.
One box for commands and for search. Threads match on everything in them, replies included; filter by highlight or attachment, and picking a result scrolls the stream to exactly where it sits.
Focus mode covers everything: the session time, the day’s word count, and nothing else. ⌘↵ posts, Esc leaves. A Pomodoro sits in the sidebar if you want the timer without the blackout.
The point of writing this down is not the record. It is that the sentence has to finish, and half of what I think does not survive being finished.
Streaks, totals, a fourteen-week heatmap, the daily goal and a thirty-day mood chart — across every journal, derived from your entries at the moment you look. Counted on this device, nowhere else.
What you wrote on today’s date in earlier years, your pinned entries, and tag chips that narrow the stream.
Journals sit flat in the sidebar with their glyph, their colour and their entry count. Entries are reached by reading the stream or searching, which is how you actually look for them.
A whole journal comes out as dated markdown files with frontmatter — the same shape it has inside. Nothing is locked in.
Light and dark are app-wide and follow your system on first run. The accent belongs to the journal, so the wordmark, the balls and the goal ring all shift when you move between them.
There is nothing to install and no account to make. Your first entry is one keystroke away.