Many of my friends use calorie trackers like Lose it! or MyFitnessPal. And I’ve heard many complaints about them locking basic functionality behind a subscription. The straw that broke the camel’s back was not allowing barcode scanning without a sub. I’ve been looking for a meaty, pun intended, side project to pick up and decided to try to do some good while saving some people money!
-
Built using Tauri in order to use Angular for the GUI and get mobile platform support.
-
Data is stored on-device using SQLite.
-
Initially I’m only targeting Android, I’d love to target iOS too but I don’t own any Apple devices to dev+test on.
-
I’d say it’s a “late alpha” as of right now. It has most but not all functionality, but has only been tested by me so there are likely small bugs that need to be found.
-
My wife really likes manatees, hence the name.
-
I’ve commissioned an artist for a logo so that should be coming by February.
Would love to hear people’s thoughts! Currently you’d have to build the app yourself, though I do have an item on my to-do list to generate signed APKs via a github action. Mostly I’m just looking to start spreading the word now and hopefully get some good feature requests or bug reports. If you’ve read this far, thanks for your time!
Just looking at the github here are my immediate ideas:
- Be able to favorite specific meal combinations (i.e. you eat the same breakfast all the time) for recording
- The meal display uses kcals as the subline, it would be useful if this could be set to protein, or carbs for people trying to hit different non calorie targets.
- Ability to set alerts/reminders if falling behind a target (like 60g of protein every 4 hours, etc)
- allow for food diary photos, i.e. take a snapshot now and fill it in later, or just so a buddy can see what you ate.
- Since so much data is already being tracked, allow for weighins, ketones, gluecose measurements to be tracked as well, or integrate with the android health-connect api
- allow for api access to user data, for those tinkerers / automators
Please think about localization and various labeling standards and such. I live in Japan and bought a subscription to Chronometer when MyFitnessPal decided to enshitify. I was submitting labels with barcodes and information in their appropriate boxes (protein, carbs, etc.) but they rejected it because the image (required picture) had non-English text. Apparently there is (or at least was) a manual review process and they rejected everything not in English. Further, it took either weeks or months (I forget now) for the first response to my submitted data to come so I kept putting all this time into something utterly useless. They lost me as a customer as well.
That’s really sad to hear. I also switched to Chronometer but live in the US so didn’t run into that issue. Have you found a counter that supports Japanese as well as English?
I just gave up.
I used Fitbook on fdroid for a bit. The best feature was support for weighing food to get calories.
My biggest frustration with apps today is the lack of support for home cooking. I cook most all food but it is a pain get nutritional information unless it comes from a box.
Ive been trying to find a tool that will let me dump in all ingredients by volume/weight so I know the caloric value of a meal. CooksIllustrated uses this https://api.edamam.com/ but I can’t find an easy way to bring dishes from magazines or cookbooks to it
There’s one called Energize on F-Droid already that’s decent.
The problem is the food database will never be as good as the commercial versions. MFP is trash but MyNetDiary is very good and doesn’t have obtrusive ads. It nags you to upgrade to premium occasionally but it’s not too bad.
Unless you solve the database problem magically I don’t think there’s much point…
Best of luck to you! Waiting with anticipation
I’m down, using a cracked fitness pal to count calories right now. How will you build the food database? Can we crowdsource? Just ideas for now, get the basic app running and I’d love to help further.
Any thoughts on getting this into f-droid?
The food database is initially loaded with info from the USDA! That covers generic stuff like eggs or milk. Anything new is either added manually or sourced from the Open Food Facts database which is already crowdsourced.
I’m prioritizing Google Play but after that’s settled I’m open to f-droid as well. Most of the people I know that’ll benefit from this app the most wouldn’t know how to even install f-droid.
Throwing the APK out in GitHub with some instructions for Obtainium could be a good thing to do here as well!
Fair enough, whatever’s easier or most effective for you. Thanks for doing this!
There are multiple publicly accessible food databases out there. Waistline uses Open Food Facts and the USDA food database, for instance.
As a career full-stack dev with over 8 years Angular experience and a former user of MFP and MacroFactor I’m totally interested in helping out.
Will pull stuff down and take a look soon!
I’d love to hear your thoughts! I’ve only got 2ish years of experience with Angular myself. I’m also using this project as an excuse to get familiar with signals so I’m better equipped to introduce them at work.
Probably can’t take a lengthy dive until tomorrow or Monday but would love to chat.
Signals are relatively new to Angular (but not Vue or React), but IMO are a nice addition if used correctly.
My wife really likes manatees, hence the name.
You sure it’s not because it’s meant to be
insulting“motivating?” I was audibly shocked when I read it, LOL.Yeah the name might stunt growth a bit. I immediately was reminded of this: https://www.forbes.com/sites/jeffbercovici/2013/04/03/whoops-target-inadvertently-offers-manatee-dresses-for-plus-size-women-twitter-notices/
He points out that “Manatee Gray” is a color found on many products across a range of categories on the Target website, some of them in women’s regular and even petite sizes.
In this case, he says, there were two different teams of buyers responsible for the “missy” and plus-size product lines, and the teams didn’t coordinate when they inputted the product information for the site. One team apparently used the color’s official name, while the other eyeballed it.
“We apologize for any discomfort this might have caused and are working to update the name of the dress to reflect Dark Heather Gray,” Thomas told FORBES.
They totally should’ve doubled-down and normalized all the sizes to “manatee gray,” LOL.
This is cool! Will it support the Metric system?
Due to how both Open Food Facts and USDA store data metric is actually the default!
Are you aware of Waistline, and are there any points of differentiation you’re after?
I actually shout out Waistline in the first paragraph of the README haha
On a technical level, the major differences between the two are Waistline uses Cordova and a key value DB while I use Tauri+Angular and SQLite.
On a non-technical level, I think Waistline’s UX is a bit rough around the edges. For example, when adding something to a meal Waistline will add only 1 serving and then I have to go back in and edit that. Manatee Fitness will immediately bring you to the quantity form after selecting the food to make it more seamless.
I absolutely love Waistline and appreciate the project! I just wanted to take my own crack at it with a modern framework and see if I could improve my personal pain points.
I feel like, even on the Github page (targeted at technically-minded folks), you should still lead with the non-technical differences instead of the technical ones. In other words, change that first paragraph in the README to include the info from your third paragraph here.
Neat! I look forward to giving it a crack.
Waistline (Libre calorie counter and weight tracker) https://f-droid.org/packages/com.waist.line/
I hadn’t heard of Tauri, but looks interesting. I’d like to pitch in, even if it’s just for code reviews. I have Apple stuff too to help with iOS builds
Oh dang. I don’t calorie track anymore, but back when I used MyFitnessPal I think they let me scan barcodes without a subscription… thanks for making this for those who need it!
This is awesome and I love it!
This is a great idea, I’ll definitely give it a go. How do you want to receive feature requests/bug reports?
GitHub issues work for me!
Sweet. I’ll check it out. Thanks!