A modular, high-performance nutrition tracking platform built with SolidJS, strong typing, and clean architecture principles.
Click on the thumbnails to open/close each image individually — this way you don't have to scroll the page to see the content.
Macroflows is a nutrition tracking system focused on strong typing, reactive UI, and modular domain-driven design. It follows clean architecture principles and integrates with modern backend and frontend tools.
For now, it is focused on being a personal project to track my own nutrition, but maybe in the future it will be a SaaS product.
- Macro tracking (carbs, protein, fat)
- Real-time calorie and macro calculations
- Personalized macro profiles (g/kg)
- Daily progress visualization with charts
- Body fat estimation (U.S. Navy method)
- Weight logging with trend visualization
- EAN barcode scanning
- Searchable food database
- User recent searches, favorites, and history
- Custom recipe builder with automatic macro calculation
- Meal planning and reusable templates
- Responsive design
- Fine-grained real-time updates (SolidJS signals)
- Simple, fast navigation optimized for daily use
src/
└── modules/
├── diet/ # Diet tracking module
│ ├── application/ # Use cases and business logic
│ ├── domain/ # Core domain entities and types
│ ├── infrastructure/ # Data sources (API, DB)
│ └── ui/ # UI components specific to diet module
├── body/ # Body data module
│ ├── ... # Similar structure as diet module
├── clipboard/ # Clipboard management module
│ ├── ... # Similar structure as diet module
└── ... # Other modules (auth, recipes, food search, etc.)
- Frontend: SolidJS, TypeScript, TailwindCSS
- Backend: Supabase (PostgreSQL, Realtime)
- Note: for simplicity, the backend is tightly coupled with the frontend in this project.
- Validation & Charts: Zod, ApexCharts
- Dev Tools: ESLint, Prettier, html5-qrcode
- Node.js 20+
- Supabase account
Environment Variables: Copy
.env.exampleto.env.localand fill in the required values. This file lists all environment variables needed to run the project. Do not commit secrets to version control.
git clone https://github.com/marcuscastelo/macroflows.git
cd macroflows
npm install
cp .env.example .env.local # Add your Supabase credentials
npm run dev- OpenTelemetry integration
- PWA support
- ML-based food recognition
- Social features (sharing, collaboration)
MIT — see LICENSE for details.



