MindMuscle
Coach-led mental performance training platform with a domain-plugin architecture
Request Beta Access
We'll send you an invite to test MindMuscle.
Request sent!
You'll hear back soon.
Description
Mental performance coaches work with individual athletes and teams to maximize their potential by tapping into the mental aspects of performance. MindMuscle is an app allowing coaches to work with individuals to strengthen their motivation and confidence, control their focus and intensity levels, and moderate their emotions. Designed, architected, and developed from concept to delivery for a high school football team in Connecticut.
Visual Demo
Key Technical Decisions
Domain-plugin architecture
The entire content taxonomy — terminology, categories, methods, metadata schemas, rating dimensions — is swappable via a single config file. Adding 'nutrition' or 'academic tutoring' requires zero changes to core infrastructure.
Session store intentionally non-persisted
Sessions are always freshly computed from assignment start date and current date. A 7-day program cycles automatically (dayIndex = daysSinceStart % allDays.length). Athletes never run out of content, and stale state is impossible.
Dual Firebase SDK
Native @react-native-firebase/auth for device-quality auth UX (Google Sign-In), web firebase/firestore SDK for simpler query patterns. The split gives the best of both ecosystems.
Custom Zustand merge function
Demo data always re-seeds on hydration even after persistence, ensuring a functional zero-backend demo. The merge filters user-created content from demo IDs and re-injects demo programs and assignments.
Architecture
React Native app → Firebase Auth + Firestore → Zustand (local state) → Domain Plugin Registry
Tech Stack
By the Numbers
13 pre-built mental training drills grounded in sport psychology research
3 pre-built periodized programs
10+ Maestro E2E flows across 3 groupings (smoke, athlete, coach)
Domain-plugin architecture supporting unlimited training domains
Full offline support via Firestore persistence + demo mode