Kualia is a budgeting app that helps people give every dollar a job and feel in control of their money. I built it because I was a paying YNAB user and loved envelope budgeting, but wanted something that fit the way I think about my money. Envelope budgeting is far from a new idea; I just wanted my own take on it, and I designed, built, and launched it entirely on my own.
I built the iPhone app with SwiftUI, the website with Angular, and the system that powers them both with Convex. Being the only person on it means I also make the product calls, guided by what real users tell me they need.
It's live on the App Store today and earns around $300 in recurring revenue every month. It's the project I'm proudest of, because every part of it, good and bad, is a decision I made and shipped.
Connecting your budget to AI
The piece I'm most excited about lately is the MCP server. Kualia speaks the Model Context Protocol, so any assistant you already pay for, Claude, ChatGPT, Cursor, Perplexity, can read your transactions, envelopes, recurring bills, and reports directly, with your permission. You ask questions in plain English instead of opening dashboards: "What categories am I overspending in this month?" or "How much am I spending on recurring subscriptions?"
It does more than read. With your approval it can reassign money between envelopes, set assigned amounts, and import a CSV of transactions straight from the chat. Read-only tools run on their own; anything that writes asks you first.
Under the hood it's a JSON-RPC endpoint on the Convex backend with a secure sign-in flow, so there are no API keys to paste and every connection is scoped to your workspace. The trick that keeps it sane is a single tool registry: one TypeScript array is the source of truth, and both the public MCP server and the in-app AI chat run through the same code path and the same scope checks. Add a tool once and both surfaces get it.
You can see it for yourself at kualia.com.