← All work

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
Enough For home page listing savings goals for a car, a home and investment

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.

NordStack Ltd is registered in England and Wales, company number 13750138. Registered office: 71-75 Shelton Street, Covent Garden, London, WC2H 9JQ.

© 2026 NordStack Ltd. All rights reserved.