← Back to work

Team Project · 5

RepQuest

A gamified workout tracker with structured routines, streaks, and unlockable achievements that turn the consistency of going to the gym into a game.

TEAM PROJECT · 5 AGILE / SCRUM UI/UX DESIGN WIREFRAMING HTML / CSS / JS HANDLEBARS POSTGRESQL DOCKER MOCHA / CHAI

My Role

What I worked on

The Problem

Why this app

Most fitness apps are built for people who already work out. RepQuest is built for people who want to get started, and want something to hold them accountable. Our target user is a college student in their late teens or early twenties who's never managed to stick with a gym routine before: motivated in theory, easily discouraged in practice by lacking methods to keep them on-track or gyms that feel unapproachable. Our team's vision statement put it plainly: a way to turn fitness tracking into something closer to a game than a chore, so showing up starts to feel like progress instead of an obligation.

From Wireframe to Build

Wireframe vs. final

Home — the workout pathway

WireframeHand-drawn wireframe of the RepQuest home page, showing a winding path of five workout levels between the header and the bottom nav.
FinalScreenshot of the live RepQuest home page, showing the same winding workout path with real level icons on a gradient background.

Shipped almost exactly as sketched. Only changes were: Hamburger menu → home icon; streak page fully scrapped → header streak counter.

Calendar

WireframeHand-drawn wireframe of the RepQuest calendar page, a seven-day week grid with a details line under each day.
FinalScreenshot of the live RepQuest calendar page, showing a seven-day week with each day's assigned workout type.

Same 7-day layout, now has real-time dates and push/pull/legs/rest data.

Workouts

WireframeHand-drawn wireframe of the RepQuest workouts page, listing Workout 1 and Workout 2 as empty boxes.
FinalScreenshot of the live RepQuest workouts page, showing Push Day and Pull Day exercise tables with sets and reps.

Empty placeholder blocks became real exercise tables with sets and reps.

Achievements

WireframeHand-drawn wireframe of the RepQuest achievements page, a 3-by-2 grid of empty badge placeholders.
FinalScreenshot of the live RepQuest achievements page, showing two unlocked workout badges alongside locked ones still greyed out.

Fully personalized, trigger-driven badge system — unlocked badges light up in color, with the date earned.

Profile

WireframeHand-drawn wireframe of the RepQuest profile page, with a side menu and a large information panel.
FinalScreenshot of the live RepQuest profile page, with a profile picture, username, Change Profile Picture button, and Log Out button.

Built by me end-to-end, including the profile picture upload and a saved profile picture backlog.

Streak

WireframeHand-drawn wireframe of a dedicated RepQuest streak page, with a flame icon and day count.
FinalScreenshot of the live streak counter folded into the app header, reading a flame icon and 'Current streak: 1 days'.

Originally planned as its own page and ended up embedded in the header as a counter instead, since the flame + day count said enough on its own.

UI/UX Design

Designing the visual language

Most of my day-to-day work on this project was visual design. I decided most of what a piece of state should look like before anything was properly implemented.

  • Color-Coded States — Gray = locked, green = unlocked. A simple way to track progress visually.
  • Custom Iconography — One icon per workout type (push/pull/legs/rest), reused consistently across the path, workouts, and achievements.
  • Design System — One consistent visual language, making sure that a theme was maintained throughout.

Path Icons — Locked vs. Unlocked

Locked path icon for a push workout, shown in gray.Push — Locked
Unlocked path icon for a push workout, shown in green.Push — Unlocked
Locked path icon for a pull workout, shown in gray.Pull — Locked
Unlocked path icon for a pull workout, shown in green.Pull — Unlocked
Locked path icon for a legs workout, shown in gray.Legs — Locked
Unlocked path icon for a legs workout, shown in green.Legs — Unlocked
Locked path icon for a rest day, shown in gray.Rest — Locked
Unlocked path icon for a rest day, shown in green.Rest — Unlocked

Achievement Trophies

General fitness milestone trophy, a gold cup with flexing arms.General
Push workout milestone trophy.Push
Pull workout milestone trophy.Pull
Legs workout milestone trophy.Legs
Rest day milestone trophy.Rest
Streak milestone trophy.Streak

Brand Marks

RepQuest logo.Logo
Flame icon used for the streak counter.Streak Flame

Reflection

Challenges & what I learned

For a 4 week long project, our team did a great job staying on track, and creating something we could be proud of. Besides that, there were some things we ran into and learned from: