Skip to content
Neal Gysemans
All projects
2026Live & in use

PhysiqueAtlas

A coaching platform for contest prep — so a coach stops running the most precise sport in fitness out of WhatsApp and a spreadsheet.

Role
Sole developer — schema, RLS, Edge Functions, web app, mobile app, billing
Stack
  • React 19
  • Supabase
  • Postgres
  • Expo
  • Stripe
  • TypeScript
PhysiqueAtlas coach dashboard with active coachees, needs-attention flags and a roster performance table
Screenshots show the real software. Any names, plans or workout history in them are locally seeded demo data, never real customer data.

Status

Live. Registration is open in free trial / demo mode at physiqueatlas.com.

Decisions

Assigned plans are deep copies, not references

When a coach assigns a training or nutrition template, PhysiqueAtlas deep-copies it into independent tables instead of pointing at the template with a foreign key.

Postgres RLS is the only authorization layer

Row-level security policies decide who sees what. The app has zero coach_id filters of its own.

Store releases ended lockstep deploys

Store releases end lockstep deploys for good. Schema changes now follow expand-then-contract migrations and RPC overloads, with a server-checked minimum-version gate before store submission.

What it cost

  • Deep copies: data duplication; editing a template means reassigning it.
  • RLS only: testing has to run against real Postgres roles, and a policy mistake risks a data leak rather than a 500.
  • No lockstep deploys: every schema removal becomes a two-step release cycle.
Coachee overview with workouts and meals logged this week, active plans, body weight and adherence
Coachee overview: active plans, body weight and weekly adherence in one view.
An assigned 8-week strength plan with a default schedule and week-by-week tabs
An assigned training plan: a default schedule that individual weeks can override.
Message thread between a coach and a coachee
Coach-to-coachee messaging inside the platform.