Build in Public
What I Learned Shipping Small iOS Apps as a Solo Developer
April 8, 2026 · 8 min read
In 2026 I set out to build a small portfolio of iOS apps. Not a startup. Not a SaaS. Just useful, well-designed tools that solve small problems — and make money through ads.
Each app targets a different job, and each one taught me something different. Here are the real numbers and what I’d do differently.
How I Work
1. Flutter for everything
I build with Flutter. One language, one framework, one build pipeline means I can spend my attention on what each app actually does for its user instead of on toolchain differences.
2. AI-assisted development
I used Claude Code for almost everything: writing Flutter code, ASO keyword research, generating app descriptions, debugging. It didn’t replace thinking, but it removed the friction of typing boilerplate and searching docs.
3. Keyword-first approach
I didn’t build apps I wanted. I found keywords with low competition and decent search volume, then built the simplest app that solves that search intent. “score counter” (popularity 21, difficulty 43) had only 1 exact-match competitor in the top 9. That’s a gap worth filling.
4. One real job per app
Each app exists to finish one specific job for one specific person, and I only ship it when that job works end to end. That is also why the apps look and behave differently from each other — a scoreboard, a typing test and a fireworks viewing map have almost nothing in common beyond being built by the same person.
The Real Numbers (First 2 Weeks)
Here’s what the early apps looked like after two weeks. I’m sharing real data because Build in Public means showing the unglamorous truth too.
| App | Impressions | Downloads | Conv. Rate | Revenue |
|---|---|---|---|---|
| SnapPDF | 9,050 | 366 | 6.2% | $0.06 |
| Score Counter | 1,810 | 89 | 6.8% | $0.06 |
| TypeBlitz | 2,820 | 81 | 4.9% | $0.64 |
| Signo | 1,800 | 80 | 6.1% | $0.08 |
| Paletta | 1,030 | 36 | 5.0% | $0.12 |
| Profito | 962 | 17 | 2.5% | $0.01 |
| Mycora | 930 | 10 | 1.4% | $0.01 |
Total AdMob revenue after 2 weeks: $0.98.
Yes, less than a dollar. That’s the reality of AdMob with new apps and zero marketing. But this is day 14 of a long game.
The Surprising Lesson: Downloads ≠ Revenue
SnapPDF had 4.5x more downloads than TypeBlitz. But TypeBlitz earned 10x more revenue. Why?
It comes down to one metric: ad impressions per session.
- SnapPDF (utility): User opens app → converts photo → saves PDF → leaves in 30 seconds. Ad impression rate: 1.4%.
- TypeBlitz (game): User plays round → sees interstitial → plays another round → repeat. Ad impression rate: 88.2%.
The revenue formula isn’t downloads × eCPM. It’s:
revenue = downloads × sessions_per_user × ad_rate × eCPM
Score Counter had the highest retention (7.96 sessions per user) but low ad rate. TypeBlitz had moderate retention but near-perfect ad rate. The lesson: build apps where users stay, not just visit.
What I’d Do Differently
- Start with games and quizzes — Round-based apps naturally support interstitial ads between rounds. Utility apps fight against their own efficiency.
- Give each app more room — The apps that got the most design and testing time before launch are the ones users actually keep. Shipping something before it is genuinely finished helps nobody.
- Invest in ASO earlier — I treated ASO as an afterthought at first. The apps I optimized keywords for (Score Counter, Signo) had 2–3x better conversion rates.
- Don’t judge at 2 weeks — ASO experts say rankings take 6 months to stabilize. Mycora looked dead in winter, but mushroom foraging is seasonal. Patience matters.
What’s Next
I’m shifting strategy: less “build more apps” and more “make the existing ones better and easier to find.” The bottleneck isn’t development — it’s discovery and depth. Nobody finds your app if you don’t tell them it exists, and nobody keeps it if it doesn’t do its job well.
My focus for the next 3 months:
- ASO optimization across the portfolio (long-tail keywords)
- This blog — sharing honest numbers and lessons
- Short-form video content (YouTube Shorts, Reels)
- Improving ad placement on high-retention apps (Score Counter, TypeBlitz)
If you’re an indie developer thinking about shipping your first ad-supported app, I hope this gives you a realistic picture. It’s not passive income on day one. But with the right strategy, the work compounds over time.