From Beta to App Store: The Real Numbers Behind Launching My First RPG Habit Tracker

Habitual: The Grand Journey is officially live on the App Store. And right now, it has zero ratings, zero reviews, and zero revenue.

This is what a real indie app launch looks like.

This is what a real indie app launch looks like.

I’m sharing a candid look at building and launching Habitual: The Grand Journey with real numbers, challenges, key lessons, and choices I would make differently, to show what launching an indie app truly means.


The Idea

I’ve struggled with apps that are supposed to make you productive or track this and that. Every app I tried felt the same: a checklist that I’d use for three days, then forget about. The dopamine hit of checking a box just wasn’t enough to keep me coming back.

So I built Habitual, which is a habit tracker disguised as an RPG. Instead of just checking off “Drink water” and seeing a green circle, you earn distance on a map. You travel through biomes. You trigger random encounters for possible rewards, wandering merchants, and sacrifice altars. You collect rare loot and equip relics that give you passive buffs.

The premise is simple: if video games can get people to grind for hours, why can’t habits work the same way? And in case you haven’t guessed it, I love video games.


The Beta: 17 Strangers Trusted My App on Day 1

I opened the TestFlight beta in mid-May 2026 with no audience, no following, and no marketing budget.

My strategy was simple: post on Reddit and see what happens.

Here’s what actually worked:

  • r/buildinpublic: The indie dev community. I posted a short, honest update about opening the beta. This is a great channel for those of you who want to showcase your build process and updates.
  • r/gamification: A small but targeted subreddit of people who are actually interested in gamified apps. I gained some traction here with some of my posts and comments.
  • r/SoloDevelopment: I found a thread where a game developer was looking for playtesters and offered to swap feedback. That single comment led to several quality testers.

What didn’t work:

  • r/ADHD, r/productivity, r/GetDisciplined: These subreddits have strict no-promotion rules. Post there, and you’ll get permanently banned. So honestly, I didn’t bother posting there. I will when I get a chance, but I’d much rather wait till launch.
  • Threads: I explored this platform for beta recruitment. The algorithm buries new accounts. Not worth the time investment for a cold start. Plus, I absolutely hate social media. Reddit is the only thing I can somewhat tolerate.
  • Substack: I felt as if I was speaking into the wind. No real traction here. And this was the reason why I decided to build softDev23.com instead of posting more on Substack. I figured I could have one main hub for my business AND build an email list at the same time.

Day 1 result: 17 testers with $0 spent on ads.

I’ll give you some advice. The best thing I did was find some subreddits I liked and commented A LOT on other people’s posts. It got me a lot of upvotes, messages, and I’m sure the lion’s share of my beta testers came from my comments.

By the end of the beta period, I had about 55 total users who generated 534 events across 9 TestFlight builds.

Beta testers in App Store Connect.

What Beta Testers Actually Taught Me

The numbers don’t tell the full story. Here’s what I learned watching real people use my app:

  1. The RPG mechanics need to be earned, not explained. Early builds front-loaded the RPG features. Testers were confused by encounters, relics, and energy systems on day one. The fix was gating, letting users experience basic habit tracking first, then gradually introducing the game mechanics as rewards for consistency.
  2. Energy management is the whole game. Every habit costs energy from a daily 100-point pool. Run out, and you hit “Exhaustion,” losing 90% of the distance you can earn for the day. Testers who understood this strategic layer stuck around. Those who didn’t churn. This became the core mechanic I leaned into for App Store messaging.

The 12-Build Grind

During the beta, I shipped 12 builds (3 or so were for internal testing). Here’s a rough breakdown of what changed:

  • Builds 1–3: Core stability. Crashes on older iPhones, SwiftData sync issues with CloudKit.
  • Builds 4–6: UX overhauls. Redesigned the habit check-in interaction with a satisfying haptic long-press instead of a simple tap.
  • Builds 7–9: Economy balancing. Tuning encounter rates, relic drop chances, and the energy-to-distance ratio.
  • Builds 10–12: Launch prep. Paywall integration with RevenueCat, App Store screenshot polish, and final edge case fixes.

Every build taught me something. The hardest lesson? Your beta testers will find bugs you never imagined. Someone managed to trigger negative energy. Someone else found a way to hatch a Mystery Egg without maintaining the required 3-day streak. These edge cases only surface when real humans touch your code.


The Launch Prep Nobody Talks About

Building the app was the easy part. Getting it into the App Store was a full-time job in itself.

App Store Optimization (ASO)

I spent an entire day crafting the metadata:

  • Title: Habitual: Habit Tracker RPG (27 characters somewhat branded but searchable)
  • Subtitle: Cozy Gamified Streaks & Quests (keyword-rich, explains the value)
  • Keyword field: 97 characters of comma-separated terms, zero overlap with the title or subtitle. Every character matters when you only get 100.

I also learned that you cannot put competitor names in your keyword field. Apple’s Guideline 2.3.7 explicitly prohibits it, and rejections are actively enforced. You can bid on competitor names in Apple Search Ads, but that’s a separate system I may discuss in another post.

The EU Problem

This one blindsided me. As a developer living in Germany, I discovered that the EU’s Digital Services Act (DSA) requires Apple to publicly display my full legal name, physical home address, email address, and phone number on the App Store product page in any EU country.

For a solo developer working from home, that means my apartment address would be publicly visible online. I have a wife and a kid. So no way was I doing that in this day and age, even though I live in a safe country. My USA paranoia kicked in, and it was an instant no-go for me.

I made the hard decision to exclude all EU countries from the initial launch. It’s not permanent, though, because once I set up a registered business address, I can re-enable them. But for launch day, protecting my family’s personal safety took priority over market size.

I also excluded Russia, Mainland China, and Vietnam due to additional regulatory and licensing requirements.

Privacy as a Feature

Habitual is built 100% offline-first with SwiftData and CloudKit. No email sign-ups, no accounts, no third-party analytics tracking your behavior. Your data stays on your device and syncs only via your personal iCloud account.

This isn’t just an ethical choice; it’s also a selling point. The App Store page displays a “Data Not Linked to You” privacy badge, which premium users actively look for.


Launch Day: The Sound of Silence

On June 1, Apple approved Habitual version 1.0.1, and it went live.

Here are my day-1 numbers:

MetricNumber
App Store ratings0
App Store reviews0
New downloads (non-beta)0
Revenue$0
Active subscriptions0

This is completely normal for an indie app without a marketing engine. There’s no fairy tale here where somebody magically discovers your app on the App Store. The algorithm rewards apps that already have traction, which creates a chicken-and-egg problem for new developers.

What’s Next

  • Apple Search Ads: I have a $3–5/day micro-budget campaign blueprint ready with exact-match keywords across 4 campaign types (Brand, Category, Competitor, Discovery). This is my primary growth lever.
  • Newsletter: Consolidating my beta tester list into a unified softDev23 newsletter to announce the launch and upcoming projects.
  • Ratings: Asking beta testers to leave honest App Store reviews. Even 5–10 ratings can dramatically improve organic visibility.

What I’d Do Differently

  1. Start the email list earlier. Even though I started collecting emails at the beginning of the beta, I wish I had started earlier. If I could redo it, I’d use a MailerLite form when I conceived my idea.
  2. Record everything. I wish I had screen recordings of every major milestone, from the first tester installing to the first bug report to the first time someone discovered a relic. This content is gold for social media and blog posts, and it’s impossible to recreate after the fact. But honestly, I’m new to all this, and it’s completely overwhelming and time-consuming. Maybe as I get better, especially with time management.
  3. Don’t launch into silence. I should have had Apple Search Ads, the newsletter, and at least one social media post ready to go at the same time as the App Store approval. Instead, I’m scrambling to set up marketing infrastructure after the app is already live. Those first 48 hours of momentum matter.

The Real Takeaway

Launching an app is not a finish line. It’s the starting line.

The beta taught me how to build something people actually want to use. The launch taught me that building it isn’t enough because you have to actively put it in front of people. I mean, I already knew this, but I never experienced it until now.

Right now, Habitual has 0 total users, $0 in revenue, and zero ratings. But it also has a polished product, a clear monetization path, and a roadmap that includes a second app (Mana: Focus Evolved) that just cleared its biggest technical hurdle.

The grand journey is just getting started.


👉 Download Habitual on the App Store

👉 Follow my indie dev journey at softdev23.com

Leave a Reply

Your email address will not be published. Required fields are marked *