What I owned
- Define positioning, target users, and non-goals
- Build the information architecture, core flows, and design system
- Set priorities, the business model, and acceptance criteria
- Review every implemented state and make the final call
INDEPENDENT PRODUCT / 02
Log less. Know what to do next.
The real problem is not missing training data. Logging happens at the worst possible moment to operate a phone.
View detail — ProblemThe core acceptance criterion is no more than three taps and 20 seconds from selecting an exercise to recording a set. Social features, friends, coach matching, real-time AI form detection, cardio, and nutrition are excluded because they require different infrastructure or moderation without directly reducing logging friction.
View detail — ExplorationThe core path connects routine creation, in-workout logging, rest, and review into one continuous ‘next step’ loop.
View detail — SolutionThe evidence currently shows that the design and logic are systematically testable—not that market fit or retention has been proven.
View detail — Validation01 — Overview
Reppro is an iPhone strength-training product for self-directed lifters who already train consistently but struggle with logging friction and progression decisions. I own product strategy, UX/UI, the design system, implementation, and final decisions. The MVP is currently in QA refinement and preparing for launch; it has not been publicly released yet.

02 — Context
The launch market is Taiwan, Hong Kong, and Macau. V1 is Traditional Chinese and iPhone-only. The product uses SwiftUI and SwiftData, stores everything locally, has no backend or account, and ties subscriptions to the user's Apple ID through StoreKit.
The constraints became prioritisation criteria: one person, no research budget, no behavioural analytics, no server, and no parallel Android, iPad, or web build. Explicit non-goals protected the core workout scenario.
03 — Problem
The primary user trains three to five times a week, understands the exercises, and already follows a split routine. They often rely on paper, Notes, or spreadsheets. The difficulty is not knowing what to record; it is doing so immediately after a set, with sweaty hands, unsettled breathing, and a short rest window.
Multiple fields, page switching, and backfilling later make logging easy to abandon. Without consistent history, progressive-overload decisions become guesswork. I defined the core scene as standing beside the equipment, recording one set with one hand in under 20 seconds, and immediately knowing what comes next.
P0: disciplined intermediate self-directed lifters. P1: beginners who need clear guidance. Explicitly excluded: social features, coach matching, real-time form detection, and cardio tracking.

04 — My Role
05 — Discovery
I broke down my own equipment-side logging context—one hand, sweat, limited rest, and divided attention—and used those constraints as inputs to every interface decision.
Every change was run in the simulator and captured for comparison across visual focus, state differentiation, empty states, and design tokens.
I compared the fields, screen changes, and interruptions required to record a set, making logging speed—not feature count—the P0 priority.
The next validation step is equipment-side testing with lifters of different experience levels, focused on one-handed use, logging time, and error patterns.
06 — Strategy
Downloads only prove the store page attracted attention, while DAU conflicts with a natural training frequency of three to five sessions per week. Returning in week four is a better signal that a logging habit and useful history are forming. It also creates the basis for older-history limits and Pro value.
The core acceptance criterion is no more than three taps and 20 seconds from selecting an exercise to recording a set. Social features, friends, coach matching, real-time AI form detection, cardio, and nutrition are excluded because they require different infrastructure or moderation without directly reducing logging friction.
V1.0 had no in-app purchase, but that left product maintenance unanswered. V1.1 became freemium: logging stays free forever; Pro charges for intelligent recommendations and reasons, progress insights, multiple routines, and older history.
Paywalling logging is the line I will not cross. If people must pay before they can build history, the product blocks the value it promises.
One Big Card: one visual focus per screen
Lime means the next action; ink means a completed fact
Numbers lead, using large type and tabular figures
Nothing unrelated interrupts the active workout
07 — Design Process
08 — Solution
A stateful hero card distinguishes ready, active, completed, and rest-day states. One Big Card makes starting the workout the single visual priority.
[Image: shot-1-today.png — interface evidence for this design decision]
Weight, reps, and sets lead the hierarchy. One sentence below the recommendation explains why, so the user can accept or adjust it before entering focused mode.
[Image: shot-4-player.png — interface evidence for this design decision]
Navigation and explanation disappear during the set, leaving exercise, weight, reps, and the completion CTA. Large figures and a lime next action support one-handed, sweaty use.
[Image: shot-2-focus-active.png — interface evidence for this design decision]
The timer ring, optional RPE, next-set summary, and start CTA coexist. Lime remains reserved for the true next action, while a cool green breathing cue distinguishes rest.
[Image: shot-3-focus-rest.png — interface evidence for this design decision]
Exercise count, sets, total volume, and new records establish accomplishment before the set-by-set history. There is no full-screen celebration after every set.
[Image: shot-6-summary.png — interface evidence for this design decision]
Weekly overview and muscle balance are not endpoints. Each insight includes an action that can update the routine directly.
[Image: shot-5-progress.png — interface evidence for this design decision]
09 — Impact & Validation
During QA and pre-launch testing, I evaluate one-handed task completion, time to record a set, incorrect taps, and comprehension of recommendation reasons. Week-four retention only becomes meaningful after a public release and a defined valid sample.
V1 contains no behavioural analytics, supporting the privacy position that workout behaviour is not collected. The cost is losing the in-app funnel between onboarding, starting a workout, completing a log, and paying.
10 — Reflection
One Big Card, semantic two-colour use, and the principle that active training is protected time made it easier to judge whether new requests belonged on screen. Screenshot audits exposed inconsistencies between states more reliably than component specifications alone.
Discovery still relies heavily on my own training context. I would move real-device testing beside equipment earlier instead of relying on the simulator—especially for sweaty hands, one-handed touch, Dynamic Type, VoiceOver, haptics, and lock-screen notifications.
The unresolved question is whether the recommendation engine should include RPE. Rep-based double progression is easiest to explain, but it may still recommend an increase after a very high-RPE session. I would first make RPE capture frictionless, then compare a rep-only rule with a ‘maintain when RPE is high’ rule before introducing a more complex model.