Self-hosted nutrition + wellness tracker. Latest release rolls up two weeks of work.

New features (rc.21 → rc.26):

  • Recipe yields — declare "this makes N servings" and per-serving math flows through the diary
  • Intermittent fasting tracker — custom presets, history, recurring schedule that auto-starts at a chosen time on chosen days
  • Adaptive TDEE — learns your true daily expenditure from a rolling 35-day window of weight + diary instead of a static estimate
  • Android biometric sign-in — fingerprint / face unlock in server-connected mode
  • Per-serving Open Food Facts import — when a barcode-scanned product has serving data, prefill nutrition per-serving instead of per-100g
  • Health Connect → web — Android-synced Health Connect data now reaches the server and renders on the web Wellness page
  • Sharing rework — per-category sharing form, source filter on Meals/Recipes, zxcvbn-backed password-strength policy

Bug fixes: cross-pollinated food images on diary entries, duplicate foods on rapid barcode scans, scheduler crash, Mealie Test button.

Repo: https://github.com/TraceApps/nutritrace Release: https://github.com/TraceApps/nutritrace/releases/tag/v1.0.0-rc.26

Single docker compose, SQLite, signed APK on the release page.

all 30 comments

sorted by: hot top controversial new old
[–] 4 points 5 months ago (2 children)

Personal food database with photos, barcodes, categories, and custom labels

Where do you source your barcodes from? The reason I am asking is that I would like to give Grocy/Barcode Buddy a better barcode pool to draw from. As it is now, it's kind of hit and miss. Most brand names are fine, but off brands or store brands are kind of iffy.

  • source
  • hideshow 2 child comments
  • [–] 3 points 5 months ago

    damn. Good features. I was hoping to move onto this as part of the portfolio pieces/improve habits self hosted DB thing I'm working on, but for now I guess I can learn some of the things I don't know how to do yet (like shipping to other people!) from your team.

    How are you planning on reacting to the android freedoms getting compromised? I'm literally working on the android app for mine now, and it bums me out that they're going to put more invasions of privacy for deploying apps to your own phone.

    Also, are you planning to make money from this somehow? If yes, how?

  • source
  • [–] 3 points 5 months ago (1 child)

    Looks great! I've also added Nutritrace to OpenAltFinder. It's the first self hosted nutrition tracker there now.

  • source
  • hideshow 1 child comment
  • [–] 2 points 5 months ago (6 children)

    Is there a way to migrate a food diary from another app like MyFitnessPal?

  • source
  • hideshow 6 child comments
  • [–] [S] 2 points 5 months ago (5 children)

    Yes! Settings → Backup → Nutrition Import. Built-in adapters for MyFitnessPal, Cronometer, LoseIt, and a generic CSV shape. Export your diary from MFP (it's a CSV in their account settings), upload it, preview, commit. Skip / Merge / Replace per-date semantics, so you can re-import safely without overwriting.

  • source
  • parent
  • hideshow 5 child comments
  • [–] 1 point 5 months ago (3 children)

    I created a helper script to export custom foods from MFP and store them in the NutriTrace JSON format, in case you find it helpful. https://gist.github.com/nomad64/87cf935d8373d730383c5a0e98693c94

  • source
  • parent
  • hideshow 3 child comments
  • [–] [S] 0 points 5 months ago (2 children)

    Nice work, exactly the kind of bridge that makes leaving MFP a lot less painful for self-hosters. Would you be OK with me linking the gist from the NutriTrace README (under Foods & Meals) and from inside the Bulk Food Import modal? Happy to credit it as your script with a link back to the gist.

    Either way, thanks for putting it together.

  • source
  • parent
  • hideshow 2 child comments
  • [–] 1 point 5 months ago

    Yeah, feel free to link to it or integrate it into NutriTrace directly. MFP doesn't allow users to export a lot of their data and what they do allow is pretty minimal (ex: food diary doesn't export the food diary, simply a diary of each meal).

    I don't plan on supporting it, so it might break whenever MFP decides to update their API. But I am just glad if it helps even one person.

  • source
  • parent
  • [–] 2 points 5 months ago (4 children)

    Is it less of a massive pain in the ass to setup than SparkyFitness?

  • source
  • hideshow 4 child comments
  • [–] [S] 3 points 5 months ago (3 children)

    For docker, It is only one service. everything else can be setup in app once you are in if you so choose. Android App can be used with or without server.

  • source
  • parent
  • hideshow 3 child comments
  • [–] 1 point 5 months ago (2 children)

    I'm guessing from the example conf files that https would be manually configured through nginx?

    Also, in case I missed it from the repo, is there the ability to integrate wger?

  • source
  • parent
  • hideshow 2 child comments
  • [–] [S] 1 point 5 months ago (1 child)

    Yes, TLS is left to a reverse proxy (nginx, Caddy, Traefik, Cloudflare Tunnel). The container serves plain HTTP on a port you map; whatever you put in front handles the cert.

    No wger integration today. NutriTrace covers food + wellness + workout sync (from Fitbit/Garmin/Withings/Google Health/Health Connect), but doesn't connect to wger or other dedicated exercise-routine apps. My soon to be released app in the Trace family of apps will be dedicated to lifting, and will include wger integration to name one of its exercise databases (as well as support for custom imports).

  • source
  • parent
  • hideshow 1 child comment
  • [–] 2 points 5 months ago (2 children)

    Damn, I was hoping that it would be an android app with Health Connect support 😅

    Looks very nice though!

  • source
  • hideshow 2 child comments
  • [–] [S] 3 points 5 months ago (1 child)

    It is an android app with Health Connect Support! Android app works with or without the server! :)

  • source
  • parent
  • hideshow 1 child comment
  • [–] 0 points 5 months ago* (last edited 5 months ago)

    I completely overlooked the android app in the readme, thanks! I have a server set up so can I start local to try it out and migrate to a server later?

    Also is there support for mealie through an authentication platform like authelia?

    Any plans for releasing on F-droid?

    Edit: Oof, you can't search for foods when making a recipe or meal, hopefully that comes because otherwise it is a huge process to make any custom meal or recipe...

  • source
  • parent
  • [–] 1 point 5 months ago (1 child)

    New features look great. I'm currently hosting this and integrated with Mealie. I cook a lot, so I've got my recipes along with the aggregated nutrition data on Mealie. A bit of work up front but I can now just add my morning omelette and the per-serving data seems to be coming into Nutritrace accurately. Looking forward to checking out the new features.

    Ran into some issues when testing the integration, but the actual integration works fine. Could be a bug? Could be that I'm not that smart. I'll check to see if there's already something documented.

  • source
  • hideshow 1 child comment
  • [–] [S] 0 points 5 months ago

    Let me know your issues and post server/browser console/app logs, and ill do my best to assist. You can also create an issue if you feel that this is a bug in the repo. Outside of this i do want to mention, im working on a suite of "Trace" apps. One of which is a Recipe app. I love Mealie, but wanted a bit more for myself, and have created something that i think will be special. It also allows for direct api integration to and from NutriTrace. Will hopefully have a beta that will be publicly available in the next month or so if interested.

  • source
  • parent
  • [–] 1 point 5 months ago (5 children)

    I really like what I see, but why does the Android app need google play services to have camera permissions to scan UPCs?

  • source
  • hideshow 5 child comments
  • [–] [S] 1 point 5 months ago (4 children)

    Thank you and great question. There's already an open issue for this in the repo (#31) and the fix is in dev. Next RC will have it. The Android scanner will use the bundled ML Kit model directly, with no Google Play Services calls at runtime. Same scanning engine.

  • source
  • parent
  • hideshow 4 child comments
  • [–] 2 points 5 months ago (3 children)

    Awesome! Thanks for the update!

  • source
  • parent
  • hideshow 3 child comments
  • [–] [B] 0 points 5 months ago* (last edited 5 months ago)

    Acronyms, initialisms, abbreviations, contractions, and other phrases which expand to something larger, that I've seen in this thread:

    Fewer Letters More Letters
    HTTP Hypertext Transfer Protocol, the Web
    SSL Secure Sockets Layer, for transparent encryption
    TLS Transport Layer Security, supersedes SSL
    nginx Popular HTTP server

    3 acronyms in this thread; the most compressed thread commented on today has 8 acronyms.

    [Thread #300 for this comm, first seen 17th May 2026, 22:00] [FAQ] [Full list] [Contact] [Source code]

  • source
  • 13 comments in c/selfhosted@lemmy.world view that post
    [–] 7 points 6 months ago (1 child)
  • [–] 3 points 6 months ago (3 children)

    Hey,

    Like the look of the app so far. I will be spinning up a local server when I am not coming off a morning shift, and see if I can get a pass on the WAF.

    Just a quick question, being in Australia the bulk of our food metrics are in kilojoules, I have selected this as the default energy measure however there are a few areas where I am still getting calories presented.

    For example in the Diary I am getting kcals on both the food and the summary. I imagine you do everything in calories and this just slipped past but wondering if I missed a setting?

    Also I had a quick scan and like that the AI integrations are optional but I was unclear if AI was used to code the project, do you have a position on that?

    On the whole I am liking what I see so far.

  • source
  • hideshow 3 child comments
  • [–] [S] 1 point 6 months ago (2 children)

    Glad you're enjoying it.

    On the kJ, you're right. The setting was being respected for goals and storage but a bunch of display spots still had kcal hardcoded. Just pushed the fix to dev and it'll be in the next public release. Also added auto-detect so if your device locale is en-AU or en-NZ the wizard pre-selects kJ on first run, no toggle needed (but present now in settings).

    On AI for coding, yes I utilize it. Claude Code to be specific. It makes me more efficient and helps lift the work I ship.

    Will let you know when i push out the update, should be later today.

  • source
  • parent
  • hideshow 2 child comments
  • [–] 2 points 6 months ago* (3 children)

    Food often contains water. Can I configure how much water a food has per 100g or 100ml? I didn't find it in the nutrition list.

    Would this amount of water be included into the daily water budget?

  • source
  • hideshow 3 child comments
  • [–] [S] 2 points 6 months ago (2 children)

    Currently no, there's no per-food water field in NutriTrace, and food water doesn't count toward your daily water goal. The water tab tracks drinking water only.

    What's the actual use case for you, comprehensive nutrition accounting, or trying to reduce the explicit drinking water target based on what you ate? They're different problems and the answer would shape what (if anything) makes sense to add in the future.

  • source
  • parent
  • hideshow 2 child comments
  • [–] 3 points 6 months ago (1 child)

    I like the app. Thanks for sharing.

    trying to reduce the explicit drinking water target based on what you ate

    I think this is/ was my plan, yes.

    This is not a feature request. I was just wondering where the water intake is tracked. As part of a recipe or food would've felt natural to me. Hence the question. I missed the water sub tab in the diary tab's top right corner.

    My feedback:
    Cooked noodles, soft drinks, a cup of coffee with sugar, a glass of water with lemon juice, protein shakes would be examples for "watery" food.

    Right now one can keep track of the nutrients + fibre + x in food in one calculation. And then there is a second tracking just for water.

    Two lists feel more complicated than one list. To add a cup of coffee I need to add the nutrients part (sugar, coffein, fat) as a food entry in the diary tab + a cup of water in the water sub tab.

    Currently no, there's no per-food water field in NutriTrace, and food water doesn't count toward your daily water goal.

    Thanks. Fine by me. :)
    I could add a custom nutrient "water" to my foods and recipes to achieve what I planned. Or I just ignore water intake tracking.

  • source
  • parent
  • hideshow 1 child comment
  • [–] [S] 3 points 6 months ago

    Glad the workaround clicked. Custom-nutrient "water" plus your own recipes is the cleanest path for comprehensive accounting without waiting on a built-in feature.

    The "two lists feels more complicated than one" observation is fair and worth sitting with. Ill add this as a possible future feature

    Thanks for the thoughtful feedback.

  • source
  • parent
  • [–] 1 point 6 months ago (2 children)

    Hey, thanks for the app. I've been playing around with it. Looks great. Interface seems snappy. I could use some advice on how to actually use it. Ok here goes.... How do I enter an egg? Entry defaults to 100g. I tried serving, piece for units. I don't really measure eggs. I've linked to the OFF and USDA databases. Unless it's something I measure, entry feels wonky. What's the best way to do this?

  • source
  • hideshow 2 child comments
  • [–] [S] 0 points 6 months ago* (1 child)

    Hey, thanks for trying it out!

    For things you don't measure by weight (eggs being the classic example), the easiest path is to make a local entry once and then reuse it. A few ways to go about it.

    The nutrition label on your egg carton is your friend here. It'll show you the serving size, usually 1 large egg at around 50g, plus the full breakdown (calories, protein, fat, carbs). Tap the + on the Foods page, type those numbers in, set Serving size to 50 and Unit to "grams". From then on, logging eggs is just typing "Quantity: 2" in the diary and the math takes care of itself.

    For irregularly-sized stuff like apples or bananas, a kitchen scale is honestly the easiest path. A medium apple can swing anywhere from 130g to 220g, so weighing it once and typing the gram count gets you accurate numbers without needing a separate per-piece entry for every size.

    One thing worth knowing about OFF and USDA results: the "100g" you see is just the per-100g nutrition density. That's how those databases store everything, it's a baseline reference, not a forced serving size. So you can either weigh your food and type the grams directly, or edit the entry to change the portion and unit (say to "1 piece" or "1 cup") and the totals rescale.

    Once you've dialed in a handful of items you eat regularly, day-to-day logging gets a lot faster. The new Favorites and Most Used sort in rc.19 will float your top items to the top of the Foods page automatically.

  • source
  • parent
  • hideshow 1 child comment
  • 8 comments in c/selfhosted@lemmy.world view that post
    [–] 6 points 5 months ago (7 children)

    Why so many downvotes. Looks like a decent project. Am I missing something?

  • source
  • hideshow 7 child comments
  • [–] [S] 10 points 5 months ago (6 children)

    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.

  • source
  • parent
  • hideshow 6 child comments
  • [–] 6 points 5 months ago (2 children)

    I wasn't actually going to say anything about this but it might be received ok (or at least balanced considering how much I despise the spicy auto-correct).

    I looked at your App and it looked like it had potential, I even asked a question that apparently led to a change in how onboarding works.

    However I prefer not to use LLM generated code. Especially not when it's for something that will no doubt entail years of use. But my qualms and scruples are not your problem so I just shut my mouth and moved on. You're building this, it's to scratch your itch and you get to call the shots.

    Me being uncomfortable with how you do it is immaterial, as a user I can and have made the choice to seek other solutions and so downvoting or trash talking you would be petty at best.

    I hope as a community we can start to just say "No thank you" when we are offered something that's done in a way we don't like, after all, we have the opportunity to do it differently and make "No LLMs" a key part of our projects, anyone who is not doing that needs to analyse why they feel entitled to shit on someone else's project.

    At least that's my $0.05.

  • source
  • parent
  • hideshow 2 child comments
  • [–] 4 points 5 months ago*

    But my qualms and scruples are not your problem

    Me being uncomfortable with how you do it is immaterial

    I hope as a community we can start to just say “No thank you” when we are offered something that’s done in a way we don’t like

    anyone who is not doing that needs to analyse why they feel entitled to shit on someone else’s project.

    We goin' to church today. Preach it my brother! Can I get an amen?

    I'm the one who has to die when it's time for me to die, so let me live my life the way I want to. ~ Jimi Hendrix

  • source
  • parent
  • [–] [S] 1 point 5 months ago

    Thanks for taking the time to write this out and thank you for the feedback that helped improve the onboarding process.

    I completely respect your preference (as well as the community's). LLMs definitely have their flaws, and they aren't for everyone. For me, AI acts as a thoroughly tested extension of my workflow rather than a shortcut, but I know that doesn't fit every project's philosophy.

    I really appreciate your mature approach to the "No thank you" mindset. I hope you find a solution that works perfectly for your needs and aligns with your principles!

  • source
  • parent
  • [–] 3 points 5 months ago (1 child)

    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.

  • source
  • parent
  • hideshow 1 child comment
  • [–] 6 points 5 months ago

    I don't agree with your take on AI and the comparison at all, however if you want to use them and stay independent in the future it's probably best to use Mistral. Their models are available for download and (mostly) licensed under Apache 2.0. You only have to pay for commercial use. Also they're basically the only big EU-company in that space and the only I know of where the web interface isn't infested with trackers and shit. However they are also involved in the military (guess which edge models are running on those semi-autonomous drones in Ukraine).

    All I need to know is does it solve a problem I have, does it work, is it stable, and is it secure.

    You have to be aware that

    • LLMs are recreating licensed code without telling you, which WILL fuck you over eventually
    • They do not produce secure code on their own. Keys end up client-side, in widely opened S3 buckets, encryption falsely implemented etc. Widely known, no link needed.
    • It is not faster, in fact you're slower while merely feeling faster. By now even the techbros themselves just recently finally admitted that.
    • There's no point to mention the immorality of the tech, everyone should know by now.

    So yeah, your choice how much you use it. But it's pretty obvious why nobody trusts vibe-coded stuff, and the metric ton of low-quality projects even forcing the de-facto App Store of a whole ecosystem to completely ban AI code reeeally doesn't help.

  • source
  • parent
  • 7 comments in c/selfhosted@lemmy.world view that post
    [–] 1 point 6 months ago* (1 child)

    Does it support Health Connect so I could import from other services or just Google Health? I've used Samsung Health for long time and want to move to something open.

  • source
  • hideshow 1 child comment
  • [–] [S] 1 point 6 months ago

    Yes, Health Connect is supported on the Android app. As long as Samsung Health is set to write to Health Connect (Samsung Health → Settings → Connections → Health Connect), NutriTrace can read steps, sleep, heart rate, weight, and exercise from it.

    Honestly though, this path hasn't had many testers yet, so if you give it a shot I'd really appreciate a heads-up on what works and what doesn't. Feedback (positive or bug reports) is welcome on GitHub.

  • source
  • parent
  • [–] 1 point 6 months ago (3 children)

    So this mentions Google fit. Does it also serve as an exercise tracker with counting steps and tracking distance?

  • source
  • hideshow 3 child comments
  • [–] [S] 1 point 6 months ago

    Not directly. NutriTrace doesn't record steps or GPS itself; it reads them from whatever's already tracking you (Health Connect on Android, or Fitbit/Garmin/Withings via their cloud APIs). So if Google Fit, Samsung Health, or your watch is counting your steps and logging workouts, NutriTrace will pull those numbers in and chart them alongside your nutrition.

  • source
  • parent
  • [+] 0 points 6 months ago (1 child)
  • [–] 2 points 6 months ago

    This is an AI slop Spam Bot. Every single post it has made in the last two hours stops in the middle of a sentence, with each comment being at best sycophancy, and at worst a total non-sequitur. Everyone should report this spam from an undeclared bot account.

  • source
  • parent