2026
Food & Nutrition Tracker
A personal app to plan meals, log what you eat, and follow calories and macros against a goal calculated from your body and activity. It is also exported as a mobile app with Capacitor.

The challenge
Generic calorie apps treat a meal as a search result. They rarely connect a personal recipe, a week of planned meals, and what was actually eaten. Spreadsheets can do the math, but portions, units and days fall apart quickly. The hard part was keeping one source of truth. A food can be in grams, millilitres or pieces. A recipe total has to update when an ingredient changes. A daily log has to compare the plan with reality, in the Europe/Paris day, without mixing two users’ data.
My approach
Next.js 16 (App Router) and React 19 on the front, PostgreSQL and Prisma 7 for the data. NextAuth handles credentials and OAuth. Forms are validated with Zod and React Hook Form. Zustand caches foods, the meal plan and the daily log on the client. Charts use Recharts. The UI is Tailwind CSS with Radix components, including a bottom navigation on mobile. The same interface is also exported as a mobile application with Capacitor. Nutrition math stays in pure functions. Recipe totals are computed from each ingredient (per 100 g or 100 ml, or per piece) and stored on the recipe so lists stay fast. The goal calculator is the same function on the API and in the form: BMR, TDEE, calorie offset, then macros. “Today” and week boundaries use Europe/Paris, including on the server.
The result
A usable product for the daily nutrition loop: foods, recipes, week plan, daily log, goals and a 14-day dashboard. Changing a recipe updates its calories and macros. The weekly grid can be duplicated. The goal screen shows the calculated target next to what was eaten. It is a personal full-stack project, from the schema to the mobile layout, built to be used every day rather than as a landing-page demo. The web app is also exported as a mobile application with Capacitor.