3
9 Comments

What 6 weeks of shipping FitForge in public actually looked like

I shipped FitForge — a fitness tracking app that adapts workouts and
macros to your training day. Free forever tier, $9/mo Pro. Solo dev.
Six weeks from idea to launch. Here is what those six weeks actually
looked like.
The first thing I built was the daily-view screen. Not the auth flow,
not the marketing pages, not even the workouts table. The thing a
real person would open first thing in the morning. That choice set
the tone for the rest of the project: every decision got filtered
through "would I want to look at this on a Monday?" Anything that
wasn't a yes got cut. About a third of what I planned never shipped.
The thing that almost killed the launch was the auto-deload algorithm.
When a user stalls on a lift for three weeks, the app is supposed to
drop the weight 10% automatically so they can break through the
plateau. Sounds simple. Took me six days of edge cases — stalls
during deload weeks, body-weight variations, travel weeks where gym
access was inconsistent. The first working version was less clever
than I planned, but it shipped.
I made the free tier the whole product. That's the bet. Most apps
in this category lock the useful features behind $9/mo. FitForge has
50 workouts, 30 meal days, macro tracking that rotates by training
day, and CSV export all free. Anyone who needs more can pay. Anyone
who doesn't can stay forever. This terrified me for the first month.
Turns out it was the right call — every person who's stuck around
for more than a week mentions the free tier when they email.
What I'd do differently: less copy in the launch screenshots, more
screenshot variety, less time on Product Hunt screenshot prep. The
screenshots I have aren't bad, but a one-day session would have made
them a lot better, and I spent a week.
Where I am now: ~0 active users. Learning in public. The blog got four
posts up this week. IndieHackers cross-posts are landing on warmer
threads than I expected. The free-tier message is what hooks people
— every startup advice I've gotten in the last month has been some
version of "have you tried letting people use the product?" Yes.
It works.
If you want to peek at the build, it's at fitforgehq.com. No email
required for the free tier.

on August 5, 2026
  1. 1

    The retention problem may be smaller than “build native push notifications.”

    Before adding a native app, I’d test whether making the next workout explicit changes the return rate.

    After someone logs a session, ask one question:

    “When do you plan to train next?”

    Then offer either an add-to-calendar action or a single email reminder. You could measure:

    how many users choose a next date
    how many return within 24 hours of that date
    whether they log workouts in a second and third week
    how often they ignore or reschedule the reminder

    That separates “I forgot FitForge existed” from “I consciously decided not to continue.”

    If users who make a commitment still do not return, reminders probably are not the main problem. If they do return, you have evidence for investing in a stronger notification layer later.

    I’d also postpone the leaderboard until there is enough user density. For the first users, progress against their own previous week may feel more alive than an empty social feature.

    Would you consider testing a next-workout commitment before building any native notification infrastructure?

  2. 1

    Building the daily view screen first instead of auth is the right call and most solo devs do the opposite because auth feels like real progress and the daily view feels like something you can procrastinate on. The free tier fear you mentioned is the part I relate to most, it is strange how making the product more generous feels riskier in the moment than making it stingier, even when the numbers say otherwise. Curious what the six day auto deload algorithm looked like before you cut it down, that sounds like the part that actually taught you the edge cases.

    1. 1

      Glad the free-tier-as-the-product thing tracks for you too —
      I think more solo founders feel that anxiety than talk about it.
      For the auto-deload algorithm, here's what I cut:
      The first version had 4 states:
      • On track (no action)
      • Watch list (1 stall week — reduce volume 10%)
      • Deload (2 stall weeks — reduce weight 10%)
      • Plateau (3+ stall weeks — full reset)
      What I cut:
      • Watch list. It sounded good but created "limbo" weeks — users
      saw -10% volume applied but didn't know why, then bounced.
      • Plateau detection required a 3-week window but most users
      hadn't logged 3 weeks of data yet, so it never fired.
      The shipped version: 2 states only.
      • On track (no action)
      • Deload (trigger: 2 consecutive sessions at <target reps)
      The deletion of "watch list" was the lesson. Adding states
      felt like progress, but fewer states shipped faster and
      confused fewer users. The "less but shipped" pattern
      won.
      What's your project? Sounds like you've felt this build-vs-burnout
      thing too.

  3. 1

    The free-tier feedback is interesting, especially alongside the ~0 active users.

    Of the people who were initially pulled in by “the whole product is free,” have you seen where they tend to stop using FitForge, or is that part of the behavior still mostly invisible to you?

    1. 1

      Great question. Mostly invisible to me right now.
      What I do have is a small sample (~3 people who emailed or commented
      during the launch week), and the pattern is roughly: they signed up,
      hit the onboarding flow, logged 2-4 workouts, then stopped. Of those,
      one told me directly: "I forgot I had it open in another tab." That's
      a session-streak problem, not a feature problem.
      The friend group + leaderboard I built was supposed to fix exactly that
      — but the chicken-and-egg of social features is you need other humans
      to make it work, and 0 users means no leaderboard feels dead.
      I don't have enough data to know whether the issue is:
      - Onboarding friction that I can measure once I add session analytics,
      - Habit-loop failure that the streak feature wasn't strong enough to fix,
      - A discoverability problem (people find FitForge but don't think of
      it when they go to log a workout).
      My current bet is the third one. If I could wave a wand I'd add
      periodic push reminders on the day they normally train, but as a solo
      founder I'm not building native apps yet.
      Honest answer: I don't know yet, and "I'm building in public" is mostly
      "this is what I'm trying next, here's what happens."

      1. 1

        That’s helpful context. I appreciate the honesty around what you’ve observed versus what you’re still trying to understand.

        I’d like to continue the conversation outside the thread. What’s the best email to reach you on?

        1. 1

          Happy to continue the conversation outside the thread.
          Best email: [email protected]
          Always open to talking about retention math, free-tier
          behavior, or anything else shipping-related. Thanks
          for pushing on the hardest part of the post.

          1. 1

            Thanks! I’ve just sent it over.

            Looking forward to hearing your thoughts whenever you have a chance.

  4. 1

    Quick tech-stack note for anyone curious: Next.js 15 (App Router),
    Supabase, Stripe, Vercel, Sentry. Boring by design. Boring ships fast.

Trending on Indie Hackers
I built a startup-idea scanner. It just told me none of my 3,400 ideas are easy wins. User Avatar 79 comments “I’ll just post on Upwork” is not a client strategy. Here’s what I built instead. User Avatar 61 comments I Just Discovered My Analytics Numbers Are Mostly Fake. Here Is Why. User Avatar 42 comments Building a Shopify bundles app for stores with real fulfillment: here's the wedge User Avatar 42 comments I recorded myself using 200+ indie SaaS products cold. Here are the 7 conversion killers that keep showing up. User Avatar 38 comments The Capture Trap User Avatar 33 comments