Local-first, always
A lot of modern tools assume a cloud backend. Login first, then maybe you can use the product. Your tasks, notes, and credentials live on someone else's disk β encrypted, probably, but not yours.
We build the other way.
The /firefly/ layout
When you run fly setup, the filesystem gets a predictable structure:
/firefly/
βββ apps/ β installed applications
βββ config/ β per-app data and state
firetasks stores tasks.json. firekeep stores an encrypted vault. firecalendar stores events. Nothing phones home. Nothing needs an account.
This is not a privacy marketing angle. It is an architectural one: local data is faster, offline-capable, and under your control by default.
What we skip
- User authentication as a prerequisite
- Sync conflict resolution
- Subscription tiers to access your own files
- Analytics on how you use a todo list
If you want sync, you can layer it yourself β syncthing, git, a NAS, whatever you trust. The tools do not block that. They also do not require it.
The tradeoff
Local-first means you own backups. Local-first means no cross-device magic out of the box. We think that is a fair trade for tools that will still work when the company's servers do not.
That is the bet we are making across the lab.