NutriTrace is a self-hosted nutrition + wellness tracker, alternative to MyFitnessPal / Cronometer / LoseIt. Runs entirely on your own server: no telemetry, no analytics, no account hosted by anyone but you. First public release was 26 April 2026; currently at v1.0.0-rc.42.
Repo (AGPL-3.0) · Release notes + APK · CHANGELOG
What’s new in this release
- AI Meal Photos. Attach a meal photo and Trace returns an editable FDA-style Nutrition Facts card. Save as Quick Calories (one-off) or as a reusable Food entry in your library. Estimates cover the full ~30-nutrient profile, not just the headline macros.
- LiftTrace workout sync. The sister weightlifting app can now push completed workouts to NutriTrace via the federation API. Sessions appear in Workout History alongside Fitbit / Garmin / Health Connect, and feed the dynamic calorie goal.
- Smart Log Voice Input Language picker. Pick the mic language independently of device locale (useful if your device is set to English but you speak another language at meals).
- API Tokens panel is now open to single-user installs (was multi-user + env-gated before).
- Wizard celebration screen on onboarding completion.
Fixes worth calling out
- Local Open Food Facts mirror search returning empty results despite the backend finding real hits (DuckDB Node v1.x VARCHAR shape regression).
- Tapping a reminder notification on Android no longer just dismisses without opening the app.
- Env-locked AI deployments now actually run Trace’s tools instead of silently dropping every tool call (this one was invisible: the model would reply in plain text instead of using your real data).
App overview (for anyone new)
- Diary: calories, ~30 macros / micros, water, body stats, meal photos, per-day notes
- Food sources: your own foods, Open Food Facts (with optional local DuckDB mirror for offline / air-gap), USDA, Mealie cookbook federation
- Saved meals + recipes, copy / move / clone across meal slots and dates
- Wellness sync: Fitbit, Garmin, Withings, Google Health (Health Connect on Android)
- Calorie goals: fixed, dynamic (target = base + daily burn), or adaptive TDEE
- Intermittent fasting tracker with schedules and reminders
- Optional Trace AI Assistant: multi-provider (Claude / OpenAI / Gemini / any OpenAI-compatible endpoint), BYO key, off by default, browser calls the provider directly so the server never sees your key
- Multi-user with invites, per-user admin, optional OIDC SSO (Authentik / Pocket-ID / Authelia tested)
- Android app (Capacitor 8): offline-first SQLite + sync, biometric sign-in, native Health Connect, native barcode scanner
- Backup: full server ZIP + per-user JSON export / import. Nothing leaves your server.
Deployment
services:
nutritrace:
image: ghcr.io/traceapps/nutritrace:latest
ports: ["3000:3000"]
volumes: ["./data:/data"]
environment:
- JWT_SECRET=<long-random-string>
Full docker-compose + env reference in DEPLOY.md. Signed Android APK attached to every GitHub release; in-place upgrades work.



Why so many downvotes. Looks like a decent project. Am I missing something?
Thanks for asking. Reception of this app has actually been positive overall since my first post here, with upvotes well ahead of downvotes.
Last week I posted about my newer app LiftTrace, which I also build with AI assistance. Once folks realized AI was part of how I work, “AI slop” became the read on that post and the downvotes came fast. I assume some of this week’s downvotes here are coming from the same crowd reacting to a familiar name, which is fair. Everyone is entitled to their opinon and I respect that.
I’ve never hidden the AI involvement, and from what I can tell on the NutriTrace GitHub page real users are getting value out of it: stars are steadily climbing and issues and enhancement requests are coming in. I’ll keep posting these updates because I think the apps are genuinely useful, I use them every day myself, and I wouldn’t share them if I didn’t believe they could help someone with their own health or fitness journey.
Happy to answer any other questions folks have.
Meh. Reminds me a bit of the kerflufel when SystemD came out and largely replaced the V init system that came before. A whole bunch of religious adjacent arguments, at high volume with not much intelligence or understanding. It’ll pass.
All I need to know is does it solve a problem I have, does it work, is it stable, and is it secure.
Only warning I’ll give is that you should probably not get too used to your off site LLM models (Claude, GPT or whatever you’re using). Pricing seems unsustainable and the hype makes it feel like a bubble similar to the dot com bubble.
Might want to devote some time to trying to bring your LLM usage in-house. There is no telling who will survive the crash and it’s not always the “best” one.