A modern, free and ad-free keto diet tracker available for Web, Android, Desktop and Linux.
KetoTrack helps users monitor their ketogenic lifestyle with macro tracking, fasting timers, exercise logging, recipes, analytics and progress history — all stored locally for maximum privacy.
The application is built with React, TypeScript and Vite and supports:
- 🌐 Web / PWA
- 🤖 Android (Capacitor)
- 🖥️ Windows Desktop (Electron)
- 🐧 Linux AppImage
- 🍎 macOS DMG
- Daily macro overview
- Ketosis status tracking
- 7-day trend charts
- Day ratings and progress summaries
- Food logging
- Barcode scanner support
- Net carb calculation
- Recipe quick-add support
- Daily calorie tracking
- Live fasting timer
- Presets for:
- 16:8
- 18:6
- 20:4
- 24h fasting
- Push notification on fasting completion
- Workout logging
- Exercise categories
- Calories burned tracking
- Weight history charts
- 7-day moving average
- Goal weight indicator
- Body fat calculation (US Navy method)
- Recipe database
- Favorites system
- Categories & tags
- Quick nutrition import
- Monthly keto overview
- Nutrition history
- Day-by-day summaries
- CSV export
- HTML reports
- Full JSON backup & restore
- Local-first data storage
- TDEE calculator
- Manual macro goals
- Profile management
- Language settings
- 🇩🇪 German
- 🇺🇸 English
| Layer | Technology |
|---|---|
| Frontend | React 18 + TypeScript |
| Routing | React Router DOM |
| State Management | Zustand |
| Styling | Tailwind CSS |
| Charts | Recharts |
| Mobile Runtime | Capacitor |
| Desktop Runtime | Electron |
| Build Tool | Vite |
| Icons | Lucide React |
| Date Utilities | date-fns |
keto-tracker/
├── src/
│ ├── components/ # Application components
│ ├── hooks/ # Custom React hooks
│ ├── notifications/ # Push notification handling
│ ├── store/ # Zustand application state
│ ├── types/ # TypeScript interfaces/types
│ ├── utils/ # Utility functions and calculations
│ └── main.tsx # Application entry point
│
├── public/ # Static assets
├── assets/ # App icons and branding assets
├── build/ # Electron build resources
│
├── electron.js # Electron main process
├── capacitor.config.ts # Capacitor configuration
├── vite.config.ts # Vite configuration
├── tailwind.config.js # Tailwind theme setup
└── package.json
- Node.js 18+
- npm
git clone https://github.com/timmasalme/KetoTracker.git
cd KetoTrackernpm install --legacy-peer-depsnpm run devApplication runs at:
http://localhost:5173
npm run electron:devnpm run buildnpm run electron:buildGenerated desktop builds:
- Windows NSIS installer
- Linux AppImage
- macOS DMG
npm run cap:add:androidnpm run cap:syncnpm run cap:open:androidRequirements:
- Android Studio
- JDK 17
- Android SDK
| Script | Description |
|---|---|
npm run dev |
Start Vite development server |
npm run build |
Create production web build |
npm run preview |
Preview production build locally |
npm run electron:dev |
Run Electron in development mode |
npm run electron:build |
Create desktop builds |
npm run cap:add:android |
Add Android platform |
npm run cap:add:ios |
Add iOS platform |
npm run cap:sync |
Sync Capacitor project |
npm run cap:open:android |
Open Android Studio |
KetoTrack is designed as a local-first application.
- No ads
- No analytics tracking
- No forced cloud account
- Local storage persistence
- Full export/import support
Contributions are welcome.
Please read:
CONTRIBUTING.mdCODE_OF_CONDUCT.mdSECURITY.md
before submitting pull requests.
MIT License © Tim El Masalme