Devlog #1: Why receipts?

Automated receipt parsing for a budget tracking app with less friction

This devlog series follows my journey to make a budget tracking app that works for me, and that I hope will provide value to a broader audience as well. The idea for this project came when I realized that my own family spends money using cash and various cards and accounts, which can make it difficult to keep a budget.

By making receipts it’s primary data source, Receipts makes keeping an overall budget becomes easier to manage. Of course, it is still important to track per-account spending, and this app will do that too.

Starting with receipts also makes splitting a single transactions into different budget categories much easier. The receipt will be securely sent to an AI model that reads its items and automatically categorizes them, with the option for the categories to be user-defined, or output as an evolving list as new types of spending come up. This is something that the democratization of AI over the last few years has made much more feasible.

A receipts-first budgeting app also improves privacy compared to what is possible in many jurisdictions. Most existing budgeting apps sync with multiple bank/credit accounts, but, aside from the annoyance of configuring each one in-app, the major issue is that you must allow them to sign into your bank account so they can scrape your transaction history. One day Open Banking might resolve this, but in the meantime, I hope that a simpler solution could provide a lot of value.

Aside from privacy, bank account scraping is also problematic and error prone because not all financial institutions are supported. Developers need to write scrapers for each bank’s format – AI could probably, and perhaps already is, doing at least some of this automatically, but I definitely don’t want it ingesting my banking history.

I mentioned that the key to making a receipts-driven budgeting app is AI. My specific solution is to use optical character recognition (OCR) enabled large language models to digest receipts and then the items listed on them according to spending categories.

For now, I am calling this project “Receipts”. My next post will be about the tech stack I am using to create the app.