An app can be an income without being a business
A clip about apps that print money — and the stop-vaping example in it — made me see the gap between an income and a business, and rethink where my hours go.
I watched a clip from Steven Cravotta the other day about building apps that print money — the $30k-a-month micro-SaaS kind. Good clip. But the part that stuck wasn’t the money-printing. It was his example: an app built to help people quit vaping. My first thought was “that’s a good app” — and it is, a genuinely good cause, and Cravotta is one of those builders I keep picking up lessons from. My second thought, a beat later, was the one that’s been rattling around since: when that app works, it loses the user.
Think about it. The better it is at its job, the faster its best outcome — someone who quits — becomes someone who deletes it. Success is churn. You could absolutely turn it into the kind of money-printer the clip is about. But you’d be running up a down escalator forever, replacing the users you cured as fast as you cured them. That’s an income. It isn’t a business.
And once that distinction was in my head, I couldn’t stop pointing it at my own work.
The audit I didn’t want to do
I build things. SteelRep, LastLift, and a steady drip of other ideas that live in my head and occasionally escape into a side-project on a weekend. I’m proud of them. But held up against that escalator, most of them are incomes at best — fun, real, capable of earning a bit, and fundamentally fragile. Consumer fitness apps churn faster than almost any category going. They’re trend-exposed. And as I’ve written before, no matter how good one is, it goes nowhere without marketing I’m mostly not doing.
Meanwhile the one thing I own that could genuinely become a durable business — a B2B coaching platform called IronWolf — I’d quietly been treating as the homework. The boring one. The one I’d get to after the fun stuff.
I had it exactly backwards.
Why the side-quests keep winning my hours
I want to be honest about why, because “just focus” is useless advice if you don’t understand the pull.
It isn’t that the spine is unpleasant — building IronWolf is fun too; code can be genuinely beautiful, and there’s a craft to it I enjoy. The pull of the side-quests is something more specific: they’re new, they’re shiny, and they move fast. A backendless consumer app lets me skip almost all the hard problems. There’s no real user data to protect, no PII, no security surface that keeps you up at night, no scope that sprawls. I can have something working on my phone in a weekend and feel the progress immediately.
That fast, visible progress is a drug, and it’s the side-quest’s whole seduction. The spine is slow for the opposite reason — not because it’s harder to enjoy, but because it’s real. It carries actual people’s data, which means actual security, actual testing, actual care about the things that go wrong quietly. The honest trade is that the project most likely to matter moves slowest, and the projects least likely to matter give you the quickest dopamine. If you optimise for how good progress feels, you will reliably build the wrong thing.
There’s a name for the failure mode — shiny object syndrome — and the reason it kills solo builders specifically is that focus is the only resource we genuinely can’t buy more of. Every hour I spend on the toy is not a neutral hour; it’s an hour stolen from the thing that could still be here in five years.
What makes the boring one the business
So what makes IronWolf different from the escalator? It solves a pain that doesn’t go away when you solve it.
I coach, and I talk to a lot of coaches — online, in person, one to one. Two complaints come up in almost every one of those conversations. Online coaches live in a disconnect between their tools: the data they need is scattered across platforms that don’t talk to each other, and giving good video feedback at any real client count is a time sink that eats hours every week. And one-to-one coaches have no good way to coach outside the session — so the contact time that should be spent on the things you can only do in person gets diluted by admin that could have happened anywhere. And the tools that exist for any of it are mostly old and bloated — a decade of features piled on until the simple daily work is buried under everything the software has grown into.
That’s not a nice-to-have. That’s a coach losing hours of their week, every week, to friction. It’s the kind of acute, recurring pain people pay to keep solved — and they don’t churn out of it the moment it works, because the work keeps coming back. The market shape backs the gut feeling, too: B2B subscriptions churn around 1–5% a month against 8–12% for consumer, you need far fewer customers to make it real, and the customers you do get stay. Unsexy. Durable. A spine.
Put plainly: IronWolf is something coaches would reach for because they have to. The consumer apps are something people pick up because they might fancy it. One is a need and the other a nice-to-have — and I’d been pouring my best hours into the nice-to-have.
What I’m actually changing
Realising something and acting on it are different commits, so here’s the actual change, not just the epiphany.
I’m freezing SteelRep and LastLift where they are. Not killing them — I’ll give each a deliberate burst of marketing, then let reality decide. If real traction shows up, if users actually ask for things, if the data says there’s something there, I’ll happily come back and invest. But that next investment has to be earned by evidence, not granted because building it would be fun. Until then, they rest.
And I’m pointing my focus — the scarce thing — at the spine. IronWolf gets the hours now, including the slow, careful, unglamorous ones the side-quests let me dodge.
I build all of this in the hours outside a full-time day job — the one that already has my focus from nine to five — and that’s exactly why I refuse to let it turn into a chase for the quickest income. When the side work isn’t the thing paying your bills, the only sensible question to optimise for isn’t “what earns fastest” — it’s “what can still be standing in five years.” For me, that’s not an app that succeeds itself out of a job. It’s the boring, beautiful one that gives coaches their week back.
Steven’s app is a good app, for a good cause, and I hope it does well. But it taught me, in about two seconds, the difference between making money and building something — and that the thing I’d been calling homework was the only real business on my shelf.
FAQ
What's the difference between an income and a business?
An income is money a project throws off for a while; a business is something durable that can still be standing in five years. A consumer app whose users churn by design — a stop-vaping app being the cleanest example — can earn for a stretch without ever becoming a business.
Why bet on a B2B app over consumer apps?
Because the pain is acute and recurring (coaches lose hours to disconnected tools and feedback admin), the customers are sticky (B2B churn runs ~1–5% a month vs 8–12% for consumer), and you need far fewer of them. It solves a real problem people will pay to keep solved.
Are you abandoning LastLift and SteelRep?
No — I'm freezing them where they are, doing a burst of marketing, and letting real traction, user requests and data decide whether they earn more of my time. That's focus, not abandonment.
Isn't the boring B2B app less fun to build?
It's actually fun too — but slower, because it carries the hard problems (real user data, security, rigorous testing) that a backendless consumer app lets you skip. Fast, visible progress is the side-quest's seduction; the spine's progress is harder-won.
Also published on X . The version here is canonical.