Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/piratta/gymApp/llms.txt

Use this file to discover all available pages before exploring further.

FocusFlow is a full-stack gym management platform built with React 18, TypeScript, Tailwind CSS 4, and Firebase. It provides a bidirectional real-time environment where coaches manage their athletes’ training programs, monitor progress, and handle day-to-day operations, while athletes log workouts, track body measurements, and communicate directly with their coach.

Quick Start

Set up FocusFlow locally and run your first session in minutes.

Configuration

Configure Firebase, Google OAuth, and environment variables.

Coach Guide

Manage athletes, build routines, review check-ins, and handle billing.

Athlete Guide

Log workouts, track progress, and communicate with your coach.

What FocusFlow Offers

FocusFlow is structured around two primary roles — Coach and Athlete — plus an Admin panel for platform management. Every feature is designed to work in real time with Firebase Firestore as the backing store, plus full offline support with automatic sync when connectivity resumes.

Routine Builder

Day-by-day workout programming with RPE/RIR intensity, set customization, and one-click template cloning.

Body Composition

Skinfold analysis using Jackson-Pollock 3/4/7-fold, Durnin-Womersley, and Yuhasz protocols.

Progress Analytics

Interactive charts for body weight trends, training volume, body measurements, and compliance rates.

Weekly Check-ins

Centralized review inbox with photo uploads, wellness scoring, and coach feedback.

Real-Time Chat

Bidirectional messaging with online presence, typing indicators, and read receipts.

Billing

Track subscription payments, flag pending/overdue plans, and generate income summaries.

Getting Started

1

Clone and install dependencies

Clone the repository and install npm packages to get the development environment running.
2

Configure Firebase and environment variables

Set up your Firebase project, copy .env.example to .env, and populate the required keys.
3

Seed initial data (optional)

Use the included seed data to pre-populate users, routines, and exercises for testing.
4

Log in as coach or athlete

Sign in with a seeded account or create a new user to explore the coach and athlete dashboards.

Architecture at a Glance

Architecture Overview

How the frontend, Firebase backend, and offline sync layer fit together.

Data Model

TypeScript interfaces for users, routines, workouts, reviews, and more.

Firebase Sync

Offline-first persistence, dirty-key tracking, and cloud reconciliation.

Reference

Full TypeScript type reference, utility functions, and formula documentation.

Build docs developers (and LLMs) love