← Blog

100,000 Downloads, $216 a Month: My Flutter Apps Revenue

One app pays most of the bills, iOS users are worth 12x Android and my ads made $3.40 last month, the honest numbers behind 16 Flutter apps

GAROONO · BLOG100,000 Downloads, $216a Month: My Flutter AppsRevenuegaroono.in

I have about 16 Flutter apps live on iOS and Android
Together they've been installed around 100,000 times

They make about $216 a month in recurring revenue
Not per app, in total

Most indie income posts show the chart that went up and to the right
This is the other kind
I pulled my RevenueCat, PostHog and AdMob numbers on October 12, 2026
They're rounded and approximate, but they're real

The 30 second version

100,000 installs sounds like a business, it isn't one yet
One app makes most of the money, iOS users pay about 12 times more than Android users, and my full-screen ads barely show
So I'm going iOS first, aiming at richer markets, fixing one paywall and freezing the apps that don't earn

The numbers, no filter

Metric Value
Apps live About 16, all Flutter, most on Firebase
Lifetime installs About 100,000
Revenue, last 28 days About $256
MRR About $216 from 104 active subscriptions
XLSheetAI share of MRR About $140, roughly two thirds
Revenue per 1,000 new iOS users About $234
Revenue per 1,000 new Android users About $19
India Almost two thirds of new users, under a third of revenue
AdMob, last month About $3.40 across every app
Revenue per 1,000 new users iOS $234 Android $19 My apps, RevenueCat, approximate, October 2026
One new iOS user is worth about 12 new Android users in my apps

What worked

One app found a real job to do

XLSheetAI is an AI helper for spreadsheets
People open it when they're stuck on a formula at work
That's a problem with money attached, and it's the only app in my portfolio that earns something every month

Retention can be built

JapMala, a prayer bead counter, keeps about 1 in 3 users on day one and about 1 in 5 into week two
That's my best retention by far

It earns almost nothing
But it proved I can make an app people come back to on their own

Flutter was never the problem

One codebase let me ship 16 apps on two stores as a solo dev
No regrets there
Every problem below is a business problem, not a tech one

What didn't work

Counting installs instead of buyers

I chased downloads for years
Most of mine came from Android and from India
Those users are real, and I like building for them
But in my apps, one new iOS user is worth about 12 new Android users

It's not just me
RevenueCat's State of Subscription Apps 2026 puts median 14 day revenue per install at $0.38 in North America and $0.08 in India and Southeast Asia (RevenueCat)

Shipping wide instead of deep

16 apps means 16 paywalls, 16 store listings and 16 sets of reviews to answer
Most of mine got one launch and then nothing
Eight of them make close to zero

Trusting ads to fill the gap

I added interstitial and rewarded ads to pay for free users
They loaded fine, then they were shown about once in every 50 loads

So almost all my ad money came from small banners
And most of my ad traffic came from India, where my eCPM was about $0.16
In the US it was about $12.39

Ads don't pay when they don't show, and when they do show, they pay by where your users live

A paywall that loses buyers at the very last step

In XLSheetAI, 1,109 people saw the paywall in 30 days
275 tapped buy
About 26 finished

Roughly 5 out of every 6 of those purchase starts were cancelled on Apple's or Google's own payment sheet
These people wanted it enough to tap the button
Then something on that last screen changed their mind
I'm writing that funnel up in detail next

Flying blind for a while

In PushPass, the PostHog key came from --dart-define only
From v1.2.2 on, builds went out without it, String.fromEnvironment returned an empty string, and the SDK quietly switched itself off
Every analytics event after that was lost

Now release builds fall back to a bundled .env and shout when a key is missing:

import 'package:flutter/foundation.dart';
import 'package:flutter_dotenv/flutter_dotenv.dart';

const _fromDefine = String.fromEnvironment('POSTHOG_KEY');

String posthogKey() {
  final key = _fromDefine.isNotEmpty
      ? _fromDefine
      : (dotenv.env['POSTHOG_KEY'] ?? '');
  if (key.isEmpty) debugPrint('POSTHOG_KEY MISSING: analytics is OFF');
  return key;
}

If you take one thing from this post, take that
You can't fix a funnel you can't see

What I'm changing next

  • iOS first, new features and new apps ship on iOS first, and Android follows once the iOS version earns
  • Tier 1 markets, listings, screenshots and tests aimed at the US, UK and Europe, instead of wherever installs happen to come from
  • Fix the one paywall that matters, XLSheetAI gets a free trial on the yearly plan, a clearer price on the paywall itself and a cheaper intro offer, before I touch any other app
  • Freeze the tail, Fitess, Forma, Repvolve, JSON View, NailMirror, Focuson, SparkMate and Habitide stay live, but get bug fixes only

Number 4 is the hard one
Each of those apps was a weekend I was proud of
But 16 half-loved apps lost to one app that people actually need

Quick answers

Should Flutter devs skip Android?

No
Android still brought most of my users and some of my revenue
One codebase means it costs almost nothing extra
I just stop building for it first

Are ads worth it in a small Flutter app?

Only if full-screen ads actually show, and only if your users live in markets that pay
Check the show rate in AdMob, not just the match rate

Why freeze apps instead of deleting them?

Live apps still pick up a few installs and cost me almost nothing to keep
Freezing stops the time drain without throwing anything away

What would you do differently from day one?

Put events on the paywall before launch: paywall view, purchase start, purchase cancelled, purchase success
Launch on iOS
Build one app deep before starting a second

The takeaway

100,000 downloads didn't make me a business
One app with a real job, users in markets that pay and a paywall that doesn't scare people at the last step might

Next goal: $500 MRR, mostly from iOS
I'll post the honest numbers again when I get there, or when I don't

The events I track in week one, and the ones I ignore, are all in one doc

Related doc · 🔒 ProTrack What MattersFirebase, PostHog and RevenueCat joined into one funnel, so you know where people drop off.