Connected coaching platform
6-Pack Macros
Training, nutrition and coaching in one connected loop.
A client app, a coach dashboard and an admin layer, all built around the same coaching loop: clients log, coaches guide, and the business runs in one place.
- My role
- Full stack engineering
- Product
- Client app · Coach dashboard · Admin
- Links
- Private client project
Overview
The product
6-Pack Macros brings daily training and nutrition tracking, one-to-one coaching, real-time messaging and calls, education, payments and platform analytics into a single product.
Challenge
What had to change
Coaching falls apart when workouts, meals, progress, conversations, leads and subscriptions sit in separate tools. Coaches lose the full picture of each client, and clients lose momentum.
Response
The system built
One shared loop: what clients log feeds what coaches review and assign, and admins see how the whole platform is doing, so every step informs the next.
Product capabilities
What the product needed to do.
Train
Routines and workouts with exercises, sets, reps, timers, personal records and history.
Nourish
Macro targets, meal logging, food search, barcode lookup, AI meal scans and meal plans.
Connect
Messaging with files, check-ins, push notifications, and audio and video calls.
Coach
Each client's context in one place, program libraries, assignments, progress reviews and AI-drafted plans.
Grow
Leads, credits, subscriptions, coaching packages, coupons, events and courses.
Operate
Admin analytics on growth, engagement, adoption, revenue and platform health.
Technology
The stack behind the experience.
Apps
- React Native
- Next.js
- React
- TypeScript
API and data
- Node.js
- Express.js
- Prisma
- MySQL
- Redis
- BullMQ
AI and real-time
- OpenAI
- Pinecone
- Socket.IO
- LiveKit
Business and operations
- Stripe Connect
- AWS S3
- Firebase
- Sentry
- Docker
My part
What I built.
Full stack work across the TypeScript Express API and the Next.js coach dashboard: payments, real-time messaging and calls, AI-assisted planning, background jobs and permissions.
Engineering notes
- Stripe webhooks run through a dispatcher with one handler per event type, an idempotency record per event, and a per-event choice between retrying and acknowledging failures.
- Coaches sell their own packages to clients through Stripe Connect, alongside a SaaS subscription for the coach.
- Socket.IO events are authenticated at connection and validated per event; calls run on LiveKit.
- BullMQ queues on Redis and scheduled jobs handle activity processing, monthly limit resets and clean-up outside the request path.
- Workout search uses embeddings in Pinecone; AI plans are generated through OpenAI from structured prompts.
- Media uploads stream to S3 and are processed with ffmpeg and sharp before clients see them.
Delivered system
What shipped.
- Client app for daily training and nutrition
- Coach workspace for programs, check-ins and messaging
- Admin analytics across the whole platform
- AI, real-time and payment services behind all three
More work