With calorie counter apps raking in millions per month and the global sports apps market promising to reach 2 billion USD by 2023, it’s about time to consider investing in a fitness app — or a calorie counter app, to be more specific.
We’re happy to share our best practices on how to build a calorie counter app like MyFitnessPal to help you take advantage of this growing market.
[Image Credit: Market Research Future]
Calorie counter app thru prism of mobile tech stack
First things first: Before your calorie counter app shapes into reality, you need to decide on the mobile platform and tech stack. Whether your app becomes first available for Apple or Android users is going to be crucial in maximizing your ROI.
According to Priori Data, top-grossing sports and fitness apps in the Apple ecosystem net almost 3 times more than their counterparts in Google. So the choice looks pretty obvious: 99 percent of the time it will be an iOS and iPad OS app.
These days iPhone and iPad apps are developed with Swift — a programming language by Apple. As you can see below, Swift is currently #1 in the list of development tools for mobile apps.
[Image Credit: Appfigures]
When it’s time to build the Android version of the app, you’ll be choosing between the Java and Kotlin programming languages.
Alternatively, you can turn to a cross-platform development framework like React Native, Cordova, or Ionic and have your calorie counter apps built simultaneously for iOS and Android.
Once you settle on a mobile tech stack, it’s time to review the must-have features that make a killer calorie counter app.
Top features in calorie counter app
MyFitnessPal is the perfect example to check on the must-have features for a calorie counting app. The app generated almost $14 million from 7 million downloads by mid-2019. So let’s take a look.
Food and water diary
Of course, the primary purpose of a calorie counter app is to track the meals and calories the user takes in.
Keeping the balance of carbs, protein, and fat intake is probably the second most important feature.
A well-executed calorie counter app will also support various reports: from weight to calories to nutrients.
[Image Credit: MyFitnessPal app]
MyFitnessPal offers its users healthy recipes to help them better control their weight.
Dietary plans often come as an in-app purchase option or a part of the subscription in a calorie counter app.
The ability to share progress with friends helps improve user retention.
Goals & Challenges
MyFitnessPal takes the social component of its calorie counter app a tad further by adding a little gamification.
Notifications & Reminders
Of course, a reminder to take lunch and — what’s even more important — to register it in the app is always a welcome feature.
That’s where all user data gets aggregated.
If you haven’t noticed, calorie counter apps are all about gathering and processing user data. And to do this, they need to connect to a lot of things. Like databases.
Best databases for a calorie counter app
Let’s go through the types of databases that make an app for calories counting a success.
[Image via Unsplash]
Web application database
By connecting the calorie counter app to your site’s database, you keep user data is in sync and available for other platforms, e.g., desktop or tablets.
On top of that, with a synced database, you can stream to the app news, promotions, and other engaging content. There are plenty of databases that will work in a calorie counter app:
- MySQL, SQLite
- MongoDB , CouchDB
- PostgreSQL, Redis
A nutrition (aka food) database is the cornerstone of any calorie counter app: it feeds the app with nutrition info about calories, carbs, protein, fat, etc. In addition, food databases make the app really easy to use because you don’t need to manually enter lots of details.
Going with a database that offers extra data (like potassium, fiber, or saturated fat) will always give your app the edge. But only if you know what to do with this nutrition data. Remember that the UI with too many details may lead to poor UX if these extra data points do not provide app users with actionable insights.
Some of the top nutrition databases include:
Every time the user enters a meal into your calorie counter app, it sends an API call to the database of your choice. And gets back a response with nutrition data. So make sure to choose an established food database with a large inventory.
Ideally, the database you choose will also include barcodes, so that the user can use a barcode scanner built into your calorie counter app to quickly add a new entry to their diary by scanning a code.
Restaurant & recipe databases
A restaurant database resembles a regular nutrition database, but quantifies dishes from particular restaurants:
Sports and fitness databases
Calorie counter apps are not solely about calories intake; they also need to register how many calories users burn with exercises and other activities:
Yelp and other listing databases
You can help your users find a dietitian or trainer by integrating the calorie counter app with Yelp or other local listing services. Google Maps and Apple Maps SDKs may also prove helpful when searching for a gym.
As you can see, a typical calorie counter app connects to a lot of databases — usually accessible via APIs, on a subscription model. A free alternative is to scrape relevant sites and maintain your own food database, but this will often require too much of an effort.
It’s essential to set up the database architecture for your app appropriately. The architecture design should handle internet outages in a way that’s least irritating to your users, which means caching is a must. This way the app will remain usable even in areas with poor cellular coverage. And as soon as the app is online the user data will be synced with the server database. The database design should also prevent duplicates, support categories, and scale up well.
Barcode scanner in a calorie counter app
A barcode scanner allows the user to instantly add a packaged product to her diary. There are many SDKs for implementing a barcode scanner (these variants by Google and by Scandit are pretty good). Scanned barcodes are then cross-referenced with packaged food databases like The Open Food Repo.
You can use these barcode scanner SDKs to add this nifty feature to your app relatively easy. In fact, developing a barcode scanner for a calorie counter app from scratch today is almost like reinventing the wheel.
[Image Credit: GoodGuide]
Integrations with other apps and fitness gadgets
Besides the barcode scanner and various databases, your calorie counter app can get user data from myriads of other fitness apps, healthcare trackers, sports gadgets, smartwatches, smart scales, and other activity trackers. The bare minimum you need is integrations with:
- Apple HealthKit in an iOS app
- Samsung Health in an Android app
- Google Fit in an Android or iOS app
HIPAA considerations and security
We recommend that you build your calorie counter app as HIPAA compliant. It may seem overkill, but it’s just safer for everybody this way. Some of the third-party apps you integrate with might transfer Personal Health Information (PHI), and you definitely don’t need $100-to-$50,000 fines. The precautions are well known:
- transmit data only via secure HTTPS connections
- integrate Face ID or Touch ID
- encrypt PHI data on the mobile device
- implement session timeouts
- follow best practices from OWASP list of Top 10 Mobile Risks
Competitive edge for your calorie counter app
You are probably thinking, “Ok, that must be pretty close to everything I need to know to build a calorie counter app. But how do I make my app a success?” You thoroughly research the competition: MyFitnessPal, Lifesum, Fat Secret, Fooducate, Lose It!, and others. You then pick their weaknesses and turn them into killer features in your app. Some ideas off the top of my head:
Pay special attention to seamless on-boarding
- add social logins for most popular social networks (that people actually use a lot)
- give the user something before asking them to add their biometric data (take them on an app tour)
Be careful with social features
- Propose to share only positive results on the social feed
- Think through the UX and UI. For example, MyFitnessPal implements the social component as a mere web version of their forum, squeezed into the app. FatSecret, in contrast, offers a full-blown social feed with comments, photos, likes, etc. But the same FatSecret app does not hide the bottom bar when you start scrolling to free more space for viewing the social feed.
Smooth e-commerce integration
- MyFitnessPal opens a mobile site to sell their merch and other sports products. A standalone e-commerce app or a built-in catalog would easily outperform that web option and increase the sales.
Talk to us today to discover more opportunities for your calorie counter app to grab a large chunk of this growing, billion-dollar fitness apps market.