WellCaster is a platform that helps coaches sell their training programs and helps their clients stick to a goal and complete programs. We implemented the first version of the application, then it was supported by other developers.
The platform was conceived as a new way of connecting users with experts to achieve fitness and healthy-living goals. WellCaster educates, instructs, and motivates, all within a framework designed to make a lasting impact.
Our team developed an MVP of the project. While looking for the correct product vision to fit the market, we've developed different features that didn't make it to the final product but were still a lot of fun to do. For example, there were three versions of the WellCaster builder, registration wizard, and manual video encoding on our server before we moved to Amazon.
On the technical side are Angular, Django, Python, and Sass. Almost the entire interface is built with Angular using the REST API.
WellCaster has different UIs based on user type: coaches and clients. The most interesting part of the project is the coach part, where a user can compose a training program using our flexible editor.
Training program consists of days; for each day, the coach can set one or multiple goals to achieve. Goals can be very different, from having a healthy breakfast to running a marathon. The editor is based on Angular and uses an extensible back-end API we built to support different types of goals.
A coach can add new ad-hoc goals or reuse existing ones from the library. This is useful for gym or yoga exercises; the coach only describes the technique once and then just specifies reps and sets for each specific training session.
Data is validated on the client’s side and on the back end, so it’s always correctly formatted.
An interesting feature built for this site is a media library. Whenever a user needs to upload a file, he is presented with this nice sliding panel containing his entire media library. The user can either upload new files or reuse existing ones. All media is directly uploaded to s3, so there are no traffic hits on the application server. Video files are converted to multiple formats using an Amazon video transcoder.
We also built this cool scheduling section, where coaches can manage both group and individual classes.
Using the calendar on the coach page, clients can book training time and pay for it using our custom UI, built on top of Stripe.
The mobile application was built by the client's developers using our API. Since the entire application is built with Angular, we already had the REST API, and we only needed to adjust it a little to work more effectively with the mobile application structure.
One of the features built purely for the mobile app is streaks, or habits. A habit is a simple task you repeat every day. For example, a user can start a habit of running. Every day, he or she goes for a run and then marks the task complete. We track progress, build charts, and let users compete with each other.
Public pages are served as simple HTML, without Angular, so that they are correctly indexed by search engines.
We successfully built and launched the MVP, which was subsequently finalized and improved by another group of developers.