Skip to content
Install
← Back to blog
local-first philosophy

Why we went local-first — and what changed because of it

A short essay on building a screenshot tool with no servers, no analytics, and no account. The constraints turned out to be the feature.

Published · 2 min read · by Snappy team

When we started Snappy, we made one decision that ended up shaping every other one: nothing leaves the device.

Not “we encrypt your screenshots.” Not “we delete them after 30 days.” Just — they don’t go anywhere. The Chrome extension runs entirely in the browser, stores everything in IndexedDB, and never touches a server.

It sounds like a constraint. It turned out to be the feature.

The boring benefits

There’s no signup flow because there’s no account to make. There’s no “your screenshots are syncing…” spinner because there’s nowhere to sync them. There’s no quota meter because storage is your disk. There’s no privacy policy long enough to need a summary because there’s almost nothing to disclose.

These are the boring benefits, and they compound.

The less obvious one

The thing we didn’t expect: it made the product easier to trust. When someone installs Snappy and sees that the extension asks for nothing — no email, no permission to read all sites, no telemetry toggle to find and disable — there’s a small moment of recognition.

“Oh. This is the kind of tool I keep wishing existed.”

That moment is worth more than any landing-page copy.

Where it gets hard

Local-first isn’t free. Without a server, you can’t share a screenshot with one click — you have to download, then paste it somewhere. Without an account, you can’t roam your captures between devices. Without analytics, we can’t always tell which features matter and which are just clutter.

We accept those tradeoffs gladly. The alternative — a tool that watches you to improve itself — is the one we wanted to escape.

What’s next

We’re bringing the same architecture to a desktop app (built on Tauri) so that the macOS, Windows and Linux versions inherit the same promise. Same editor, same theme, same local-only storage — just a different shell around it.

If you build software, we’d love to compare notes. Local-first is having a moment, and small tools like Snappy are a good place to prove the model.