Where it started
I'm not a lapsed budgeter. For the last five years I've tracked my money in an app almost every day, and that habit is exactly why I have such strong opinions about it.
Three or four apps took turns as my daily driver, and I tried close to ten more. Every one lost me the same two ways: something I genuinely needed was missing, and the features I did want sat behind a subscription of around $100 a year.
After enough rounds of that, I stopped switching and started sketching. I wanted the app I kept wishing existed: complete enough to use every day, nice to look at, and free, so the people around me could use it too.
The research
Eleven one-on-one interviews with people who had tried a budgeting app and dropped it, a survey, a teardown of the big apps, and a long crawl through their reviews.
The finding that reframed the project: these apps are scoreboards of failure, and most of them charge around $100 a year for the privilege. The opening was not a prettier dashboard. It was a kinder one.
The bet
Instead of a tool that grades your past, I built one that answers a single question about right now — "can I spend this?" — and rewards people for showing up rather than for being perfect.
My first pass leaned too hard on the game: badges, points, confetti. It cheapened the part that mattered. I pulled almost all of it back until two things were left: one honest daily number, and a quiet streak.
The signature interaction
Overspend today and tomorrow's number quietly shrinks. No red wall of shame, and one bad day never turns into a failed month.
Onboarding does the typing for you: it auto-detects your currency, offers preset income and bill types, and can read your subscriptions off a bank screenshot. Seven steps, about two minutes, and you land on a daily number that already means something.
Native, down to the haptics
Liquid Glass surfaces, native sheets, Apple's type styles, real system haptics. Nothing fights the OS, so the whole thing feels trustworthy from the first tap.
Analytics blocks you can rearrange, built on native charts. Quiet by default, with the detail there when you go looking for it.
The test that humbled me
A TestFlight beta humbled me. I had built the streak to motivate people. Instead I watched a tester open the app every single day and still lose their streak, just because they had not spent money that day. I had built the exact thing I set out to kill: an app that punishes you for showing up.
That was the moment "reward, don't scold" stopped being a slogan and became a rule I could hold every screen against.
Outcome
Live on the App Store, free, in six languages. Most of what competitors lock behind a subscription, Ruvi includes from day one.
The hardest calls were never visual. They were about tone: how to be encouraging without being childish, and honest without being punishing. If I did it again, I would test the motivation rules on day one — the loop that brings people back is the real product.