1. https://www.joyapp.com
2. https://play.google.com/store/apps/details?id=com.joyapp.android
3. https://itunes.apple.com/us/app/joy-health-tracker/id955172784?ls=1&mt=8o
Background
As an amateur powerlifter on constant cut/bulk cycles, I found existing diet trackers way too slow and clunky. A food tracker should get out of the way; otherwise — in the heat of the moment — you'll decide not to log things. Existing trackers also lacked flexibility for those times you dine out, skip meals, or need a break.
Privacy and focus
Thanks to HN, I've learned to value my attention and focus. So I rewrote Joy with that in mind. That means eliminating distractions, starting with ads.
You are not the product here. The app is. The business model is simple: if you like using it, you give us money. In return, we provide you with a service you find valuable.
Benefits
- No ads whatsoever. We value your attention span, so should you.
- We don't sell your data. Your privacy is important.
- Barcode scanning in the — optional — native apps. Don't need them? Don't use them.
- Trend lines. Once you enter enough measurements, you can see trend lines. Weight jumps up and down every day. But a trend line shows real progress.
- Speed. Once you learn the ropes, it's an order of magnitude faster to add entries than anything out there. A bold claim, but give it a shot. It was designed to be opened for as little as possible each day.
- Repetition, a cornerstone of a good diet, is especially easy. You can copy meals or entire days. You can even auto-repeat them.
- No community-entered foods. This is a feature in most cases. Food is from a professionally curated database (Nutritionix) or custom foods you enter. Most community entered-food in other apps is flat out wrong. Once I figure out a proper ranking / vetting mechanism, I may introduce a comparable feature.
- React, both for the app itself and the static pages.
- Django for all server logic.
- Heavy use of Redux for the application areas
- Server-side rendered React templates with Django. Seamless with https://github.com/silviogutierrez/reactivated .
- PostgreSQL
- TypeScript for all React code
- Mypy for some Python code, and type generation to interact with TypeScript
Disclosures
- I do use Google Analytics, but only on the marketing pages. Not in the app.
- Mixpanel is used for my own analytics.
- I'm working on a clearer privacy policy. Right now, I'm using the one Automattic gracefully open sourced.