Nutrition tracker 2026
Nourish
Tracks meals, nutrition targets, and weight progress; Laravel 13 agents estimate nutrients from meal photos.
Visit live site- Role
- Full-stack development
- Stack
- Next.js 16TypeScriptLaravel 13REST APILaravel AI SDKGoogle OAuth
What it does
Nourish gives people one place to record meals, set a weight goal, and compare each day's intake with their own nutrition targets. The home view combines saved meals with calories, macronutrients, and other nutrients; the calendar puts daily progress in context, while the profile records weight check-ins and trends. Targets can be edited as needs change, without rewriting earlier days.
For faster logging, a user can photograph a meal and receive an estimate for the whole dish, including serving size and nutrients. The result opens as an editable draft: the user checks the name and numbers before saving. Manual entry remains available when a photo or AI estimate is unsuitable.
How I built it
I built the mobile-first interface in Next.js 16 and TypeScript, with Home, Calendar, Camera, and Profile screens connected to a Laravel 13 REST API. Google sign-in uses Laravel sessions, and the API owns profiles, dated target versions, weight entries, meals, and daily summaries. Saved meal items keep the values the user confirmed; missing nutrient estimates stay unknown instead of becoming false zeros.
For photo logging, Laravel validates and re-encodes uploads before keeping them in private storage. AnalyzeMealPhoto runs in a queue and calls MealPhotoAgent through the Laravel AI SDK (laravel/ai) for structured dish and nutrient estimates. The frontend polls the analysis, then presents the response for correction and confirmation. The separate review step keeps an AI guess from silently becoming a logged meal.
Screenshots



