How I built a $30K/month mobile app
By Starter Story
Key Concepts
- Mumigo: A bus and train tracking app developed by John Makavoy.
- App Store Optimization (ASO): A strategy to improve an app's visibility in app store search results.
- Subscription-based monetization: Revenue generated through recurring payments for premium app features.
- A/B Testing: A method of comparing two versions of a webpage or app to determine which one performs better.
- Event-based analytics: Tracking user interactions and events within an app to understand user behavior.
- Machine Learning (ML): Used in Mumigo for predictive route analysis and delay notifications.
- Laravel PHP: The backend framework used for Mumigo.
- Adobe Creative Suite: Used for app graphics and UI design.
- Lottie: Used for animations within the app.
- Appfigures: Used for ASO research.
- RevenueCat: Used for subscription management.
- Mixpanel: Used for event analytics.
- Cloudflare: Used for geographic load balancing.
- ChatGPT: Used for various tasks, including coding assistance.
Mumigo: A Solo Developer's Journey to 5 Million Downloads
This summary details the journey of John Makavoy, a self-taught developer from Scotland, who built the bus and train tracking app "Mumigo." The app has achieved over 5 million downloads and generates approximately $30,000 in monthly recurring revenue, primarily through subscriptions.
App Overview and Monetization
- App Name: Mumigo
- Functionality: Provides real-time bus and train tracking across over 160 cities.
- Downloads: Over 5.2 million as of the transcript.
- Monthly Active Users: Approximately 400,000.
- Ratings: Around 75,000.
- Revenue Model: Primarily subscription-based, with options for weekly, annual, and lifetime plans.
- Monthly Recurring Revenue (MRR): Around $30,000.
Genesis of the Idea
John's inspiration for Mumigo stemmed from a personal problem: wanting to know the location of his bus in real-time to avoid waiting in inclement weather. He observed the convenience of ride-sharing apps like Uber, which showed taxi locations on a map, and desired a similar experience for public transport. This aligns with the advice that "any idea you have has to be something that you a problem that you yourself have."
Development Journey
- Background: John began his career in graphic design and developed a curiosity for coding, teaching himself JavaScript, backend systems, and databases.
- Initial Build: The first versions of Mumigo were built using Xamarin (which uses C#/.NET), leveraging his prior web development experience. This was a challenging process due to the different paradigms of mobile app development compared to web development.
- Rebuild: Recognizing the limitations and the evolving tech landscape, John rebuilt the app in native Swift for iOS and then utilized Flutter for its speed and suitability for map-based interfaces, completing this rebuild in two to three months.
App Store Optimization (ASO) Strategy: The $0 Growth Engine
John attributes a significant portion of Mumigo's success to a free and effective App Store Optimization (ASO) strategy. This involves making the app discoverable when users search for relevant terms.
Three-Step ASO Playbook:
-
Location-Specific Keyword Integration:
- Research: Identifying specific terminology used in different cities (e.g., "MTA subway" in New York, "CTA L train" in Chicago).
- Implementation: Incorporating these keywords into the app's title, subtitle, and keyword list.
- Localization: Updating screenshots to be location-specific for each region, enhancing relevance.
- Cross-Localization Benefit: Keywords added to one localization (e.g., Mexican Spanish) are also indexed for other app store regions (e.g., US English) with the same weight.
-
High-Impact Keyword Discovery:
- Method 1 (Paid): Using Apple Search Ads to test keywords and identify those that convert.
- Method 2 (Free): Utilizing the app store's search bar by typing the first few characters of potential keywords. Observing the auto-suggested lists reveals what users are actively searching for.
- Strategy: Targeting highly specific, niche keywords that may not have massive popularity but can lead to high rankings (top five) due to less competition.
-
Encouraging Ratings and Reviews:
- Goal: Achieving top rankings for targeted keywords requires consistent incoming ratings.
- "Golden Moments": Identifying opportune moments within the app to prompt users for ratings. An example is when a user sees a live bus or train moving on the map, a moment of perceived value and satisfaction.
- Impact: Consistent positive ratings help the app rise organically in search results.
Growth and Monetization Pivot
- Early Stage (First 2 Years): Monetization through banner ads, generating around $8,000 per month.
- Pandemic Impact: Ad revenue disappeared due to the global pandemic.
- Pivot to Subscriptions (August 2020): Rebuilding the app with a focus on premium features and subscription models. This strategy successfully replaced the lost ad revenue over the following year.
- Accelerated Growth (2021):
- A/B Testing: Implementing A/B tests for different paywalls and onboarding flows.
- Conversion Rate Improvement: Through approximately 10 experiments over two to three months, John increased the conversion rate from 0.5% to 8%.
- Revenue Surge: This optimization led to a significant increase in MRR from $8K to over $30,000.
App Demo and Key Features
John provided a demo showcasing:
- Onboarding: A streamlined, short onboarding process designed for users at bus stops, prioritizing location permission and highlighting key app benefits.
- Social Proof: Displaying "Join millions, saving time" to build trust.
- Paywall Options: Presenting weekly, annual (with a 7-day free trial), and lifetime plans.
- Reverse Trial: A key unlock where users who initially close the paywall are automatically granted a 7-day free trial of pro features, reducing friction.
- Pro Features: Demonstrating advanced functionalities like live vehicle tracking on the map.
- Trip Assist: A feature utilizing machine learning on the server to monitor the user's journey, predict delays, missed connections, and offer alternative routes via notifications.
Technology Stack and Costs
- Backend: Laravel PHP.
- Frontend/UI: Adobe Creative Suite for graphics, Lottie for animations.
- ASO Research: Appfigures.
- Subscription Management: RevenueCat.
- Analytics: Mixpanel (event-based analytics).
- Infrastructure: Cloudflare for geographic load balancing.
- AI Assistance: ChatGPT ($20/month).
- Total Monthly Costs:
- Servers: ~$2,500 (for ~20 dedicated servers).
- Third-party APIs (e.g., mapping): ~$1,000.
- Total estimated infrastructure and API costs: ~$3,500 per month.
Advice for Aspiring App Developers (2025)
John offers two key pieces of advice:
- Solve Your Own Problem: Build an app that addresses a problem you personally face. This intrinsic motivation is crucial for overcoming the inevitable challenges and long hours involved in solo development.
- Embrace Event-Based Analytics: Move beyond vanity metrics like monthly active users. Utilize event-based analytics (like Mixpanel) to conduct A/B tests on critical elements like paywalls. Trusting data from these analytics provides a deeper understanding of customer behavior and preferences, driving effective growth.
Conclusion
John Makavoy's story highlights the power of identifying a personal problem, self-teaching technical skills, and employing a strategic, low-cost growth method like ASO. His journey from graphic designer to successful solo app developer, generating significant revenue with Mumigo, underscores the potential for individuals to build impactful businesses with dedication and smart execution. The pivot to subscriptions and the optimization through A/B testing were critical for scaling the business to its current success.
Chat with this Video
AI-PoweredHi! I can answer questions about this video "How I built a $30K/month mobile app". What would you like to know?