Developing Supplement Tracker App Video

The App:

I have been wanting to create an app to help people with chronic health conditions manage their health markers. Unlike acute illnesses, managing chronic health conditions generally requires adhering to a set of life style changes such a pattern of exercise or nutrients they must take. I built an app to keep track of these things.

How the App Works:

The user will go shopping for supplements with my app on theirs phones.  They scan or manually enter the products they purchase along with how they plan to take it. For example if I want to take 1 1000mg capsule of Vitamin C in the morning and at noon, I will scan the bottle in the store when I buy it and enter the times and the dosage. Then the app will alert me when I need to take it so I won’t forget. While this is simple to remember if someone only takes Vitamin C, it becomes almost impossible for the elderly or people with chronic conditions, or even health nuts who take a lot of stuff, to manage. In the end you get statistics on what you have been taking over time to see what worked what didn’t.

Which Platform:

The question for me was what platform to build it on. I’ma a Scala functional programmer and cloud architect. I needed to figure out how I could put my experience to use building this app. Obviously, the deployed UI would have to use some other technology since phones generally have a totally different tech stack. But for the back end, I could make use of my Scala and data engineering skills. Eventually, I stumbled upon Flutterflow for the UI! For the back end I was using Scala and Jupyter create the data pipelines, and MongoDB as my database.

Flutterflow:

This is the no code or low code development platform from Google that is built on top of Flutter. There are many attractive things about this technology for me. For one it is built on a proven tech stack, Flutter using the Dart programming language, and it is from a major tech company, Google. Second, this would allow me to get the app started quickly and to test the idea out then flesh it out later, iteratively.

Flutterflow and Flutter:

It is possible to build an app using FLutterflow quickly by dragging and dropping the UI together on their web site. Then, when building a professional app, one would invariably run into a “brick wall”,  as we often call it in engineering, where we feel that we painted ourselves into a corner and we cannot get out because we found something that cannot be accomplished in the no-code environment. This is where Flutterflow shines. It allows us to export the code backing the app to GitHub, from where it can be imported into a local installation of Flutter on our computers. This local installation is a fully fledged classical programmer work environment. We can use either IntelliJ or Visual Studio, as our IDE. Then we can use our local IDE to track down hard to debug problems and create builds using Xcode or Android Studio. Then when we are done we can create a build and deploy to the App Store. I consider this a very professional workflow that is suitable to build an app of any complexity!

Flutterflow Components:

I would like to say a critical word about Flutterflow’s components though. For example, the platform is pushing us to use Firebase as a database and Algolia search to find stuff in our database. While Firebase works, it is very limited what it can do. It is really not much more than a JSON CRUD storage device. But Algoilia did not work at all when I tried it with Flutterflow. The Firebase and Algolia integration is terrible. It may take a few days, or forever, I never waited long enough to find out, to index a ten record table! 

The Solution: Use our own Trusted Technologies as a Backend via APIs:

I have chosen to use MongoDB instead, because I new it worked. Flutterflow allows accessing any API so we can build a sophisticated middle wear layer using our own chosen technologies and access it as an API from Flutterflow. This worked very well for me. I created a backend service using Javascript and my data is stored in MongoDB. I like that Flutterflow allowed me to use my favorite tools!

Follow my Work Getting this App Developed:

Sign up at https://synkre.com/supplementapp to get notified of major milestones as I’m building this app to see how I am making use of the technologies in the Flutterflow tech stack to build a beautiful iPhone app. This is an exciting adventure for me both because I’m learning a new tech stack in the process but also because in the end it will help a lot of people manage their health conditions.