Before Convert existed, I killed 3 other app projects. Not "put on hold." Not "deprioritized." Deleted. Wiped the repos. Removed from my task manager. Gone.
Combined, those projects represented about 400 hours of work. Four hundred hours I'll never get back, building things that will never exist.
And I don't regret any of it.
The Graveyard
Here's what died so Convert could live:
1. HabitLoop (Habit Tracker)
My first serious app attempt. A habit tracker with "streak protection" — you could bank extra completions to cover missed days. Clever, right?
I worked on it for 3 months. Got maybe 70% through the MVP. Then I actually looked at the App Store.
There were 847 habit trackers. Eight hundred. Some were free. Some were from teams of 20 people. The top ones had been iterating for 8+ years. My "clever" streak protection feature? Three competitors already had it.
I'd built 70% of something nobody was waiting for.
2. ClearCast (Weather App)
This one hurts more. I actually loved the design. Minimal, beautiful, focused on just the next 24 hours. No 10-day forecasts cluttering the screen.
Problem: weather APIs cost money. Like, real money. The cheapest option that wouldn't rate-limit me into oblivion was $99/month. For an indie weather app competing against the default iPhone weather app.
I should've researched this before writing 6,000 lines of SwiftUI. I didn't.
3. Breathe (Meditation Timer)
Three months in. Polished UI. Custom breathing animations. Haptic feedback patterns. I was genuinely proud of it.
Then Apple announced their built-in Mindfulness app with basically the same features. For free. Pre-installed on every device.
That's when I learned: building something Apple might build is playing Russian roulette with your time.
The Signs I Ignored
Looking back, each of these projects had warning signs I explained away. Maybe you're doing the same thing right now.
You Dread Opening Xcode
With HabitLoop, I started finding excuses. "I'll just do some market research today." "Let me refine the design docs first." "I should really understand SwiftData better before continuing."
All procrastination in disguise. When you actually believe in something, you can't wait to work on it. When you don't, you find reasons not to.
You're Explaining Away Red Flags
"Sure, there are 847 habit trackers, but mine will be different because..."
"Yes, the API costs $99/month, but once I have 500 users..."
"Apple might release something similar, but they probably won't because..."
If you're writing sentences with "but" in the middle, you already know the truth. The "but" is just your ego trying to protect the time you've already invested.
You Have No Launch Excitement
With ClearCast, I realized I wasn't excited about launching. I was just... finishing. Checking a box. That's not how you should feel about something you're going to support for years.
When I started Convert, the difference was obvious. I couldn't wait to ship it. I was annoyed by every day it wasn't in people's hands yet. That's the feeling.
The Sunk Cost Trap
Here's the thing that kept me on dying projects longer than I should've been: sunk cost fallacy.
"I've already spent 200 hours on this. I can't quit now."
But those 200 hours are gone whether you continue or not. The only question is: do you want to spend 200 more hours on something you don't believe in?
The 400 hours I "lost" on failed projects? I think of them as tuition. I learned SwiftUI animations from Breathe. I learned API cost analysis from ClearCast. I learned competitive analysis from HabitLoop.
All of that made Convert better. The time wasn't wasted — it was invested in becoming a developer who could actually ship.
How I Decide Now
After burning myself 3 times, I developed a checklist I run through before committing to any project:
- Can I explain the value in one sentence? Not the features. The value. "Convert lets you convert any unit without thinking" passes. "HabitLoop helps you build habits with streak protection and gamification and..." fails.
- What's the ongoing cost? Server costs, API fees, content licensing. If the app needs external services, I know the exact monthly cost before writing any code.
- Could Apple build this tomorrow? If yes, I'm competing with an infinite budget and pre-installed distribution. Hard pass.
- Am I excited or obligated? Excitement fades, but obligation never turns into passion. Start with excitement or don't start.
- Would I use this daily? I use Convert constantly. I barely remembered to use my own habit tracker. That's a tell.
Quitting Is a Skill
There's a weird cult of persistence in indie dev culture. Never give up. Keep grinding. Push through.
Sometimes that's right. Sometimes it's just sunk cost fallacy wearing a motivational poster.
Quitting something that isn't working frees you to build something that will. The 3 projects I killed made room for Convert. If I'd stubbornly finished HabitLoop, I'd be maintaining a zombie app instead of building something people actually use.
Knowing when to quit is a skill. It's uncomfortable to develop. But it might be the most valuable skill an indie developer can have.
The Question to Ask
If you're on the fence about a project, ask yourself this:
"If I'd never started this, would I start it today?"
Not "should I finish?" That question is biased by what you've already invested. The right question ignores sunk costs entirely.
If the honest answer is no, you have your answer. Close Xcode. Delete the repo. Move on.
The next idea might be the one.