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.

AppImpressionsDownloadsConv. RateRevenue
SnapPDF9,0503666.2%$0.06
Score Counter1,810896.8%$0.06
TypeBlitz2,820814.9%$0.64
Signo1,800806.1%$0.08
Paletta1,030365.0%$0.12
Profito962172.5%$0.01
Mycora930101.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

  1. Start with games and quizzes — Round-based apps naturally support interstitial ads between rounds. Utility apps fight against their own efficiency.
  2. 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.
  3. 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.
  4. 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.

Check out the apps

Every app mentioned in this post is free on the App Store.

View all apps →