← ALL WORK
CASE STUDY 01SOLE DESIGNER + PRODUCT OWNERANDROID · MVP · NEPAL

GYMHUB

Find a gym that's actually open when you are — then keep your workouts and diet in the same place. An MVP built for Kathmandu, where no such product existed.

GYMHUB final UI screens

FINAL UI — HOME DASHBOARD, WORKOUT TRACKER, GYM DETAIL AND SHOP SCREENS

ROLE
Sole designer · Product owner
SCOPE
Research, UX, UI, Figma system, prototype
TOOLS
Figma, Google Forms, Material Design
OUTCOME
Shipped Android MVP on Google Play
01 — THE PROBLEM

Nobody has time to walk door to door asking about opening hours.

Gyms in Kathmandu differ wildly on price, equipment and operating hours, and none of it is published anywhere comparable. A working professional either guesses or visits in person. Once they've joined, the second problem starts: they forget what they lifted last week and skip meals they meant to track.

"I don't know the gyms near my office, and I can't visit each one to find out when they open." — Saroj, 28, software engineer
02 — RESEARCH

I didn't want opinions. I wanted a sample.

A screener survey to find who actually trains and what stops them, then one-on-one interviews with the five most representative respondents. Mixed methods on purpose: the survey gives me distribution, the interviews give me the why.

56
SURVEY RESPONDENTS SCREENED
5
IN-DEPTH 1:1 INTERVIEWS
20–40
AGE RANGE, MIXED INDUSTRIES
2
PERSONAS THAT SURVIVED SYNTHESIS

Method — why this and not that

Screener survey (n=56)
Cheap breadth. It told me how people currently track training and whether the gym-finding problem was real or just mine.
Semi-structured interviews (n=5)
Picked from the survey extremes, not volunteers — the people most and least consistent about training.
Competitive teardown
No local product existed, so I audited the global apps interviewees had already abandoned, and why.
Moderated usability testing
Run on the lo-fi prototype with the same five people, so feedback was cheap to act on before any UI existed.
SB
Saroj Basnet, 28
SOFTWARE ENGINEER · CHABAHIL · TRAINS AFTER WORK
GOALS
A gym near home or office, with equipment and trainer details visible before he commits.
FRICTION
Can't visit gyms door to door; overtime kills any fixed schedule.
AB
Akash Bhaila, 34
ENTREPRENEUR · KALOPUL · IRREGULAR ATTENDANCE
GOALS
Log workouts and diet, re-check last week's weights, learn correct form from video.
FRICTION
Forgets previous sessions; too self-conscious to ask the trainer daily.

Competitive analysis — Fitvate

No local competitor existed in the target market, so I benchmarked the global tools interviewees were already improvising with.

KEEPS
+ Free tier with self-built workout plans
+ Video tutorials for every exercise
+ Premium plans are editable, not locked
GAPS I COULD OWN
No diet tracking at all
Not available in Nepal
Payment gateway unusable locally
No gym discovery whatsoever
03 — IDEATE

Sitemap, flows, then wireframes I was willing to throw away.

STEP 01
Sitemap
Four portals — user, gym, trainer, shop — collapsed into one account model so the MVP had a single login.
STEP 02
User flows
Two critical paths mapped end to end: find-and-join a gym, and log today's workout in under four taps.
STEP 03
Lo-fi wireframes
Grey-box screens, no styling, so testing responded to structure rather than colour.
STEP 04
Iterate, then UI
Multiple wireframe passes after testing before a single final pixel was drawn.
THE PROCESS: EMPATHIZE, DEFINE, IDEATE, PROTOTYPE, TEST
THE PROCESS: EMPATHIZE, DEFINE, IDEATE, PROTOTYPE, TEST
SANJAY MAHARJAN, 34 — ONE OF THE PERSONAS BUILT FROM THE INTERVIEW RESEARCH
SANJAY MAHARJAN, 34 — ONE OF THE PERSONAS BUILT FROM THE INTERVIEW RESEARCH
EARLY WIREFRAMES — HOMEPAGE, GYM DETAIL, EXERCISE TRACKING
EARLY WIREFRAMES — HOMEPAGE, GYM DETAIL, EXERCISE TRACKING
FITVATE — THE CLOSEST EXISTING COMPETITOR IDENTIFIED IN RESEARCH
FITVATE — THE CLOSEST EXISTING COMPETITOR IDENTIFIED IN RESEARCH
WHAT USABILITY TESTING CHANGED

The app had to stay free, which meant an ad slot. Testing on the lo-fi prototype showed that placing it above the workout log pushed the primary action out of thumb reach, so it moved below the tracking card — visible on scroll, never between the user and the thing they opened the app to do.

04 — DESIGN DECISIONS

Every choice, and the reason behind it.

This is the part interviews usually skip. Below is the actual reasoning for the colour, the type, the layout and the system — including where the reason was a constraint rather than a preference.

COLOUR

Orange as the single accent

#FF6B2CAA ON DARK~8% OF SURFACE
DECISION
One warm accent on a near-neutral base, reserved for the primary action and active tracking state.
WHY
Orange reads as heat, effort and warmth — the emotional register of training. Limiting it to a small share of surface area keeps it a signal, not a mood wash, so "log this set" is always the loudest thing on screen.
TYPOGRAPHY

Roboto, with tabular numerals

16/24 BASE1.25 SCALETNUM
DECISION
System-native type at a 1.25 scale, numerals set tabular everywhere weights, reps and calories appear.
WHY
Android-native rendering means no font download on the low-bandwidth connections most users were on. Tabular figures stop weight columns from jittering between sets — a tiny fix that made logging feel accurate.
LAYOUT

Bottom navigation, thumb-first

5 DESTINATIONS48DP TARGETS
DECISION
Five top-level destinations in a bottom bar; the primary log action sits inside the natural thumb arc.
WHY
Users log mid-workout, one-handed, sometimes with the phone on a bench. Anything above the midpoint of the screen is a two-handed action, and two-handed actions get skipped.
PLATFORM

Material Design as the baseline

MATERIAL 2ANDROID ONLY
DECISION
Followed Material spacing, elevation and component behaviour rather than inventing a language.
WHY
An MVP budget buys either novelty or reliability. Material gave me tested accessibility defaults and let every hour go into the two things that were genuinely new: gym discovery and tracking.
SYSTEM

A component library before the screens

FIGMA VARIANTSTOKENS
DECISION
Colour, type and spacing tokens plus variant-driven components, built before the final UI pass.
WHY
Post-test changes then cost minutes instead of days, and the handover to build was a token map rather than a redline document — the same discipline I now carry into code.
05 — FINAL UI
GYMHUB home dashboard
HOME — TODAY'S PLAN ONE TAP AWAY, WITH THE AD SLOT DESIGNED IN
GYMHUB gym detail
GYM DETAIL — HOURS, TRAINERS AND PLAN PRICING, THE THREE THINGS PEOPLE VISITED IN PERSON FOR
GYMHUB exercise tracker
SET LOGGER — STEPPERS SIZED FOR ONE-HANDED USE MID-SET
GYMHUB navigation menu
MENU — FOUR ACTORS (USER, GYM, TRAINER, SHOP) UNDER ONE ACCOUNT
GYMHUB login
LOGIN — SINGLE ACCOUNT MODEL, BUILT TO TAKE PAYMENTS IN V2

THE FULL HIGH-FIDELITY SET — SHIPPED AS AN ANDROID MVP, MONETISED THROUGH IN-APP ADVERTISING

Outcome

Shipped to the Play Store as an Android MVP with a Figma component library behind it, structured so payments could be layered in without redrawing the flows.