{
  "$type": "site.standard.document",
  "bskyPostRef": {
    "cid": "bafyreibb7uckkhl6ryxmn66pykgheuvvvy6hsvipqsaw2bpj4ssymfogdy",
    "uri": "at://did:plc:kdqmqcktioifzh7pkptg7msh/app.bsky.feed.post/3mn2j5nf3ity2"
  },
  "coverImage": {
    "$type": "blob",
    "ref": {
      "$link": "bafkreidl4chr4g4koysfzjeyqh5iajwk5n73kmx3ierdis5olnlvlwo3yy"
    },
    "mimeType": "image/png",
    "size": 290338
  },
  "path": "/post/5955",
  "publishedAt": "2026-05-30T06:56:45.000Z",
  "site": "https://lemmy.porn",
  "tags": [
    "Selfhosted",
    "TraceApps",
    "0 comments",
    "https://github.com/TraceApps/nutritrace",
    "Repo",
    "Release notes + APK",
    "CHANGELOG",
    "DEPLOY.md"
  ],
  "textContent": "submitted by TraceApps to selfhosted\n-1 points | 0 comments\nhttps://github.com/TraceApps/nutritrace\n\nNutriTrace 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.\n\nRepo (AGPL-3.0) · Release notes + APK · CHANGELOG\n\n## What’s new in this release\n\n  * **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.\n  * **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.\n  * **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).\n  * **API Tokens panel** is now open to single-user installs (was multi-user + env-gated before).\n  * **Wizard celebration screen** on onboarding completion.\n\n\n\n## Fixes worth calling out\n\n  * Local Open Food Facts mirror search returning empty results despite the backend finding real hits (DuckDB Node v1.x VARCHAR shape regression).\n  * Tapping a reminder notification on Android no longer just dismisses without opening the app.\n  * 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).\n\n\n\n## App overview (for anyone new)\n\n  * Diary: calories, ~30 macros / micros, water, body stats, meal photos, per-day notes\n  * Food sources: your own foods, Open Food Facts (with optional local DuckDB mirror for offline / air-gap), USDA, Mealie cookbook federation\n  * Saved meals + recipes, copy / move / clone across meal slots and dates\n  * Wellness sync: Fitbit, Garmin, Withings, Google Health (Health Connect on Android)\n  * Calorie goals: fixed, dynamic (target = base + daily burn), or adaptive TDEE\n  * Intermittent fasting tracker with schedules and reminders\n  * 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\n  * Multi-user with invites, per-user admin, optional OIDC SSO (Authentik / Pocket-ID / Authelia tested)\n  * Android app (Capacitor 8): offline-first SQLite + sync, biometric sign-in, native Health Connect, native barcode scanner\n  * Backup: full server ZIP + per-user JSON export / import. Nothing leaves your server.\n\n\n\n## Deployment\n\n\n    services:\n      nutritrace:\n        image: ghcr.io/traceapps/nutritrace:latest\n        ports: [\"3000:3000\"]\n        volumes: [\"./data:/data\"]\n        environment:\n          - JWT_SECRET=<long-random-string>\n\n\nFull docker-compose + env reference in DEPLOY.md. Signed Android APK attached to every GitHub release; in-place upgrades work.",
  "title": "NutriTrace v1.0.0-rc.42 released: self-hosted nutrition tracker"
}