Ga naar hoofdinhoud
Neal Gysemans
Alle projecten
2026Gebouwd — interne infrastructuur & nog niet publiek

MacroTrack

Een AI-maaltijdtracker rond één idee — je zegt wat je gegeten hebt en je bent klaar. Spraak of vrije tekst, geen zoekveld, geen porties schatten.

Rol
Solo-ontwikkelaar — schema, Edge Functions, app, iOS-indiening
Stack
  • React 19
  • Vite
  • Tailwind 4
  • Supabase
  • Capacitor
  • Gemini
Vandaag-scherm van MacroTrack met nog 705 calorieën over van een doel van 2.400 kcal, eiwitten, koolhydraten en vetten tegenover hun eigen doelen, en de gelogde maaltijden van de dag eronder
Screenshots tonen de echte software. Namen, plannen of trainingshistoriek erin zijn lokaal ingeladen demogegevens, nooit echte klantgegevens.

Status

Nog niet publiek. Gebouwd als webapp en voor iOS verpakt met Capacitor, vanuit één codebase. Gratis, met een plafond van vijf AI-logs per dag.

Beslissingen

Maaltijden worden op de server geparst

Maaltijden worden in Supabase Edge Functions met Gemini geparst, zodat de sleutels van de provider nooit in de clientbundel terechtkomen.

Eerst meten, dan pas beweren

De parse-latency op de server is 1.155 ms mediaan en ongeveer 1.690 ms op p95, en de kost varieert 3,2× met het aantal items in een maaltijd. Er is geen gemeten end-to-end-cijfer, dus de copy belooft geen “vijf seconden”.

Spraak en vrije tekst boven barcodes

Het scannen van barcodes op verpakte voeding is geschrapt, zodat het product zich op spraak en vrije tekst kon richten.

Wat het kostte

  • Parsing op de server: een extra netwerkstap bij elke log, plus Edge Functions om te deployen en te beheren.
  • Gemeten claims: rustigere marketingteksten.
  • Barcodes geschrapt: werkende code verwijderd, en een repositorynaam die nog iets anders zegt.
Het logscherm met een keuze voor het type maaltijd, een tekstveld met "two scrambled eggs on sourdough toast with butter, and a flat white", een microfoon om het in te spreken, en een melding dat de tekst naar Google Vertex AI gaat
Een maaltijd loggen in je eigen woorden, getypt of ingesproken.
Het toestemmingsscherm vóór elke AI-log: wat er naar Google gaat, dat spraak in de cloud uitgeschreven wordt, dat naam, e-mail en account-ID niet meegestuurd worden, en dat je je toestemming kunt intrekken terwijl manueel loggen blijft werken
Het toestemmingsscherm vóór de eerste AI-log.
De manuele route: zoek een voedingsmiddel, of log snel een naam met gram, calorieën en macro's die je zelf intypt
De manuele route, die ook zonder AI-toestemming blijft werken.