← BACK
THE SOCIAL POWERLIFTING APP
Full-stack social fitness platform · React 19 · Supabase · Cloudflare R2 · Vercel
OVERVIEW VIDEO
~3 minute walkthrough of the app
ABOUT
A full-stack social fitness platform built from scratch for powerlifters — log training sessions, track PRs, compete on leaderboards, and follow each other's progress. Every feature was designed around how powerlifters actually train.
TECH STACK
| Layer | Technology |
|---|---|
| Frontend | React 19, TypeScript, Vite, Tailwind CSS v4 |
| UI Components | shadcn/ui, Radix UI, Lucide React |
| Charts | Recharts |
| Backend / DB | Supabase (PostgreSQL 17, Auth, Storage, Edge Functions) |
| Media Storage | Cloudflare R2 |
| Deployment | Vercel |
FEATURES
- Workout Logging — Log lifts by type (Squat, Bench, Deadlift, etc.), track sets with weight, reps & RPE, tag set types, attach photos/videos, log bodyweight.
- Progress Tracking — Automatic PR detection with celebration animations, 1RM estimation, per-lift progress charts, volume over time, calendar view.
- Powerlifting Meets — Record competition attempts, attach media per lift, countdown to upcoming meets, meet celebration on completion.
- Social — Follow/unfollow lifters, like and comment on workouts, activity feed, public/private accounts, user search, in-app notifications.
- Leaderboard — Global rankings by lift based on best 1RM or meet results.
- Settings — Weight unit preference (lbs/kg) with automatic conversion throughout, profile customization.
MEDIA STORAGE
Photos and videos are stored in Cloudflare R2. Uploads go through a Supabase Edge Function that returns a short-lived presigned URL — the client uploads directly to R2 without routing through Supabase Storage. Deletes follow the same pattern via a second Edge Function.