2025 in review: revenue, what we built, and what we got wrong
Open metrics, real lessons, and a roadmap for the year ahead. We share what most companies hide.
2025 was the year Spendbox went from a weekend project to a real business. We started January with 31 users and a working prototype. We ended December with 12,400+ active users, $31k MRR, and a team of eight. Here's everything we tracked, learned, and wish we had done differently.
The numbers
The shape of that curve is deliberate. We intentionally grew slowly in H1 while we fixed the parser and nailed retention. We knew that acquiring users with a product that had a 60% 30-day retention rate would just give us a leaky bucket. We spent Q1 and Q2 on product. The growth came in H2.
What we shipped
We released 48 versions in 2025 — one every Tuesday, with a handful of emergency patches. The highlights:
- Multi-currency support — 50+ currencies, automatic conversion, original amounts always preserved.
- Renewal reminders — The most-requested feature. Opt-in notifications 7 and 1 days before a renewal.
- CSV export — Basic but essential. Accountants and power users need it.
- Insights — Spend by category, month-over-month trends, top vendors by cost.
- Light mode — Shipped in March. More polarizing than expected. Half our users switched immediately; the other half are still on dark.
- Manual entry — For receipts that don't come via email. Drag-and-drop CSV import also shipped alongside this.
We never hired beyond 8 people. Every person on the team does real work. No managers managing managers.
Free trials, yes. Free forever, no. Paying customers give you signal that free users never will.
A weekly release cadence kept us honest and gave customers something to look forward to. Predictability is a product feature.
Our engineering blog drove 40% of our SEO traffic in Q4. Writing is underrated as a growth lever for technical products.
We shipped v1 without a launch strategy and got 31 signups in the first week. We should have built the waitlist first. (We learned our lesson — see /waitlist.)
Customers told us they would have paid $9.99 without hesitation. We left money on the table and also inadvertently signaled low confidence in the product.
We built features in the wrong order. Export was month 3; multi-currency was month 7. A significant chunk of our early churned users were non-USD customers.
The most-requested feature in support tickets sat on our backlog for months because we were convinced people wanted analytics. They wanted reminders. Always listen to support.
2026 roadmap
Three themes for this year:
- Team plans.We keep getting asked about sharing a Spendbox with a business partner, a spouse, or a small team. The data model supports it. The billing doesn't. We're fixing that in Q1.
- Smart rules.User-defined categorization rules that persist across renewals. "Always put Netflix in Entertainment." Sounds simple; the implementation is subtle.
- API access. For the power users who want to pipe their data somewhere else. A read-only REST API with a TypeScript SDK, scoped to your own data.
We're not raising money. We're not hiring aggressively. We're building slowly and well, and we think the market is big enough that being the best calm option is a real business.
Thank you to everyone who paid us, emailed us with feedback, or told a friend. It's the only reason this worked.
Be part of 2026
Spendbox is growing — get early access
We're rolling out access in batches. Reserve your @spendbox.co address now and move up the queue by referring friends.
Join the waitlist