← Back to home

RepGraph

Fitness tracking as a contribution graph.

RepGraph is a mobile-first PWA for logging lifting, habits, nutrition, body metrics, progress photos, and reminders as daily commits. It makes physical work feel visible in the same way a GitHub graph makes software momentum visible.

Habit commits Workout logging Progress photos PWA reminders
RepGraph mobile demo showing stats, contribution graph, and today's habit check-in list.
Local demo mode shows the full graph and check-in loop. The public deployment opens with magic-link auth.
Core bet

Health tracking feels better when it records effort instead of only outcomes. A commit graph turns workouts, protein, steps, recovery, and body work into visible accumulated proof.

Mobile-first

The app is designed for quick phone check-ins: tap habits, save a workout, add body metrics, upload progress photos, and move on.

Auth-backed PWA

Production uses Supabase auth, Postgres, storage, row-level security, installable PWA files, and push reminder endpoints.

Daily loop

Small commits, logged before they disappear.

01

Check in

Mark the daily habits that actually happened.

02

Log lift

Use saved templates for sets, reps, weight, and RIR.

03

Track body

Record protein, calories, steps, weight, waist, and notes.

04

Compare

Use progress photos and the ghost overlay for body changes.

05

Remind

Install the PWA and use push reminders for the boring parts.

Product shape

One graph for training consistency, not another dashboard to babysit.

Contribution graph groups effort by Workout, Nutrition, Body, and Recovery. Default habits seed the first useful logging loop. Workout templates keep heavy input from slowing down the check-in. Progress photos can use a local ghost overlay route. Push reminders are explicit PWA infrastructure, not a fake notification UI.
Local demo mode

Without Supabase environment variables, the app falls back to a local demo state with seeded habits and history. That makes the full UI easy to inspect.

Progress photos

The `/progress-photo` route uses browser camera APIs and IndexedDB so a reference photo can sit over the live camera as an alignment guide.

iPhone install path

iOS push is handled as a real Home Screen PWA requirement: install first, open the installed app, then request notification permission from a user action.