Open most apps today and the first thing they want is an account. Then your notes, your files, your work all live on someone else's server — rented, not owned. I build the opposite on purpose, and it's the one principle that runs through everything with my name on it.
What "local-first" actually means
Local-first means the canonical copy of your data lives on your device, not in my database. The app is a tool you point at your own files; it doesn't become the landlord of your work. If my server disappeared tomorrow, your stuff would still be sitting right where it always was — on your disk, in a format you can open with anything.
That's not a marketing angle. It's a different answer to a basic question: when you use a tool, who ends up holding your data? For most software the answer is "the company." For the things I build, the answer is "you."
Where it shows up
Wren is sticky notes that save as plain Markdown files on your own disk. No account, no lock-in. If you ever stop using Wren, you don't export anything — the notes were already real files the whole time.
Pinion.md reads and writes the Markdown files you already have, straight from your device. It never uploads them anywhere. It opens, you write, it saves back to the same place, and that's the whole loop.
Even UniStyle follows the rule in spirit: the text you type is converted right there in your browser and never touches a server. The home affordability calculator does the same — every number you enter stays on your screen and is gone when you refresh.
Why I bother
Three reasons, and none of them are ideological.
It respects the person using it. I spend my days as a DevOps engineer thinking about security and where data lives. The fewer copies of your information I'm responsible for, the fewer ways it can leak, get sold, or get held for ransom behind a subscription. The safest data is the data I never collect.
It outlives the app. Tools come and go. Companies get acquired and shut things down. When your work is plain files on your own machine, none of that can strand you. Plain Markdown will still open in twenty years; a proprietary cloud format might not survive the next pivot.
It keeps me honest. If I'm not warehousing your data, I'm not tempted to monetize it. The model stays simple: the tools are free, the code is on GitHub, and if something saves you time you can drop a coffee on Ko-fi. That's the whole business.
The tradeoff, honestly
Local-first isn't free of friction. Sync across devices takes more thought when there's no central server doing it for you — which is why Wren leans on the Obsidian pattern: point it at a folder inside your own Google Drive or Dropbox and let the cloud app you already trust move the files. You stay in control of the account; I stay out of the middle. It's a little more setup for a lot less lock-in. I'll take that trade every time.
The short version
I build tools I'd want to use myself, for people with real jobs who don't have time to babysit their software. Keeping your data on your own machine isn't a feature I bolt on. It's the starting point everything else is built around.
Get new posts by email
Occasional essays on building practical, local-first tools. No spam, unsubscribe anytime.