Last year I owed thousands more in taxes than I expected. Not because I was doing anything wrong — I just was not doing my books. I am a developer, not an accountant, and bookkeeping was always the thing I would "get to next week."
Six months of next weeks later, I was staring at a bank statement trying to figure out which transactions were business expenses and which were personal. It took me an entire weekend.
That weekend is when I decided to automate the entire process.
The insight that changed everything
When I finally sat down and categorized six months of transactions, I noticed something: about 85% of them were completely obvious. My AWS bill. My Stripe payouts. My domain renewals. My coworking space. The same vendors, the same amounts, the same categories, month after month.
The other 15% required actual thought. A new SaaS tool I tried for a month. A client dinner. A refund from a vendor I did not recognize. These were the items where I needed to make a decision.
So I asked myself: what if I only had to look at that 15%?
How the system works
I built a categorization engine that processes bank transactions through several layers:
Layer 1: Merchant matching. The system normalizes merchant names (STRIPE.COM/CHARGE becomes Stripe) and matches them against known vendors. If you have categorized Stripe payouts as Revenue 50 times, the 51st one does not need your input.
Layer 2: Pattern recognition. Recurring charges with the same amount on the same date each month are almost certainly subscriptions. The system identifies these patterns and categorizes them automatically.
Layer 3: Amount analysis. A $12.99 charge at a familiar merchant is routine. A $4,000 charge from a vendor you have used once before might need a second look.
Layer 4: Confidence scoring. Every transaction gets a confidence score. Above the threshold, it is categorized automatically. Below the threshold, it surfaces in your review queue.
The magic is in the review queue. Instead of scrolling through 200 transactions, you see 20. Each one shows the AI's best guess and why it is unsure. You confirm, recategorize, or split — and the system learns from your decision.
The results
After running this for several months, here is what happened:
- Time spent on bookkeeping: went from 5+ hours per month to about 5 minutes
- Books current through the month: instead of piling up, transactions are categorized within a day of hitting my bank
- Tax prep: my accountant got clean, categorized data without a cleanup project
- Exception rate: started around 15%, dropped to about 8% as the system learned my patterns
Why I turned it into a product
I shared the system with a few founder friends who had the same problem. Every single one of them said some version of: "Why does this not exist already?"
The answer is that most bookkeeping software was designed for accountants, not founders. The assumption is that you want control over every line item. But founders do not want control — they want their books done.
That is why I built Prosper. It is the exception-based bookkeeping engine I built for myself, turned into a product anyone can use. Connect your bank, let the AI handle the routine transactions, and only spend time on the items that genuinely need your judgment.
What I learned
Building this taught me something about productivity tools in general: the best automation is not "do everything for you." It is "do the obvious things, and only interrupt you for the hard ones."
Your email spam filter works this way. Your phone's Do Not Disturb works this way. Your bookkeeping should work this way too.
If you are a solo founder drowning in uncategorized transactions, you do not need a better spreadsheet or a more powerful accounting suite. You need a system that respects your time and only asks for your attention when it actually matters.