As everything comes from the backend, laying the foundation for the frontend with a robust backend was a very important prerequisite. There are a lot of dashboards and a lot of data which keeps getting populated in the app; handling that kind of data from so many users was kind of challenging. We spent a lot more time on the backend than on the frontend.
There are different dashboards and the client needed access to everything - as an admin, as a trainer, as a trainee. They are all independent of each other other but, at the same time, related and the admin needs to be on top of everything. So, we needed to create a separate window and getting all the data in one place was a challenge.
Division of functionalities into different things and segregating the data was another challenge. As the client didn't want in-app purchases, we also needed to figure out a way on how to bypass that. The solution was the subscription model.
Getting everything on one screen was a challenge as it entails a lot of parameters - including profile of the user, a chat box, the list of workouts (both historical and upcoming ones), results, write notes, give workout messages, etc., which took up a lot of time.
Despite accepting changes and omissions suggested by AppStore, convincing Apple that this is a genuine model adopted by companies like Netflix and that users will really be paying on the website and using this app to access the workout schedules proved to be a challenge. After a month, we finally managed to convince them.