Skip to content
karim.semaan(open to work)
WorkExperienceAboutSkillsContactResume ↓
← All work
Gainz Trackerz preview
Generative AICompleted2025

Gainz Trackerz

GPT-4 nutrition + fitness tracker

Generative AI · PreviewGainz TrackerzGPT-4 nutrition + fitness tracker

Runs locally via Docker Compose; source on GitHub.

Gainz Trackerz is a full-stack fitness/nutrition app as a Turborepo monorepo: a Next.js 14 + TypeScript web client over a FastAPI gateway (async SQLAlchemy + Postgres + Redis, JWT) plus food, ml, and workout microservices in Docker Compose (with MinIO + pgAdmin). The genuinely AI part is an OpenAI GPT-4 pipeline in the gateway that parses natural-language meal descriptions into structured items, enriches them against USDA FoodData Central, Nutritionix, and Spoonacular, and falls back to a second GPT-4 estimate when sources disagree. (The photo/voice recognition endpoints are scaffolded stubs, not trained models.)

  • Next.js 14
  • TypeScript
  • FastAPI
  • Python
  • OpenAI GPT-4
  • PostgreSQL
  • Redis
  • Docker
  • Turborepo

Architecture · free-text meal → validated nutrition

  1. 01

    Natural-language meal input

    A free-text description (“two eggs and a slice of toast”) enters the FastAPI gateway.

  2. 02

    GPT-4 parsing

    OpenAI GPT-4 parses it into structured food items with quantities.

  3. 03

    Multi-source enrichment

    Each item is enriched against USDA FoodData Central, Nutritionix, and Spoonacular.

  4. 04

    Disagreement fallback

    When the sources disagree, a second GPT-4 estimate breaks the tie.

  5. 05

    Structured + tracked

    Validated items persist to Postgres and are tracked across the monorepo's services.

Services
3 + FastAPI gateway
Nutrition sources
USDA · Nutritionix · Spoonacular
AI
GPT-4 meal parsing
Dev stack
Turborepo · Docker (8 services)
View source↗
Want something like this? Get in touch →
© 2026 Karim SemaanBuilt with Next.js, Tailwind & Supabase.LinkedIn ↗GitHub ↗