Inspiration

Despite the growing popularity of home exercise, callisthenics, and physiotherapy -- so many people are plagued by terrible form while exercising that staying healthy is still a challenge for many. The Exercists aims to solve this, as a game that incentivizes proper exercise form and consistent workouts.

What it does

The player enters a match by selecting from a growable list of pre-logged exercises. Either by themselves or against others, the player then must propel their car forward through the motions of their exercise. Players are rewarded based on form/accuracy and consecutive repetitions (combos) through larger bursts of speed for their car.

Outside of the core gameplay loop, The Exercists features:

  • Recording new exercises
  • Personal statistic tracking (heart rate, accuracy, etc.)
  • Personalized AI-generated voice lines for your success
  • Online leaderboards with global stats
  • A robust backend tech stack! (Terraform, MongoDB, etc.)
  • A really cool robot car

How we built it

The Exercists was built on a diverse tech stack that bridged hardware and software. On the hardware end, Arduino technology was used to connect motors and wheels to a microcontroller built to propel the car at fixed distances. Input is taken from Nintendo Switch JoyCons (motion data, buttons, IR camera) and fed to the laptop. On-device processing on our laptops handles both the input from the JoyCons and feeding instructions to the car via Bluetooth. Important information such as statistics, scoring, and voice lines are processed as the laptop accesses our cloud backend. Deployed on Google Cloud through the infrastructure of Terraform, our endpoints communicate with OpenAI to securely generate our custom voice lines with input from the game. The web UI was made with Flask and also deployed on the same server as the endpoints, interfacing with MongoDB in order to store and access all user data and statistics.

All these different pieces of software work in perfect synchronization to ensure The Exercists runs perfectly smoothly.

Challenges we ran into

The largest challenge we ran into was likely connecting the complicated backend with our middleman laptops, as well as the cloud frontends. Integrating the many pieces together was the defining challenge of The Exercists, but also the feat that ultimately made the project so accomplishing. There was no grand eureka moment, the only challenge was the time poured into combing through documentation and making sure everything worked in harmony.

Accomplishments that we're proud of

One stand-out accomplishment was the use of Terraform. By using Terraform to manage our infrastructure, we took lots of time at the start of the project to figure it out. However, by the end of the hacking time, it was clear that our efforts had paid off as Terraform's efficiency allowed us to manage everything much faster, despite the initial challenges.

What's next for The Exercists

The Exercists looks forward to refining its features, namely by being able to physically connect weights to the controllers instead of having to awkwardly hold both. This is something we aimed to accomplish but were unable to in the time.

Built With

Share this project:

Updates