Climb the ranks
Every quest and challenge you finish pushes your level up.
Point your camera at a plate. Trace counts the calories and macros in seconds, then tells you straight: Superfood or Skip. Streaks, quests and levels make the habit stick.
Daily quests, weekly challenges, achievements and a rank that climbs from Bronze to Legendary. Miss a day? A streak freeze has your back.
Every quest and challenge you finish pushes your level up.
Log every day and watch the number grow.
Small wins, fresh every day. Go on, tick one.
Tap a quest. The XP bar is listening.
Five Superfood meals this week.
Badges for the milestones that matter.
Fasting, water, workouts and weight in one place, synced with the health app you already use.
Snap a meal and the AI returns calories, protein, carbs, fat and fiber in seconds. No barcode hunting, no weighing.
Multi-item plates. Rice, salmon and avocado in one shot? Each item is detected on its own.
Pick a window and let the ring do the counting.
Log water in a tap. It counts toward your quests.
Calorie burn estimated with MET values, not guesswork.
The line that matters, without the daily noise.
Two-way sync with your phone's health hub.
Your food log lives on your phone. Photos pass through a relay for analysis and are not kept. What you eat is your business.
Offline-first React Native. The phone owns the data, a thin edge worker talks to the vision model, and everything comes back as typed, structured data.
Expo and expo-router. The food log is stored in on-device SQLite through Drizzle ORM, so it works with no signal.
offline-firstA Cloudflare Worker receives the photo and proxies it to the model. The API key lives here, never in the app.
photo not retainedClaude Vision reads the plate, splits out each item and returns nutrition, a rating and a verdict.
structured output{ "meal": "Salmon poke bowl", "items": ["salmon", "rice", "avocado", "edamame"], "calories": 612, "protein": 38, "carbs": 64, "fat": 21, "fiber": 9, "rating": "superfood", "verdict": "Lean protein, good fats, real fiber." }
SQLite on the device is the source of truth. The network is only needed for the scan itself.
The Worker holds the model credentials. A decompiled app has nothing to leak.
TypeScript from the schema to the screen. Results land as structured data, not text to parse.
The stack
Trace is in the works for iOS and Android. Want to talk about it, or about building something like it?