My App Hit $1,000 MRR Today, Five Months After the First Commit

First commit February 11. App Store launch March 8. $1,000.04 MRR on July 12. Every milestone on the way, with the real numbers — including the five flat weeks after I turned the ads off, when I wondered if I needed a new idea.

By ·

Line-art illustration of a winding path up a mountain with milestone flags at each switchback, starting from a smartphone at the base and ending at a summit flag

This morning GainFrame's MRR ticked over $1,000 — $1,000.04, which feels appropriately ridiculous. The first commit was February 11, five months and a day ago. I have a full-time job and a baby at home, and this is my second app after my first one flopped and disappeared from the App Store.

I've written posts about individual pieces of this — the ads that didn't work, the trial conversion fix, the SEO run — but I've never laid the whole revenue timeline out in one place. So here it is, milestone by milestone: first dollar, $100, $250, $500, $750, $1,000, with what I was shipping and what I was thinking at each one. All the revenue numbers are public on RevenueCat's verified page if you want to check any of this.

Line chart of weekly MRR from February 8 to July 12, 2026, rising from zero at the App Store launch on March 8 through milestones at 100, 250, 500, and 750 dollars, flattening after ads were turned off in mid-May, then reaching 1,000 dollars on July 12
The whole thing in one chart: launch March 8, ads off mid-May, $1,000.04 on July 12.

The Idea Sat in My Head for a Year. The Build Took 12 Days.

The idea — an app that looks at your gym progress photos and tells you what's changing — bounced around in my head for about a year before I wrote any code. What finally made me build it was the lesson from the first app's failure: get feedback from real users early and often, and let it drive development. I'd built app number one in a vacuum and nobody came.

So this time the build was a sprint. 737 commits between February 11 and February 23, when v1.0.0 went to TestFlight. Before the public launch I recruited beta testers from Reddit, mostly the Hevy community — and here I got lucky with a tactic I'd recommend to anyone: I didn't promote the app. I posted my own progress-photo screenshots in fitness subreddits, and people asked what app made them. Over 100 testers came in that way, and roughly 25 of them were genuinely active — bug reports, feature requests, opinions on everything. Two weeks of that shaped the launch version more than the previous year of thinking about it. Someone later interviewed me about that beta process if you want the longer version.


Launch Day: $250 in Subscriptions

GainFrame went live on the App Store on March 8 and did about $250 in subscription purchases on day one. Every one of those first buyers was someone I already knew from TestFlight — people I'd been trading messages with for two weeks. My first launch had been silence, so having support baked in from day one was one of the best feelings of this whole run. It also set the MRR clock at a humble $47.75 for the first week, since yearly subscriptions normalize down when you spread them across twelve months.


$100, $250, $500: Three Weeks Each

For the first two months growth was almost mechanical. $100 MRR the week of March 29. $250 the week of April 19. $500 the week of May 10. Three weeks per milestone, like clockwork.

Horizontal bar chart showing weeks between MRR milestones: three weeks each from launch to 100, 100 to 250, 250 to 500, and 750 to 1,000 dollars, and six weeks from 500 to 750 dollars during the plateau after ads were turned off
Every milestone took three weeks except one. The six-week gap is the story.

Each window had its own obsession. Around $100 it was the paywall — I redesigned it to put the free trial on the yearly plan only, and started the habit of reading my analytics before building anything new. Around $250 it was content: I published a batch of about 35 SEO posts in the last week of April, which is the seed of the organic traffic that later grew 15x and of ChatGPT becoming my single biggest referral source at 31% of users.

Around $500 it was the AI Coach, which shipped as v2.0 on May 2. That feature started the way most of my features do — as something I wanted for myself — and then I went down the rabbit hole of making it feel as polished as the big apps like Bevel or Whoop. I honestly can't tell you it was a data-driven decision. It was a builder-wants-to-build decision that happened to work out.

The uncomfortable part of this era: a chunk of that growth was paid. I'd read and listened to a lot of app marketing content, and the consensus seemed to be that paid ads are how you get to the next level, so I was comfortable throwing money at it to test it myself. I spent $5,674 across TikTok, Apple Search Ads, and Reddit, and the climbing MRR made it easy to believe it was working. It wasn't. I was paying about $114 to acquire customers worth $18, and the trial cohorts the ads brought in converted as low as 7.7%. I turned everything off in mid-May.


Five Flat Weeks

Then came the part of the chart I don't enjoy looking at. From May 17 to June 14, MRR went $605 → $685. Five weeks to gain $80, after months of gaining $80 a week.

I'll be honest about where my head was: I 100% thought I was done. There was a brief period where I wondered if I needed to go back to the drawing board and find a new idea. The ads were off, the growth was gone, and it was hard to tell how much of the first three months had been real.

What I did instead was buckle down on improving what already existed — 528 commits between May 17 and June 13, almost none of it new features. The most important work of that stretch was the least glamorous: fixing my analytics, which turned out to have logged 10 trial conversions in 120 days while RevenueCat had counted about 48. Once I could see who paid and why, the real problem was obvious.


The Problem Was the Trial

My trial-to-paid conversion was 20.7%, against a 39.9% industry median for Health & Fitness apps. I wrote the full breakdown of the fix last week, so the short version: I put two Pro features back behind the paywall that I'd accidentally made free, A/B tested a paywall that shows the yearly plan as $3.33/month instead of $39.99/year, put real previews of the three best Pro features into onboarding, and shipped a camera-roll import so trial users hit the paywall with months of visible progress instead of one photo.

Five weeks later the last four cohorts converted at a blended 44%, and MRR was moving again — $750 the week of June 21, and the final three weeks to $1,000 at the same pace as the good old days, this time with $0 of ad spend behind it. The honest caveat from that post carries over here: part of that conversion recovery is just that killing the ads returned my trial pool to high-intent organic users. I can't cleanly attribute the rest, and the cohorts are small.

July added fuel that had nothing to do with the app itself: 45 blog posts in the first eleven days, a $49 promo video a motion designer cold-DMed me into buying, and a TikTok sponsorship that spiked web traffic 15–20x for a day.


Things That Never Show Up in RevenueCat

A few things happened along the way that don't appear on any chart but changed how this feels.

Someone offered to invest in the app — more money than I would ever have imagined when I started. I passed, but the validation mattered more than the number. Hevy, my favorite workout app and the reason I found my first hundred testers, agreed to help sponsor one of my marketing experiments. Someone wrote an article about the launch. Copycats showed up, which is its own strange compliment.

And the one that took the longest: the people close to me are excited now. For most of these five months it was very hard being deeply invested in something the people around you don't fully understand. I know I was getting on everyone's nerves talking about it constantly. Somewhere between $600 and $1,000 — around the time there was tangible success to share — that flipped, and now they ask me how the app is doing before I bring it up.


The Caveats

The usual honesty section. $1,000.04 is a margin of four cents, on a week that isn't over — MRR can dip, and churn has ticked up slightly (4.76% weekly vs a 3.59% baseline) as bigger cohorts hit their first renewals, so I may be writing a "back under $1,000" correction next week. The July momentum is partly a traffic spike I paid for with a sponsorship, and the conversion recovery is partly an intent-mix reversal from killing ads, as covered above. And "five months" undersells the real cost: the idea gestated for a year, and the first app's failure was paid tuition. Someone starting truly from zero should probably read this as a two-year timeline that happened to have a five-month sprint at the end.


If You're on Your First App

The thing I'd want someone just starting to take from this: for a long time, nobody around you is going to fully get what you're building. That's normal, and it isn't a signal to stop. Keep asking those same people for feedback — they're often right about the details even when they don't share the vision — and keep working toward the goal until the results make the argument for you. Nobody needed me to explain GainFrame once the chart pointed up and to the right.

$1,000 a month is small money next to a salary. It covers the AI compute, the $49 promo videos, and the occasional dumb experiment, and it grew from $634 in late May to $1,000 today without a dollar of ads behind it. If the July cohorts hold I'll run one small, capped Apple Search Ads re-test in August, now that the funnel might finally be strong enough to pay for the click. Five months in, that feels like the right kind of problem to have.

If you're somewhere earlier on this same curve and staring at your own flat weeks, I'm happy to compare notes — and if you're into lifting, the app all of this is about is below.

Track your progress with GainFrame

Take or import a gym photo and get an AI body fat estimate, physique score, FFMI, and muscle breakdown, plus a Coach that explains what changed using your photos, weight, and workouts.

Download GainFrame Free

Related Articles