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