Mobile App · iOS
Role
UI/UX Design + Frontend Engineering
Platform
iOS
Stack
React Native Expo · TypeScript
Timeline
6 Months
My role: Sole designer and frontend engineer — responsible for all UX, UI, and React Native implementation. Collaborated with a backend engineer who owned the API architecture, database design, and server infrastructure.
Problem
Most gym-goers track workouts in their phone's notes app — hard to recall, impossible to track progress. There's no continuity, no data, no insight.
Trainers have it worse. They're stuck with overpriced, clunky software built by people who don't train — tools that feel like spreadsheets dressed up as apps.
Nimzo sits in the middle. Simple enough for the lifter. Powerful enough for the trainer. Core user: gym-goers first, trainers second.

Solution
A mobile-first fitness platform built in React Native Expo — designed for speed, clarity, and the actual rhythm of a workout. Every screen was designed to be usable with one hand, between sets, with 60 seconds on the clock.




Workout Builder
Building a workout had to feel as fast as writing in Notes — but with structure. The challenge: how do you make a deeply nested data model (workout → exercise → set → reps/weight) feel effortless?
The answer was progressive disclosure. Surface only what the user needs at each step. Collapse completed sets. Make reordering feel physical.
This was the UX highlight of the entire app — and the design problem that took the most iteration to solve.


Barcode Scanner


Competing apps have janky scanning experiences — lag, misreads, cluttered results. Nimzo's scanner was built to feel instant and confident.
Point, scan, log. The result screen shows macro breakdown clearly, without the noise. Designed to be used in a gym bag, not at a desk.
Brand & Social
The brand takes cues from Nike and NoBull — direct, commanding, no fluff. But the vision isn't a niche product for elite athletes. It's a platform accessible to anyone who shows up to train, from first-timers to seasoned lifters.
The long-term push is community. Shared programs, trainer-to-athlete connections, and a feed that makes progress feel collective — not solo. Fitness is more consistent when it's social.
Instagram as primary acquisition channel with an 8-template content system: workout clips, progress callouts, educational posts, and product UI highlights — all cohesive, all fast to produce.





8-template Instagram content system
V2 Vision
V2 introduces a marketplace layer: trainers can publish and sell workout programs at scale. Gym-goers discover, follow, and purchase from creators they trust.
Think Figma Community applied to fitness programming. The trainer becomes a publisher. The gym-goer gets expert-designed programming without the personal training price tag.
This shifts Nimzo from a utility app to a platform — with network effects, creator incentives, and a recurring revenue model.




Friction Discovery
Post-launch feedback surfaced friction in the core workout tracking flow — specifically, the check button UX for logging a completed set. Users weren't confident the action registered.
This is a real product design story, not a polished portfolio piece. The friction was identified, documented, and prioritized for the next sprint. The fix: stronger haptic feedback, a more deliberate animation, and a persistent set counter to reinforce state.
Shipping and learning > waiting for perfect.
Before
Ambiguous check button — users tapped, nothing felt confirmed. Doubt crept in mid-set.
After
Stronger haptic, deliberate animation, persistent set counter. State is always clear.