Back to Blog

How I Built a Finance Tracker on iOS with Zero Backend

A local-first approach to privacy using Apple Vision, Core Data, and CloudKit

This is my first App Store launch. Fint is a spending tracker and budget manager that lets you scan receipts, add recurring bills, and get detailed visual insights into your spending habits. All without a single server.

You might be wondering how that's possible. The short answer: Apple's ecosystem makes it unnecessary. On-device OCR (Optical Character Recognition), local data storage, CloudKit sync, and push notifications are all first-party tools that handle what most apps outsource to a backend. I just had to put them together.

Fint started as a receipt scanner. I had been reading about Apple Vision, Apple's framework for computer vision tasks including OCR, which lets your device read text from images. I built a quick receipt scanner with it and left it sitting on GitHub for a few months.

Then I discovered Core Data. Core Data is Apple's framework for persisting data locally on a user's device. No server, no database you manage, just structured data that lives on the phone and belongs entirely to the person holding it.

That combination got me thinking. Most finance apps ask you to create an account, and you never really know what happens to your data after that. Financial information is about as personal as it gets, and I already had the building blocks for something that never needed to leave your device. So I decided to turn the project into a real app, with privacy as the foundation, not an afterthought.

No account required. Your data lives on your device. I also added optional iCloud sync so your spending history stays accessible across all your Apple devices on the same Apple ID, without any of it touching my servers.

Architecture

Leveraging these tools from Apple, I was able to architect Fint without a backend or servers. The app is organized into three layers, each with a clear responsibility.

Architecture of Fint

Challenges

Tradeoffs and What's Next

The honest tradeoff is that some features that would meaningfully improve the user experience will eventually require a backend. That is just the reality of building local-first. But it does not mean the experience has to suffer. Apple's ecosystem is deep, and I plan to keep reading through their frameworks. If something is a good fit for Fint, I will incorporate it.

The next steps are Apple Intelligence and Siri integration so users can log spending without opening the app, and potentially an Apple Watch app for quick spending glances throughout the day.

Finance apps carry real responsibility. Any mistake involving someone's money or data about it can have serious consequences. Fint's zero-backend architecture sidesteps a whole category of those risks. There is no server to breach, no database to leak. The app only ever works with data the user puts in themselves, and that data never leaves their device unless they choose to enable iCloud sync.

Check out Fint: