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.

FINAL UI — HOME DASHBOARD, WORKOUT TRACKER, GYM DETAIL AND SHOP SCREENS
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 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.
Method — why this and not that
Competitive analysis — Fitvate
No local competitor existed in the target market, so I benchmarked the global tools interviewees were already improvising with.
Sitemap, flows, then wireframes I was willing to throw away.




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.
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.
Orange as the single accent
Roboto, with tabular numerals
Bottom navigation, thumb-first
Material Design as the baseline
A component library before the screens





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.