A full-featured fitness tracking application with workout logging, exercise library, goal setting, progress tracking, recovery monitoring, and an AI-powered coach.
- 873+ exercises from Free Exercise DB with images
- Categorized by muscle group (chest, back, shoulders, arms, legs, core)
- Detailed instructions, difficulty levels, and equipment requirements
- Create custom exercises
- Paginated browsing with search and filters
- Log workouts with multiple exercises and sets
- Set types: normal, warmup, dropset, failure, rest-pause
- RPE (Rate of Perceived Exertion) and RIR (Reps in Reserve) tracking
- Superset support
- Workout templates for quick session starts
- Rest timer with progress tracking
- 5 goal types: weight, strength, body measurement, workout frequency, custom
- Progress tracking with history and visual indicators
- Goal status management (active, paused, completed, abandoned)
- Body measurements tracking
- Progress photos with before/after comparison
- Personal records (PRs) detection and history
- Training analytics and volume/strength charts
- Daily recovery check-ins (sleep, stress, soreness, energy, nutrition, hydration)
- Training readiness score calculation
- Trend analysis across week, month, quarter, and year
- Check-in history and streak tracking
- Conversational AI fitness assistant powered by OpenRouter
- Context-aware suggested prompts based on your data
- Chat session history with persistence
- Workout plan generation, template reviews, and training recommendations
| Layer | Technology |
|---|---|
| Frontend | React 19, TanStack Start/Router/Query, Mantine UI |
| Backend | Hono, oRPC (type-safe RPC) |
| Database | Drizzle ORM, Cloudflare D1 (SQLite) |
| Auth | better-auth with cookie sessions |
| AI | TanStack AI, OpenRouter |
| Infrastructure | Cloudflare Workers, pnpm workspaces, Turborepo |
| Testing | Vitest (800+ tests) |
fit-ai/
├── apps/
│ ├── web/ # React frontend (TanStack Start + Vite)
│ └── server/ # Hono + oRPC API server (Cloudflare Workers)
├── packages/
│ ├── api/ # oRPC routers and business logic
│ ├── auth/ # Authentication (better-auth)
│ ├── db/ # Drizzle ORM schema and migrations
│ ├── env/ # Environment validation (@t3-oss/env)
│ └── infra/ # Cloudflare infrastructure (Alchemy)
├── docs/
│ └── images/ # Application screenshots
- Node.js 20+
- pnpm 10+
# Clone the repository
git clone https://github.com/enyelsequeira/fit-ai.git
cd fit-ai
# Install dependencies
pnpm install
# Set up environment variables
cp apps/server/.env.example apps/server/.env
cp apps/web/.env.example apps/web/.env# Push schema to local D1 database
pnpm db:push
# Seed exercises from Free Exercise DB (873+ exercises with images)
pnpm -F @fit-ai/db db:seed:free-exercise-db# Start all apps in development mode
pnpm dev
# Or start individually
pnpm dev:web # Frontend on http://localhost:3001
pnpm dev:server # API on http://localhost:3000# Run all tests
pnpm test
# Type checking
pnpm check-types
# Linting
pnpm check| Command | Description |
|---|---|
pnpm dev |
Start all apps in development mode |
pnpm build |
Build all applications |
pnpm test |
Run test suite |
pnpm check-types |
TypeScript type checking |
pnpm check |
Run Oxlint + Oxfmt |
pnpm db:push |
Push schema to database |
pnpm db:generate |
Generate migrations |
pnpm deploy |
Deploy to Cloudflare |
The API uses oRPC for type-safe endpoints with automatic OpenAPI spec generation.
Documentation: Available at /docs (Swagger UI) and /reference (Scalar) when running the server.
Key routers:
/rpc/exercise/*- Exercise CRUD and listing/rpc/workout/*- Workout logging and management/rpc/template/*- Workout template management/rpc/goals/*- Goal setting and tracking/rpc/recovery/*- Recovery check-ins/rpc/analytics/*- Training analytics/rpc/chatSession/*- AI chat session management
This project deploys to Cloudflare Workers using Alchemy:
# Login to Cloudflare (first time)
pnpm wrangler login
# Deploy
pnpm deploy
# Seed remote database
pnpm -F @fit-ai/db db:seed:free-exercise-db:remoteContributions are welcome! Please read the AGENTS.md file for coding guidelines.
MIT License - see LICENSE for details.
- Free Exercise DB for the exercise library (Public Domain)
- Better-T-Stack for the project scaffold
- Mantine for the UI component library










