I struggled with my weight for years. I tried the apps, the meal plans, the subscriptions. Most of them were too complicated, too generic, or hiding the useful parts behind a paywall. I wanted something structured, science-backed, no noise, no upsells. Something that actually worked for my life.
So I built it myself. And then I open-sourced it so anyone can use it, fork it, and make it better.
FitDad combines intermittent fasting tracking, structured meal planning, progressive resistance training, and daily habit logging into one mobile-first app. It runs entirely in the browser. Your data never leaves your device.
| Feature | Description |
|---|---|
| Fasting tracker | Real-time countdown with circular SVG ring. Fully customisable window with presets (16:8, 14:10, 18:6, 20:4) or your own hours. |
| Meal planning | 7-day meal plan with full macros. Edit any meal to match your own preferences. Sunday prep guide and interactive shopping list. |
| Workout programming | Upper/lower split, 4 sessions per week. Home gym alternatives for every exercise. Full edit support: add, remove, or swap exercises. |
| BMI calculator | Computed from your profile. Colour-coded category (underweight / healthy / overweight / obese). |
| TDEE + calorie target | Mifflin-St Jeor formula with your activity multiplier. Choose gradual, moderate, or aggressive deficit. Weeks-to-goal countdown. |
| Daily calorie tracking | Ticking a meal on the Home tab adds its kcal to a live progress bar against your daily target. |
| Habit log | One-tap checklist for fasting window, each meal, workout, and water. Streak counter. |
| Progress tracking | Weight and waist log with SVG trend chart. Mood, energy, and sleep journal. Progress photos stored locally. |
| Onboarding | 6-step setup wizard: name, stats, activity level, diet type, fasting window. App personalises from day one. |
| PWA | Install from mobile browser. Works offline. No app store needed. |
| Data ownership | Everything in localStorage. Export a full JSON backup and restore it on any device. |
- React 18 - functional components, hooks, context API
- Vite 5 - fast dev server, optimised production builds
- Lucide React - clean, consistent icon set
- vite-plugin-pwa - service worker, offline support, install prompt
- localStorage - all data stored client-side, zero backend
- Node.js 18 or higher
- npm 9 or higher
git clone https://github.com/iamedobor/fitdad.git
cd fitdad
npm install
npm run devOpen http://localhost:5173/fitdad/ in your browser.
npm run build
npm run previewThe repo ships with a GitHub Actions workflow at .github/workflows/deploy.yml. Every push to main automatically builds and deploys.
- Fork this repository
- Go to your fork's Settings > Pages
- Set source to GitHub Actions
- Push any change to
mainand the action handles the rest
Your app will be live at https://your-username.github.io/fitdad/.
Connect your fork and set:
- Build command:
npm run build - Output directory:
dist
Zero additional configuration required.
fitdad/
├── src/
│ ├── components/
│ │ ├── layout/ # Header, BottomNav
│ │ ├── onboarding/ # 6-step setup wizard
│ │ ├── settings/ # SettingsModal, MealEditor, WorkoutEditor
│ │ ├── tabs/ # Home, Fast, Meals, Train, Log, Track
│ │ ├── track/ # ProgressView, JournalView, PhotosView
│ │ └── ui/ # Card, SubNav, Toggle, ProgressBar
│ ├── context/ # AppContext - global state
│ ├── data/ # Default meals, workouts, shopping, prep steps
│ ├── hooks/ # useTick, useLocalStorage
│ └── utils/ # storage, fasting, tdee, image, exportImport, notifications
├── public/
│ └── icons/ # PWA app icons
├── .github/
│ ├── workflows/ # GitHub Pages deploy
│ └── ISSUE_TEMPLATE/ # Bug report, feature request
├── index.html
└── vite.config.js
- Fasting timer with customisable window
- 7-day meal plan with macro breakdown
- Upper/lower workout split with home alternatives
- Custom meal and exercise editor
- BMI calculator
- TDEE and daily calorie target
- Data export and import
- PWA - install on mobile, works offline
- Keto meal plan template
- Mediterranean meal plan template
- Barcode food scanner
- Step counter integration
- Dark/light theme toggle
- Translations (i18n)
- 5:2 and OMAD fasting protocols
Contributions are welcome and genuinely appreciated. Read CONTRIBUTING.md first.
The highest-impact areas right now:
- New meal plan templates - keto, Mediterranean, balanced (#1, #2)
- Accessibility improvements - keyboard nav, focus management, ARIA (#4)
- Light/dark theme toggle - CSS variable swap (#5)
MIT. Use it, fork it, build on it. See LICENSE.