I made an app 😜
— Comments — life, tinker, tech, software, apps — 5 min read
What do you get when you mix a software engineer (husband) with a night-shift-working respiratory therapist (wife) -- who can't find a calorie tracker that fits their needs?
Another calorie tracker app, of course!
Most, if not all, apps out there today have a fixed "breakfast-lunch-dinner-snack" meal structure. This doesn't work for people who work non-traditional hours, like my wife. So I set out to build an app that allows users to define their own meal structure. This app has a timeline of feedings and no arbitrary buckets. You can set when your day transitions, and add feedings wherever you want along that timeline. No having to fit into a pre-defined mold. Do you eat "lunch" at 2 am? No problem! You don't have to worry about what slot to log your meal into -- log it whenever it fits on your timeline.
I also use this app to track my own food intake as well, and I love the flexibility it provides. My goals are not to lose weight, but to grow muscle mass, so I need to make sure my protein and carbs are high enough and balanced with my energy expenditure. This app helps me do that.
I also wanted an excuse to play with some new ideas, so I built this with Expo and react-native for the front-end and Firebase for the backend. It's been a fun experience so far, and I am pleased with how it's progressing. Here are some technical details and screenshots of the app.
- Built with React-Native on Expo
- Uses TypeScript throughout
- Backend with Firebase (Authentication, Firestore, Storage, Remote-Config, Functions)
- Can be deployed to iOS and Android app stores (currently only on TestFlight for my wife and me to use)
- Expo-Router / TanStack Query to manage state
- NativeWind / Tailwind layout & style engine
- Gluestack UI components
- Food data is sourced from the USDA FoodData Central database and the Nutritionix API.
What does this app do? (besides the opening premise? 😉) Well, I'm glad you asked! 😁
Searching and logging foods is easy with a comprehensive food database, barcode scanner, nutrition-label scanner, and the ability to save bespoke foods and recipes. You can set daily calorie and macronutrient goals, and track your progress with detailed stats and visualizations. It syncs with Health to read active calories and weight/body-fat-percentage. There is a calendar view to see your history. You can take progress photos for comparisons over time. You can join other users to share recipes and foods. There are a lot of features packed in! However, I'm still adding and refining features all the time.
This is a full-fledged app that my wife and I are actively using. I can't afford to open it to the public, but if there is enough interest, I may consider it. Feel free to reach out if you'd like to know more or see a demo!
Footnotes
-
Social features are designed for me and my wife to share foods and recipes, but could be expanded to a wider audience in the future. The current implementation is basic and far from what I would include in a production app with many users. The user-discoverability is obviously too permissive for a public app. ↩