Product we build and run
Enough For
Plan it, save it, have it
A local-first personal finance planner for people whose lives span more than one country. No account, and nothing leaves your own devices.
Visit Enough For
The problem
Most budgeting tools assume one country, one currency and a willingness to upload your finances to someone else's server. If you have savings in one country, a pension in another and a plan to move to a third, they do not fit. And many people simply do not want a company holding their numbers.
What we built
Enough For helps you work out what is enough for a car, a home or retirement, and save rather than borrow.
- Local-first: the application runs entirely on your device and nothing is sent to a server.
- International by design: investments and goals in several countries and currencies, with moves between them.
- No account to open. Devices and browsers are paired directly and sync with each other over WebRTC, so the same plan lives on your phone and laptop.
- Cookieless analytics only, with no personal data collected.
How devices stay in sync without a server
The hardest part of a local-first application is keeping several devices in agreement when there is no central database to be the referee. Enough For solves it with two pieces of technology.
Sync runs directly between devices over WebRTC. You pair a phone and a laptop, or two browsers, with a secret that never reaches a third party, and from then on they talk to each other over an encrypted peer-to-peer connection. No server stores, relays or even sees the data.
The data itself is held in CRDTs, conflict-free replicated data types. Every change made on any device can be merged with every other change, in any order, and all devices arrive at the same result. That means you can edit on your phone on the train, edit the same plan on your laptop at home, and have the two reconcile automatically the next time they see each other, with nothing lost and no "which version do you want to keep" prompts.
- Direct device-to-device and browser-to-browser sync over WebRTC data channels.
- CRDT-based data model, so concurrent edits merge without conflicts.
- Works fully offline; changes queue locally and merge when a peer is reachable.
- Pairing secret shared out-of-band and never sent to a server.
How AI-assisted delivery helped
Planning across countries only works if the application knows each country: its tax treatment of savings and investments, pension arrangements, housing costs, vehicle taxes, currencies and the rest. Compiling that reference data by hand for every supported country would have significantly taken longer than building the application.
We used AI tooling to compile the reference data for every supported country, with each figure sourced and checked, and then specified an AI agent whose job is to keep that data up to date as rules and rates change.
- Country-specific reference data for every supported country, compiled with AI assistance and reviewed before release.
- A specified AI agent that monitors for changes and keeps the reference data current.
- All AI work happens ahead of time, so the application ships with plain data, there are no AI calls at runtime keeping running costs very low.
Why it matters for your project
Your customers are increasingly aware of what happens to their data, and they choose products accordingly. A local-first or zero-knowledge design can minimise those concerns or remove them entirely: if the data never leaves the user's device, or the service provider cannot read what it stores, there is nothing to leak, nothing to subpoena and far less to explain in a privacy policy.
We have shipped local-first architecture, peer-to-peer sync over WebRTC and CRDT data models in production with Enough For, and we have built zero-knowledge systems for our customers where the provider cannot read the data it holds even if it wanted to.
Have something similar?
A free, no-pressure discovery call. Bring the problem, we'll bring honest advice on scope, timeline and risk.