GTM Sauce

App Masters · 2026-01-24

How a Solo Founder Built a $30K/Month App with 5.2M Installs

Solo founder John McEvoy (Momego, transit app) restarts growth after a 2025 stall (MTA's own app, rivals bidding on his keywords) with three pillars: distribution (city-level Apple Search Ads with CPPs and a RevenueCat-joined ROAS report; a free live-times website ChatGPT cites), localization (per-country screenshot tests; purchasing-power pricing: +17% trial conversion, +23% revenue) and retention (short benefit-led onboarding, weekly plan, reverse trial lifting post-paywall conversion from 0.4% to 4.5%). Ends with two app audits.

Play the episode

22 tactics

Momego · B2C · live bus and train times app

Founder says it found profitable keywords; took a few months of testing

Skip high-popularity head terms (e.g. 'bus times') that VC-backed rivals bid on; instead bid on city-level variants ('Chicago bus times', 'New York bus times'). Drop keywords with no impressions and ones with competitive bids; keep the middle. Exact match only (broad match wasted money). 3-4 related keywords per ad group, each ad group with its own custom product page. Start at $0.50-0.60 cost per tap and raise until ~100% impression share while ads run. Took a few months to find the profitable set.

Workedapple-search-adsaso
App Masters · 2026-01-24

Momego · B2C · live bus and train times app

Founder says it raises tap-through and lowers cost per install; no numbers

For each ASA ad group (3-4 related keywords), create a custom product page that copies the standard 10 screenshots and swaps only the first, e.g. 'Live Bus Times' becomes 'Live Chicago Bus Times'. A screenshot template system keeps this fast.

Workedapple-search-adsaso
App Masters · 2026-01-24

Momego · B2C · live bus and train times app

Founder says it gives a full keyword list per country and city; no numbers

Use Switchr (small web app saved to the home screen) to change the phone's App Store region; browse the Navigation/Travel top lists for that country and note the public-transit keywords popular apps use; type a few characters into App Store search and collect autocomplete suggestions (most people tap a suggestion rather than typing the full query); check candidates in Astro; then load them into Search Ads to test.

Workedasoapple-search-ads
App Masters · 2026-01-24

Momego · B2C · live bus and train times app

Shows taps, trials and paid users per keyword without an MMP

Instead of an MMP (AppsFlyer/Adjust), a self-built job (written with ChatGPT/Codex) runs daily: pulls Apple Search Ads reports via the API and RevenueCat's daily bulk export (RevenueCat uploads to an S3 bucket; one line of code in the app passes ASA attribution to RevenueCat), joins them on IDs and keyword names, and reports per keyword: impressions, average cost per tap, taps -> trials -> paid. A keyword qualifies for scaling if $1 of spend returns at least $1.20 within 3 months (3 months chosen because of mixed weekly/annual plans).

Workedanalytics-attributionapple-search-ads
App Masters · 2026-01-24

Rewrote the App Store description (up to 4,000 characters) to include a Q&A section, because the App Store web listing is the most authoritative page about the app and chatbots readily lift Q&A text. Questions are written as users ask them, per city ('What's the best way to find my bus in Chicago?'), and differ by storefront (US: New York, Chicago, SF, LA; Canada: Toronto, Edmonton, Vancouver).

Unknownasoseo
App Masters · 2026-01-24

Momego · B2C · live bus and train times app

~1,200 ChatGPT lookups and 70-75 app downloads a day

Launched livebustimes.org (Sept 2025) giving away live bus/train times and route maps from the app's data. Hand-built plain HTML/CSS/JS (no frameworks) for speed and reliability, with invisible structured data on each page for search engines and chatbots. Submitted to Google Search Console and Bing (which ChatGPT search uses); a daily job regenerates the sitemap for millions of pages. Pages show ads for the app (seeing your bus on a map). Measured ChatGPT-User visits in Cloudflare's free analytics.

Workedseocontent
App Masters · 2026-01-24

Momego · B2C · live bus and train times app

Found local winners (widgets in Italy, reviews in the Netherlands); most tests failed

Through 2025, replaced ~25 near-identical translated screenshot sets with per-country versions: study each storefront's popular apps (via Switchr), copy elements, run each A/B test for 2 weeks to a month. Findings: Italy - widgets and live activities as the first screenshot; Netherlands - laurel wreath and testimonial; Germany - bigger text, shorter message; Japan - dense, information-packed screenshots with little white space.

Workedlocalizationaso
App Masters · 2026-01-24

Momego · B2C · live bus and train times app

Trial conversions +17% and revenue +23% in a 3-month 50/50 test

Used Subkeep (web app) to reset prices per country using its blended average index and sometimes the Spotify Index (Big Mac Index also available), rounded to clean numbers, pushed straight to App Store Connect. A/B test for 3 months: 50% of users in every country saw Apple's default prices, 50% the adjusted prices. US, Canada and UK prices unchanged.

Workedpricinglocalization
App Masters · 2026-01-24

Momego · B2C · live bus and train times app

Adds a few points of conversion, founder says; only works for two-digit prices

Set the price to $25.00 instead of $24.99 in App Store Connect and strip the '.00' in the app so it reads '$25'. Only for double-digit prices; single-digit ones like '$5' look odd, so the weekly stays $4.99.

Workedpaywallpricing
App Masters · 2026-01-24

Momego · B2C · live bus and train times app

Won after ~30 A/B tests; long question-heavy onboarding made people quit

Users install at a bus or train station, so onboarding must be short. After ~30 A/B tests, screens talk about benefits ('Get there on time, stress free', 'Never miss your stop again', 'Join millions saving time') with minimal cartoony UI, social proof (laurel wreath, numbers) on every screen, and a fifth screen that warms users up to the premium tier before the paywall. A long onboarding with many questions caused drop-off.

Workedonboardingexperimentation
App Masters · 2026-01-24

Momego · B2C · live bus and train times app

Trial start rate almost doubled in an A/B test; revenue up significantly

In August 2025, A/B tested annual/weekly/lifetime against the old annual/monthly/lifetime. Weekly ($4.99) is labeled 'Pay as you go, no commitment' and anchors the annual plan, which can then be shown as 90% off versus 52 weeks of weekly.

Workedpricingpaywall
App Masters · 2026-01-24

Momego · B2C · live bus and train times app

Paid conversion after closing the paywall rose from 0.4% to 4.5%

Anyone who dismisses the onboarding paywall still gets 7 days of premium (widgets, live activities, delay alerts). A post-onboarding flow lets them customize notifications and theme, and a Pro button (top right) offers video tutorials. Day 5: push 'you're on day five of your 7-day trial, tap to learn about the features'. Day 7: final push with a discount (on annual). Works because costs are mostly fixed servers; AI apps with per-user costs may prefer ads to cover free users.

Workedpaywallnotifications
App Masters · 2026-01-24

Momego · B2C · live bus and train times app

Founder says it makes a big difference; no numbers

A Pro button stays in the top-right of the home screen; it opens videos walking through the ~5-step widget install (home screen, plus button, search for the app, customize colors). Video beats written instructions.

Workedproduct-activationretention
App Masters · 2026-01-24

Momego · B2C · live bus and train times app

Founder says people love it; no numbers

Users can share their ETA/journey (e.g. a kid's bus to school with a parent) via a universal link. Recipients without the app see a website mirroring that feature, with an ad to download the app.

Workedproduct-virality
App Masters · 2026-01-24

Momego · B2C · live bus and train times app

Founder says reminders win some back; no numbers

A RevenueCat webhook notifies his server when a subscriber cancels; the server sends push notifications 5 days and 2 days before the subscription ends, showing features they would lose (including ones added during the year they may not know about).

Workedcancellation-flownotifications
App Masters · 2026-01-24

Momego · B2C · live bus and train times app

His most reliable method; keeps ratings coming in

Not during onboarding or first launch: show the rating prompt the moment a user taps a bus and sees it moving on the map for the first time.

Workedaso
App Masters · 2026-01-24

Momego · B2C · live bus and train times app

Founder says US rankings for those keywords rise; no numbers

Locales like Mexican Spanish and Vietnamese are also indexed in the US store. Keywords are not combined across locales ('bus' in one and 'times' in the other won't index as 'bus times'). When the US English title/subtitle are full, move a medium-popularity keyword from the 100-character keyword field into the title/subtitle of an unused locale (e.g. Vietnamese, where the app isn't translated) to boost its US ranking. Stop doing this once you actually target that country.

Workedasolocalization
App Masters · 2026-01-24

Momego · B2C · live bus and train times app

Founder says it stops people scrolling; no numbers

Purple icon and bright purple screenshots, chosen because transit-category listings are mostly white/blue backgrounds and green icons; the goal is to stop people scrolling for a second. Screenshots are checked on a real phone in the App Store.

Workedaso
App Masters · 2026-01-24

Momego · B2C · live bus and train times app

Growth really took off; ad income had fallen after pandemic CPMs crashed

After ~7 years ad-based (AdMob, ~$10K/month pre-pandemic, then CPMs crashed at the same impressions), moved to subscriptions in 2021; ads remain only to cover free users' costs.

Workedpricingad-monetization
App Masters · 2026-01-24

Momego · B2C · live bus and train times app

Founder tried it and believes it still works; no numbers

Use a promo campaign such as Indie App Santa / AppAdvice to get a burst of downloads, and show the rating prompt at the right moment, e.g. on the 2nd or 3rd use after the user completes a task, to collect genuine ratings.

Workedpr-launchaso
App Masters · 2026-01-24

An used clothing app · B2C · App Masters client

#1 for 90 popularity-5 keywords; $3-5K a month

Targeted long-tail phrases like 'buy old clothes' with popularity 5 (maybe 1-2 searches a month each) and reached #1 on 90 of them; a quantity game.

Workedaso
App Masters · 2026-01-24

A paid-upfront app · host's friend's app

Scaled from about $1K to $10K a month, the host says

A paid-upfront app scaled Apple Search Ads using niche, highly relevant keywords. Whether the $1K-$10K/month refers to spend or revenue is unclear.

Workedapple-search-ads
App Masters · 2026-01-24

Numbers mentioned

WhoMetricValueContextWhen
Momegocount300–400 cities
approximate
Cities covered worldwide4:19
MomegocpcUSD 0.5–0.6per tap
approximate
Starting Apple Search Ads cost-per-tap bid on a new keyword, then raised until ~100% impression share13:08
Momegoshare100%
goal
Target Apple Search Ads impression share per keyword while ads run14:37
Momegocount3–4 keywordsper ad group
approximate
Exact-match keywords per ASA ad group, each ad group with one custom product page19:04
Momegoroas1.2 x
goal
Minimum revenue per $1 of Apple Search Ads spend within 3 months for a keyword to count as profitable16:42
Momegocount1,200 ChatGPT searches/day
approximate
Requests from the ChatGPT-User agent to livebustimes.org, measured in Cloudflare analytics26:15
Momegodownloads70–75/day
approximate
App downloads attributed to livebustimes.org26:15
Momegocount25 store localizations
approximate
App Store localizations before 2025; mostly translated copies of the US English set28:02
Momegoconversion rate+17%Trial conversions, purchasing-power prices vs Apple default prices, 3-month 50/50 test in non-US/UK/Canada storefronts34:03
Momegorevenue+23%Revenue, purchasing-power prices vs Apple default prices, 3-month 50/50 test34:03
Momegoconversion ratea few percentage points
estimate
Paywall conversion from showing round prices ($25 instead of $24.99)33:07
Momegocount30 A/B tests/year
approximate
Onboarding/paywall experiments behind the current onboarding37:32
Momegotrial startsalmost doubled
approximate
Trial start rate after switching plans from annual/monthly/lifetime to annual/weekly/lifetime (A/B test from August 2025)39:39
MomegopriceUSD 4.99/weekWeekly plan, shown alongside $29 and $89 plans1:10:19
MomegopriceUSD 29Paywall price shown above the weekly plan; likely annual (fits the '90% off' framing vs weekly)1:10:23
MomegopriceUSD 89Paywall price shown below the weekly plan; likely lifetime1:10:23
Momegoconversion rate0.4%
approximate
Users who closed the first paywall -> paid subscriber, before the reverse trial43:13
Momegoconversion rate4.5%
approximate
Users who closed the first paywall -> paid purchase, after the reverse trial; read by host from on-screen chart44:13
MomegorevenueUSD 10K/month
approximate
AdMob ad revenue before the pandemic, when the app was ad-only; CPMs later crashed at the same impressions1:17:05
Momegocount20 dedicated servers
approximate
Mostly fixed infrastructure cost, which makes a free 7-day reverse trial cheap1:19:41
Momegocount12 languagesIn-app localizations; title, subtitle and keywords localized for these1:21:11
benchmarkRevenue per rewarded video ad view shown to free usersrevenueUSD 0.15–0.2per video ad view
estimate
1:20:03
benchmarkMinimum audience for in-app mini-game ad publishing to be worthwhileusers100K/month
estimate
Monthly active users1:18:22
benchmarkApple Search Ads cost per install for a paid-upfront app in the US that counts as winningcpiUSD 10
estimate
Upper bound: CPI below this is 'winning'1:01:47
App Masters client ranking for tiny used-clothes keywordscount90 keywords
approximate
Keywords with popularity 5 where the app ranked #154:46
App Masters client ranking for tiny used-clothes keywordsrevenueUSD 3,000–5,000/month
approximate
54:46