Problem
Professionalize the relationship between trainer and students without creating a burdensome experience, centralizing information previously scattered across conversations and manual processes.
Web / App
Team Horse turns coaching scattered across WhatsApp conversations into an owned experience for organizing students, workouts, progress, and relationships.
A mobile app and admin dashboard built for personal trainer Felipe to organize his client base, create workouts, and track student progress.
A fitness coaching platform with workouts, assessments, progress tracking, social features, and AI-generated plans.
Executive summary
Problem
Professionalize the relationship between trainer and students without creating a burdensome experience, centralizing information previously scattered across conversations and manual processes.
Solution
I built an Expo/React Native app connected to Supabase and a Next.js dashboard, with student management, an exercise library, workout routines, physical assessments, a social feed, and personalized workout generation with Claude.
Image gallery
Team Horse is a platform built for personal trainer Felipe to organize his client base and offer students a more professional coaching experience.
The project started from a routine common among independent professionals: workouts, guidance, adjustments, and follow-ups concentrated in WhatsApp conversations. This works at a small scale, but makes it difficult to preserve history, track individual progress, and quickly understand which students need attention.
Team Horse brings that operation into an owned product, starting with existing students while creating a foundation that can also help Felipe acquire new clients.
The product combines a mobile app for students and the trainer with a web-based administration dashboard.
Implemented functionality includes:
One of the product’s central experiences lets users generate a personalized workout plan with Claude Opus 4.7.
The AI considers information such as goals, experience, weight, preferences, and physical-assessment history. Photo submission is optional and provides complementary context; images support the assessment without replacing information explicitly provided by the user.
The flow combines a conversational assistant with structured output, producing a plan that can be saved in the same data model used for trainer-created workouts. Every user begins with one free assessment credit.
A Stripe integration for purchasing additional credits and Cloudflare R2 media infrastructure have been prepared in the code, but neither is configured as an active service yet.
The app uses Expo 56, React Native, TypeScript, and React Navigation. Supabase centralizes authentication, PostgreSQL, storage, Row Level Security policies, and Edge Functions.
The Next.js 16 admin dashboard lets the trainer manage students, exercises, media, and workout routines from a computer. This separation keeps the student experience centered on mobile while denser management tasks can happen on the web.
The product prioritizes lightweight tracking. Students can complete exercises and workouts without maintaining an excessively detailed diary, while still having space for notes, loads, assessments, and progress when that information is useful.
Team Horse is approximately 95% complete, but it has not launched and has no real users yet. Its main surfaces and functionality are implemented; the next steps are external configuration, validation with the trainer, a student pilot, and preparation for publication.
Even before launch, the project represents a complete system connecting a mobile product, web operations, fitness and health data, social content, and AI applied to workout creation.
Stack
Tags
Next projects to explore