# I built a free AI nutrition tracker as a solo dev — here's what I learned

> Source: <https://dev.to/ikoft1/i-built-a-free-ai-nutrition-tracker-as-a-solo-dev-heres-what-i-learned-1c29>
> Published: 2026-06-18 06:24:09+00:00

What I built

goNutriTrack is a free multilingual PWA nutrition tracker. The idea was simple: make meal logging so fast that people actually stick with it.

You can log meals by:

📸 Photo — Claude Vision identifies ingredients automatically

🎤 Voice — say "200g chicken and rice", AI parses it

📷 Barcode scan — OpenFoodFacts database

🔍 Text search — OpenFoodFacts + USDA

Plus: AI Coach, workout tracking, weight tracking, water tracking, PDF export. Works in 5 languages (Greek, English, German, French, Spanish).

The stack

Frontend: React + Vite PWA

Backend: Cloudflare Workers (proxy for Anthropic API)

Database: Supabase

AI: Anthropic Claude (Vision + Haiku for voice parsing)

Hosting: Cloudflare Pages

No server, no Docker, no DevOps. Everything serverless.

Technical challenges

- iOS PWA white screen
The hardest bug. When users add the app to Home Screen on iOS, sometimes it opens to a blank white page. The fix was switching the Service Worker navigation handler from network-first to cache-first (stale-while-revalidate), so iOS always has something to show immediately.
- Offline queue
Supabase calls fail when offline. I built a localStorage queue that stores pending inserts/deletes and syncs automatically when the connection returns — without the user noticing anything.
- Vite + PWA build pipeline
The Service Worker cache name needs to change on every deploy to force updates. I wrote a Vite plugin that patches the SW file during config() (not buildStart) to avoid race conditions with vite-plugin-pwa.
- AI meal recognition accuracy
Claude Vision is good but not perfect. The solution was making every recognized item editable before saving — users can adjust portions and correct names. This turned a potential frustration into a feature.
What I learned
Ship early. I spent weeks polishing before showing anyone. The first real users found issues in 10 minutes that I had missed for months.
PWA on iOS is still painful. Safe area insets, white screens, push notifications not working — Apple makes this hard on purpose.
Solo means every decision is yours. That's both the best and worst part.
What's next
Looking for honest feedback — especially on the AI logging accuracy and anything that feels broken.
Try it free: gonutritrack.com
