Inspiration

Habitica, Applewatch Healthkit

What it does

This app aims to make fitness a game that you want to play. The more you work out, the more you'll be rewarded. You can complete daily tasks, keep track of your steps, and generate daily workouts depending on

How we built it

Exercise Arcade was built as a full-stack habit and fitness app with a game layer on top. The backend uses Flask to serve the main pages and API routes, while MongoDB is used for account data, sessions, and user progress such as points, fitness logs, daily task completions, and custom routines. The frontend is a mostly self-contained HTML, CSS, and JavaScript interface that handles login, step logging, daily challenges, and arcade-style rewards like the prize wheel and mini-games. A Google sign-in option was added along with a regular login for extra convenience and security. The server is capable of creating real logged-in sessions tied to account records stored in MongoDB. The result is a web app that mixes productivity and fitness tracking with light game mechanics, using a simple Flask architecture and a Mongo-backed user model to keep everything connected.

Challenges we ran into

Setting up Google OAuth was a challenge. It was a tricky process that involves complex tasks such as parsing encrypted JWTs and making sure the system complies with strict requirements for security. We had to navigate the overwhelming Google Cloud UI, but it was worth it in the end for the extra convenience and security provided for our users.

Accomplishments that we're proud of

We developed a way to connect this app to an applewatch to track steps

What we learned

We learned more about github actions, how to use mongodb with vercel, and we learned more about wep development.

What's next for Exercise Arcade

We plan to add more to the gym to buy more items and make it look better.

Share this project:

Updates