2
1 Comment

Week 1: 10-person waitlist, 50+ achievements, and I still can’t log a set in 5 seconds (yet)

I have 10 people on the waitlist for my gym tracker, and I spent way too long this week arguing with my own UI about what “5-second set logging” actually means.

I’m Sathish — data engineer by day, indie hacker by night. I’m on Builder Day 30, Week 1 of building Gym Tracker, a React Native / Expo app backed by Supabase. The promise is simple: log a set in ~5 seconds. I’m building this because I lift consistently, but I hate fiddly logging apps that turn a workout into admin work.

I’m “vibe coding” with Cursor + Claude AI. It’s been equal parts magic and chaos: I ship faster, but I also create new bugs faster.

This week’s update

What I built

This week I got the core workout tracking working end-to-end:

  • Create a workout
  • Add exercises
  • Log sets (weight, reps)
  • Basic history view
  • PR celebrations (tiny confetti moment when you beat your previous best)

Then I started building the current feature: an achievement system with 50+ unlockable milestones (e.g., first workout, first PR, 10 workouts, etc.). This is partly for motivation, but honestly it’s also a retention experiment: if I can’t win on “more features,” maybe I can win on “more momentum.”

  • Supabase schema feels “good enough” for now. I kept it simple: users → workouts → exercises → sets. I’m resisting over-normalizing.
  • Cursor + Claude helped me move fast on repetitive stuff (types, CRUD screens, basic validation). When I’m tired after work, having an assistant that can generate a decent first draft is the difference between shipping and doomscrolling.
  • The PR celebration is small, but it made the app feel alive. It’s the first feature that made me think: “Okay, I’d actually use this.”

The painful part: my “5-second logging” flow is not 5 seconds yet.

I kept adding tiny bits of friction:

  • choosing an exercise
  • selecting previous weight vs typing a new one
  • dealing with “last set” defaults

Individually each decision feels minor. Together it becomes: tap-tap-think-tap… and suddenly it’s 15–20 seconds.

I also got distracted building achievements because it’s fun. But fun isn’t the goal. The goal is a stupidly fast logging loop.

One more honest struggle: I’m splitting focus because my other project (PMHNP) crossed 7,556 active jobs and 1,368 companies hiring, but it’s still $0 revenue. Candidates come, but converting employers is hard B2B work. That context matters because it affects how much energy I can give Gym Tracker each night.

📊 This Week’s Numbers (Gym Tracker):
• Waitlist: 10 (+? this week — I didn’t track the starting number, which is on me)
• Product status: pre-launch / waitlist
• Features shipped: core tracking + PR celebrations; achievement system in progress (50+ milestones defined)
• Platforms: React Native (Expo) + Supabase
• Time spent: ~10–12 hours (late nights)
• Revenue: $0

(And for my other project, for accountability: PMHNP has 7,556 active jobs, 1,368 companies hiring, revenue still $0.)

Distribution beats features — nobody cares about your product until they care about you first.

I felt this hard. I can build a slick achievement system, but it doesn’t matter if I’m not talking to lifters and coaches every day.

Two practical things I’m doing next:

  1. Define “5 seconds” as a measurable spec (not a vibe). Example: from opening the app to saving a set should be ≤ 5 seconds for a repeat exercise, using defaults.
  2. Use Claude for outreach: I had Claude draft a cold DM sequence for personal trainers, then asked it to critique the message from the trainer’s POV. That second step was more valuable than the first — it pointed out where I sounded generic and self-centered.

Next week I’m focusing on:

  • A “repeat last workout” flow (so logging is mostly tap-to-confirm)
  • Smarter defaults (last weight/reps prefilled)
  • 5-second logging benchmark tests (I’ll literally time myself)
  • Talking to 10 lifters (not just collecting waitlist emails) to learn what they currently hate about tracking

If you’ve built a consumer habit app: what worked better for early retention — gamification (achievements) or removing friction (faster core loop)?

on January 23, 2026
  1. 1

    honestly this sounds like a good retention strategy and I think you shouldn't worry about the initial friction of logging, if you manage to make it 10-15 secs that's still great and I think gymrats would prefer being asked all the questions so their workout is properly tracked.

Trending on Indie Hackers
30 days ago I posted here with $0 revenue. Here's what actually happened next. User Avatar 138 comments I used $30,983 of AI tokens last month in Claude code on $200/mo plan User Avatar 90 comments my reddit post got 600K+ views. here's exactly what i did User Avatar 54 comments How to spot high-intent customers in 5 minutes, for free. User Avatar 43 comments I Built a Habit Tracker SaaS Alone in 6 Weeks (No CS Degree, No Team). Here's Exactly How User Avatar 37 comments I turned someone’s tweet into an app idea and it has made ~$3000 so far in 4 months. User Avatar 37 comments