Powerbuilding
The most ambitious fitness tracker ever created will be launched using the most ambitious cross-platform framework ever created.
Hi All!

My name is Brian, I am the co-founder of Powerbuilding. For the past year we have been building the most ambitious fitness/health tracker ever created. This app has the ability to track and organize data between your training, nutrition, and health. All under one roof. The app itself is built using the flutter framework with a serverless AWS backend. The front-end alone (flutter code) makes up well over 100k lines of code so far. Even with a ton of features still in the "planned" stage.

I was extremely lucky to have stumbled across flutter when I did, just over a year ago. I have built many apps natively for both Android and iOS devices. I even messed around with Xamarin (C#) for a while which was alright. Knowing the scale and magnitude of the project ahead led to a desperate and exhaustive search of all of the cross-platform frameworks available. I can honestly say the allure of a cross-platform framework which used a language that was created for the sole purpose of cross-platform applications was too great to pass up.

Like with any new technology, I stumbled for a while to develop some best practices for myself (army of one). Aside from the general ones I've picked up throughout my career, I eventually found my foothold. I drifted towards the Clean Architecture to separate different layers of the application from each other to massively improve testability. With an app this size, I knew that if I didn't prepare for testability from the start, it would just never happen.

With a decent amount of code written, and widgets built, I feel I have a good sample-size of experiences to say that flutter was the right decision for us. It hasn't been without it's difficulties, but I do believe that I have more to show for my time spent than I would if I was developing using native platforms.

In an effort to keep this relatively short and sweet, I'll leave you with this piece of advice from someone who dove head-first into flutter and won't be looking back. Early adoption of any technology is a risk, short and long term. If you are new to developing apps, or programming in general, and want to pursue app development as a career, I strongly suggest you start by learning how to develop on the independent native platforms. If you have experience building native apps, and are looking to get a job coding cross-platform, learn React Native. And for the select few of you who are hobbyists, entrepreneurs or freelancers, flutter may just be the best thing you've ever come across.

If anyone has any questions, advice, or just wants to chat - feel free to reach out to me via email at [email protected]

I wish you all the best in your development!