iex> Ken</>

Why I'm building a budget app that won't sync with your bank

iex> Blog.post!("20260530-budget-app-that-wont-sync")
%Post{
title: "Why I'm building a budget app that won't sync with your bank",
date: ~D[],
author: ,
reading_time: 3, # minutes
body: """

I've tried plenty of budgeting apps, and plenty of spreadsheets. None of them stuck. Sometimes it was the interface, sometimes a feature I wanted just wasn't there, sometimes I just lost the motivation to keep it up.

But the slick ones — the kind that link to your bank and import everything automatically — failed me in a sharper way: the auto-entry made me lose track of my money entirely. It did the noticing so I didn't have to, so I didn't. And it would take a single trip to one shop and flatten it into one lump: a book, some shampoo, and groceries all booked as "Amazon ¥5,000," with no honest way to split it into what I actually bought.

So I'm building the budget app I couldn't find. The core bet behind Budgeteer is the opposite of every auto-syncing app: you enter every transaction by hand.

Let me be honest about the cost, because I don't think it has a clever rebuttal: manual entry is tedious. I'm not going to pretend it isn't. The whole design rests on a simpler claim — that the payoff is worth the effort. Typing money in by hand is a small act of noticing, and a couple of weeks of it builds an awareness of your spending that an auto-synced feed never will. The feed does the looking for you; Budgeteer hands the looking back. And because you're the one entering it, you can record it as it really was: that one shop split into its real line items, each in its own category, instead of a lump you'll never decode later. (Quick Add takes some of the sting out — 25 @groceries coffee, press Enter — but it eases the work, it doesn't make it disappear.)

That one decision shapes everything else. If you enter transactions yourself, there's no bank to connect — so there's no bank login to store, no account to create, no cloud to sync to. Your data is a single SQLite file on your own machine: copy it, back it up, delete it like any other file. (The one thing it fetches online is exchange rates, and only if you hold more than one currency — even then it sends codes like USD, never your amounts.) The privacy isn't a feature I bolted on; it falls out for free the moment you stop outsourcing the data entry.

I'm also no front-end developer — and honestly, AI is part of why this is feasible for me at all: it has gotten good enough that even I can build an interface I'm not embarrassed by, which is the wall that used to stop me. Budgeteer isn't released yet; I'm building toward v0.1.0, and I'll write more here as the pieces come together.

If that resonates — or if you think I'm wrong and auto-sync is fine, actually — I'd like to hear it. I'm on Mastodon, and there's an RSS feed to follow the build.

"""
}
iex> Blog.Post.tip()
"If this post saved you time or taught you something, please consider buying me a coffee on Ko-fi ☕. It keeps me writing in the open."
iex> Blog.archive()
iex> Ken.tip()