← All projects

Repid

A workout tracker for lifters and personal trainers, designed, built and launched on the App Store.

Role
Product owner, UX/UI designer and technical director
Year
2026
Topics
Mobile app, AI & prototyping, Product design
30+downloads in 48 hrs
9.78%paid conversion rate after 7 days
~4 monthsFrom design to iOS approval

Tools

  • Figma
  • Claude Code
  • Xcode
  • Supabase
  • Cloudflare
Repid

I defined the product, made the product and architecture decisions, designed the experience, reviewed the implementation, tested the app and handled App Store Connect and release. Claude Code handled most of the implementation under my direction. Figma files are available to walk through in conversation.

Status: live on the App Store since 5 October 2026.

Tech: SwiftUI, StoreKit, Supabase and Sign in with Apple.

The challenge

Existing workout apps felt clunky and dated to me. Lifters lose their history when they switch apps, and personal trainers keep client sessions scattered across notes and chats. I wanted one app for both, with quick logging, separate history per person and trustworthy insights.

Repid live workout logging, workout summary and analytics

My approach

  • Start from the trainer’s real workflow. One trainer’s recurring question, “what did we do last time?”, shaped multi-profile support and weights prefilled from history. When a trainer needed to hand a client a full history, I built expiring share links and QR codes earlier than planned.
  • Test early, then cut what hurts. I used the app within days of the first code. When a theme switcher kept causing instability, I removed it and committed to dark-only instead of shipping something fragile.
  • Prototype first, then design. I prove feasibility with a working prototype, then invest in detailed design once the idea holds up.
  • Free core, optional plans. I studied public writing on onboarding and store pages, including Cal AI and Jake Castillo, to decide which questions to ask and how much friction helps. Pro and Coach are optional.
  • Architecture that serves the experience. The exercise library lives on the device so the app works offline, with a remote update path for corrections between App Store releases.

Repid workout overview, switching between profiles and analytics

Key challenges

Learning to ship reliably

Several submissions were rejected. Most were App Store Connect setup issues, such as a missing EULA link and the billed price not being most prominent. One was a blank screen on iPad, which I suspect the theme switcher caused. I fixed each and built a pre-submission checklist. The app was approved, as was a later update.

Trustworthy insights

While fixing squat muscle values, I found that exercise data across the 941-exercise library came largely from a few copy-pasted templates: squats credited glutes above quads, and leg extensions credited hamstrings. I defined a scoring model, applied corrections by script, and ran regression checks: roughly 200 exercises corrected and about 70 movement patterns retagged. Insights read the library at runtime, so past weeks recalculate automatically.

Secure, resilient AI import

People paste messy workout text from other apps and notes. An AI key inside the app would be exposed, so the model call runs on the server, requires sign-in and is rate-limited, while the app’s own parsers handle known formats first. After a retired model broke the feature, I added fallback models so it degrades instead of failing.

Repid exercise library, exercise detail and tools

Outcomes

Repid launched silently on 5 October 2026, with no paid marketing during the initial launch and further marketing planned. It reached 30+ downloads in the first 48 hours. That is an early launch signal, not proven product-market fit. A later update has been approved as well. More early signals from a small cohort, as reported by App Store Connect:

  • 27 first-time downloads, 7 redownloads and 111 product page views, a 30.5% product page conversion rate.
  • A 9.78% paid conversion rate after 7 days.
  • Four paid plans currently reported, and $128 in proceeds reported (separate figures).
  • Feedback is mostly positive, with early feature requests.