Local-first by default
Why we ship StoryLens as a Mac app you own — and what that buys you.
The first decision we made about StoryLens wasn't a feature. It was a deployment.
We chose to ship a Mac app, not a web dashboard, because the most useful version of an "AI that tells your story" lives next to your tools, not behind a login screen. Your work happens locally. Your inboxes, repos, and notes are local. The agent that reads them should be too.
What "local-first" actually means
It's a phrase that gets diluted, so here's what it means for us:
- Storage stays on your machine unless you opt into the cloud
- Tokens are yours — we never proxy your model calls
- Connectors run on your hardware, with managed OAuth so refresh tokens don't go stale
You can run StoryLens fully offline-from-our-servers. The dashboard is the same UI whether you're on Free or Pro; the only thing the cloud does is keep agents running while your laptop is closed.
The trade-off we made
Local-first means we can't sell you "log into our website to use it." It means our analytics on you are minimal by design. It means the simplest tier of StoryLens costs us almost nothing to operate, because the work happens on your machine.
That's fine. The companies that built their stack on the assumption that your data lives on their servers are going to spend the next decade unwinding that decision. We'd rather start where they're going.
What you get from this
If you're security-conscious, this matters. If you're cost-conscious, the bill scales with what you ask the cloud to do, not how big the company gets. If you're privacy-conscious — local means local. The boundary is yours to draw.
We'll keep writing about how this shapes the product. Subscribe (or just check back) — we'll be here.