
NutriTrace Review
A Svelte 5 + Node.js nutrition tracker shipped as a single Docker container with a PWA, Android app, barcode scanning, and an optional AI assistant.
Each review covers deployability, value versus commercial alternatives, and privacy model. Tools that can run locally were started and exercised; mobile or backend-dependent tools were assessed from published builds, source code, and deploy guides. Ratings reflect what we were able to verify.
NutriTrace — Self-Hosted Personal Nutrition Tracker
A Svelte 5 + Node.js nutrition tracker shipped as a single Docker container with a PWA, Android app, barcode scanning, and an optional AI assistant. Last updated: 2026-06-21.
One-sentence verdict: The most mature self-hosted nutrition tracker in this batch — a credible daily-use alternative to commercial food diaries for privacy-focused users willing to run their own server.
What the System Is
NutriTrace is a self-hosted personal nutrition tracker built around a Svelte 5 frontend, an Express 5 backend, and a SQLite database. It supports daily food logging with macro and micronutrient tracking, a personal food/recipe/meal library, barcode scanning via Open Food Facts, goals and statistics, multi-user support, wellness device integrations, and an optional AI assistant called Trace. The project ships as a single Docker container and provides a signed Android APK via GitHub Releases.
The deploy guide reports the service was started on port 3001.
| Key data | |
|---|---|
| Category | Fitness & Nutrition |
| Language | Svelte 5 / Node.js / Express |
| License | AGPL-3.0 |
| Self-hosted | Yes |
| AI provider | Optional: Claude, OpenAI, Gemini, or any OpenAI-compatible local endpoint |
| Database | SQLite (better-sqlite3); optional DuckDB for local OFF mirror |
| Auth | JWT (optional user management), OIDC SSO support |
| Deployment | Docker Compose |
How to Install and Deploy
cd /data2/docker/going-global/repos/nutritrace
# Create .env from .env.example with DATA_DB_PATH, DATA_UPLOADS_PATH, JWT_SECRET
docker compose up -d
Then open http://localhost:3000 and complete the first-run setup wizard.
For development without Docker, the deploy guide uses:
cd /data2/docker/going-global/repos/nutritrace
npm install
cd server && npm install && cd ..
JWT_SECRET=$(openssl rand -base64 48) node server/index.js
# In another terminal:
npx vite --port 5174 --host
How to Test
The documented test flow is:
- Open
http://localhost:3000and create an admin account (or skip user management for single-user mode). - Log a food item by searching the local database, scanning a barcode, or importing from Open Food Facts / USDA / Mealie.
- Create a recipe or meal and add it to the diary.
- Review the nutrition bar, macro breakdown, and statistics charts.
- Connect a wellness device (Fitbit, Withings, Garmin, or Android Health Connect) if credentials are available.
- Enable the Trace AI assistant and ask a nutrition question tied to real diary data.
Privacy & Compliance
NutriTrace is not HIPAA compliant, but it is explicitly designed for privacy and data ownership. All data stays on the self-hosted server by default. External calls are made only to opted-in integrations (Open Food Facts, USDA, wellness providers, or the configured AI provider). The project has a detailed PRIVACY.md and includes no telemetry, analytics, or accounts on external NutriTrace servers.
NutriTrace vs Commercial Nutrition Trackers
| Dimension | NutriTrace | Commercial Trackers (e.g., MyFitnessPal, Cronometer, Lose It!, MacroFactor) |
|---|---|---|
| Cost | Free / self-hosted | Freemium or subscription |
| Data ownership | Data stays on your server | Cloud storage tied to vendor account |
| Ads / tracking | None | Ads and analytics in free tiers |
| Setup effort | Higher; requires Docker or Node.js server | Mobile app signup |
| Feature depth | Food diary, recipes, barcode scan, goals, stats, wellness sync, AI assistant | Varies; some have larger food databases |
| Customization | Full source code; custom nutrients, units, fields | Limited |
| Privacy model | Self-hosted, no telemetry | Cloud processing and storage |
| Mobile apps | Android APK; PWA on iOS | Native iOS / Android |
| Open source | AGPL-3.0 | Closed |
Who Should Use It
- Privacy-conscious users who want full ownership of their nutrition data.
- Self-hosters comfortable with Docker and basic server management.
- Android users looking for an open-source food diary with barcode scanning.
- Developers who want to customize a nutrition tracker or contribute to one.
Who Shouldn't Use It
- Users who want a zero-setup mobile app with a massive existing food database.
- iOS users needing a native app (only PWA is available).
- People needing clinical-grade nutrition counseling or medical meal plans.
- Anyone unwilling to maintain their own server.
FAQ
Is NutriTrace free?
Yes. The project is AGPL-3.0-licensed and free to self-host. The Android APK is available on GitHub Releases.
Does NutriTrace send my data to the cloud?
No central NutriTrace servers exist. Data stays on your own server unless you enable a third-party integration such as Open Food Facts, a wellness device, or an AI provider.
Can I use it without creating an account?
Yes. The first-run wizard lets you skip user management and run in single-user mode without login.
Verdict
NutriTrace is a genuinely usable open-source nutrition tracker. It is the only project in this batch that feels like a real daily-use product rather than a demo: it has a Docker deployment, PWA, Android app, barcode scanning, recipe builder, wellness integrations, and backup/restore. The trade-off is that self-hosting requires more effort than signing up for a commercial app, and iOS users only get the PWA.
Ratings: Deployability 4/5 · Value vs Commercial 5/5 · Privacy Compliance 5/5
