Offline-first fitness tracker. Track every set, build consistency, document the work. Most apps track what you do. This one helps you become who you're meant to be—while you still can.
npm install # Install dependencies
npm start # Start development serverFirst-time setup: See CONTRIBUTING.md for environment configuration (~15-20 min)
Choose the right document for your need:
| Document | When to Read | Purpose |
|---|---|---|
| PRD.md | Understanding product vision | Product requirements and vision |
| ROADMAP.md | Understanding MVP phases | Strategic timeline and milestones |
| TASKS.md | Planning next tasks | Kanban board and task tracking |
| BACKLOG.md | Exploring future features | Post-MVP features and enhancements |
| CHANGELOG.md | Reviewing completed work | Completed milestones and releases |
| ARCHITECTURE.md | Understanding code structure | Project structure and organization |
| DATABASE.md | Working with database | Database schema and operations |
| TECHNICAL.md | Understanding tech decisions | Technical decisions and ADRs |
| TESTING.md | Understanding test strategy | Testing strategy and practices |
| DEVOPS_PIPELINE.md | Setting up CI/CD | DevOps pipeline and deployment |
| CONTRIBUTING.md | Setup & daily development | Developer setup and workflow |
| CODE_OF_CONDUCT.md | Community guidelines | Code of conduct for contributors |
| TROUBLESHOOTING.md | When something breaks | Debugging guide and fixes |
Current Production Stack (Development Build):
| Category | Technology |
|---|---|
| Framework | Expo SDK |
| Language | TypeScript |
| UI Library | React Native |
| Styling | NativeWind |
| UI Components | React Native Reusables |
| Icons | React Native Vector Icons |
| Database | WatermelonDB |
| Storage | MMKV |
| State Management | Zustand |
| Backend | Supabase |
| Charts | Victory Native |
| Lists | FlashList |
| Images | expo-image |
| Navigation | Expo Router |
| Error Monitoring | Sentry |
| Build | EAS Build |
| Testing | Jest + RNTL + Maestro |
| Linting | ESLint + Prettier |
"Your body remembers every choice. Make sure the story it tells is worth living."
