[ Case study · 04 ]

ProgressPal

A cross-platform fitness app built solo, born out of a personal 30kg transformation. Now in public beta on TestFlight.

Sector
Consumer fitness
Role
Solo: design, build & ship
Timeline
2025 — ongoing
Status
Public TestFlight beta

The problem

04 / 06

Generic trackers are abandoned in January because they ask for effort before they give anything back. Having lost 30kg myself, I wanted the opposite: an app that shows progress on day one and stays simple enough to open on a bad day.

The decisions

  1. 01

    One React Native codebase, both platforms

    WhyA solo builder maintaining two native codebases ships half as often, and the core loop is identical on iOS and Android.

    ResultEvery feature lands on both platforms at once, from one pull request.

  2. 02

    Progress photos and streaks before analytics

    WhyThe thing that keeps people logging is seeing change, not reading a chart. Motivation is the retention feature.

    ResultThe first session ends with something visible on screen, not an empty dashboard.

  3. 03

    Supabase for auth, data and storage

    WhyRow-level security and file storage out of the box meant no backend to run while the product was still finding its shape.

    ResultPer-user data isolation enforced in the database, not in app code.

What shipped

Outcome
  • Shipped to a public TestFlight beta with real users training on it
  • Core loop complete: workout logging, progress photos, consistency streaks with reminders, and trend analytics
  • One codebase serving both platforms, maintained solo

Discuss a product MVP

Tell me what you are building and where it is stuck. I will reply within one business day with an honest view on fit, likely scope, timing and a realistic starting range.