
Level
Overview
How do we solve for the absence of direction in the gym?
The Problem
Users get body composition reports full of numbers with no guidance on what they mean or what to do next. Fitness tools are fragmented across device ecosystems, and none close the loop between measurement and action.
The Approach
Built a decision system where users upload any body comp report — the system extracts, normalizes, and interprets every metric, presenting progress as a narrative (current → previous → target) before any raw data. When trends shift, the system proposes reviewable workout adjustments users can accept or reject, with rejections feeding back into future recommendations.
The Outcome
Activation — Report interpreted in under 20 seconds, delivering value before users drop off.
Retention — Evolving workout suggestions give users a reason to return between monthly scans.
Engagement — Accept/reject feedback loop builds a personalised preference model that compounds over time.
Market Gap
Fitness tools track data, but don't turn it into decisions.
Body composition testing is becoming more accessible—gyms install BIA machines, clinics offer DEXA scans, home scales promise precision. But access to measurement hasn't solved the core problem: understanding what the numbers mean and what to do next.
These provide apps with graphs and interpretations, but only work within their own device ecosystem. Users who scan at different gyms or switch machines lose continuity.
Good at collecting numbers and visualizing trends, but don't translate scans into structured training decisions. Home BIA doesn't align with the gym report workflow.
Focused on report viewing and trend dashboards, not action. Output is tracking, not training plans that adapt to body data.
Solving a different problem: how to measure without equipment. Our gap is: given the report users already have, turn it into a plan.
Body composition data exists across devices, printouts, and PDFs, but there's no neutral layer that:
Explains meaningful change while filtering noise (hydration, protocol variations)
Processes reports from multiple sources
Translates it into a clear training path
Problem Validation
Assumptions tested against real users and research.
Before designing anything, I needed to test my assumptions. This wasn't just my lived experience—I needed to validate that others faced the same challenges.
1
assumptions
what research showed
1
No solution solves this cleanly
Tools exist, but fragmented and inconsistent
2
Users without trainers lack direction
Only ~11% use trainers; majority self-guided
3
People struggle with interpreting BIA
Health numeracy research confirms this
4
Users regularly take BC tests
4/6 interviewees do at varying frequency
5
Workout planning is disorganized
Interview quotes confirm chaos
6
People crave fitness improvement
Market + trend data confirm demand
The Challenge
The real problem isn't measurement, it's sense-making.
How do you help users understand whether they're progressing, and what to change next week, without asking them to become experts?
Confusing Body Data
Fat, muscle, water percentages arrive as numbers, but users don't know if they represent progress, noise, or regression.
Training Without Guidance
Most people lift alone. No coach, no feedback loop, just guesswork and hope.
Inconsistent Reports
Body-scan results shift based on hydration, timing, or machine quirks, making progress feel unreliable.
Chaotic Planning
Users bounce between routines, reels, and random advice, ending up with workouts that lack structure or continuity.
Fragmented Fitness Tools
Tracking, training, and body data live in separate apps, nothing works together to tell a clear story of progress.

Design Approach
Built as a decision system that learns from user feedback.
Most fitness apps optimize for tracking or motivation. But the real bottleneck isn't logging workouts or getting hyped, it's the moment when someone stares at their body composition report and asks: "What does this mean for next week's training?"
Why a decision system?
Agency over automation
Users want guidance, not commands. Level proposes changes but lets users maintain control.
Learning from rejection
When users reject suggestions, the system captures why—building a preference model that improves over time.
Data → Action continuity
Every measurement flows directly into training adjustments, closing the loop between testing and doing.
The reinforcing loop:

Each pass through this loop increases clarity, reduces guesswork, and compounds progress. This isn't a tracker—it's a system that learns with the user.
Solution 1
Turn raw body data into usable signals
Body composition reports are dense, inconsistent, and context-sensitive. Without system support, users draw incorrect conclusions.
SOLUTION
Users capture or upload a report and receive guidance to ensure accuracy. The system processes it in under 20 seconds using:
Template detection — Reports repeat visual patterns per brand. The system identifies templates via header text, metric ordering, and signature fields (phase angle, segmental tables).
Regex sets for extraction — Each metric is detected using pattern sets, not single labels. Example: "Body Fat %", "BF%", "Fat Percentage", "PBF" → same intent.
Confidence scoring — Every extracted value carries OCR confidence, label confidence, and positional confidence. Low-confidence fields are flagged, not silently accepted.
Canonical field mapping — Brands use different names for the same metric. Level maps everything to a fixed internal schema (e.g., body_fat_percentage, lean_mass_kg). This allows valid comparisons even when switching machines.
OUTCOME
Users see insights before raw metrics. Interpretation always precedes exposure. When confidence is low, the system surfaces uncertainty rather than hiding it, building trust in outputs that do appear.
This optimizes for user activation when they realize the ease with which the system can extract data and insights from the report.






Solution 2
Understand progress without interpreting charts
Progress is often obscured by charts that require visual or medical literacy to decode.
SOLUTION
Level treats progress as a narrative, not a dashboard.
At the top level, users see only what matters most:
Current value
Previous value
Target
This establishes direction at a glance. Deeper views progressively reveal trends, ranges, and contextual explanations, without overwhelming those who don't need detail.
Written insights translate patterns into plain language, turning isolated reports into a continuous story.
OUTCOME
Understanding scales in depth without demanding expertise. Users can validate change without studying graphs.
This reduces cognitive overload by implementing progressive disclosure.

Solution 3
Translate insights into training decisions
The critical design challenge: how should users engage with recommendations?
Fully automated plans remove agency. Open-ended planning reintroduces guesswork. Level sits deliberately between the two.
SOLUTION
When body composition trends indicate needed changes, the system proposes specific, reviewable adjustments to the weekly workout.
Users can accept or reject individual suggestions. Rejections open a conversational interface that captures constraints and preferences, feeding back into future recommendations.
Inspired by permission-based interaction patterns I experienced while building a web app on Cursor. The flow presents system-generated changes as explicit, reviewable actions—users maintain control while benefiting from data-driven guidance.
OUTCOME
The flow presents system-generated changes as explicit, reviewable actions, users maintain control while benefiting from data-driven guidance.
This is where the trust>convenience tradoff ties in- manual steps introduce friction, but friction here builds commitment.












Solution 4
Get oriented without friction
Health products often fail by demanding personal data without explaining its purpose.
SOLUTION
Level's onboarding anchors every question to an immediate outcome. Users understand how their inputs will shape insights and recommendations before committing.
The flow alternates between short explanations and lightweight inputs—reducing perceived effort while building a mental model of how the system works.
OUTCOME
reduction in time to value (TTV)
combining onboarding and activation to make user realize the value propositions


Colour System
The interface is intentionally restrained. A dark theme supports focus in gym and low-light contexts while reducing visual fatigue.
PRIMARY BRAND COLOUR
Performance Green
#71CB95
Brand highlights, Active states, Key emphasis moments, Select surface accents
BG & SURFACES
Deep Charcoal
#121212
Primary canvas. Sets the dark, performance-focused foundation.
Deep Graphite
#202020
Used for main cards and containers that sit closest to the user’s focus.
Charcoal Grey
#2D2D2D
Used for nested surfaces and layered depth.
TYPEOGRAPHY AND ICON
Soft Stone
#D4D4D4
High-contrast neutral used for primary reading content and key actions.
Muted Slate
#A4A4A4
Reduced emphasis for supporting information, metadata, and secondary labels.
Muted Grey
#878787
Used where visual hierarchy requires de-prioritisation without loss of legibility.
Type System
Typography prioritizes legibility and endurance over expression. Neutral text colors preserve hierarchy, ensuring data remains readable without distraction.
The system feels analytical, calm, and credible—aligned with its role as a decision tool rather than a motivational product.
Expected Impact
Confident, injury-free fitness journeys backed by data.
More confident fitness journeys
Users make informed decisions backed by body composition data instead of relying on how they feel or what the scale says.
Injury prevention through clarity
Data-driven guidance helps users avoid pushing too hard when their body needs recovery, or training ineffectively when they have capacity.
Clarity through data-backed progress
Fitness journeys become less chaotic. Users understand what's working, what's not, and why—without needing a coach.
Potential Roadblocks
Monthly scans, workout memorization, and trust in data accuracy.
User drop-off between scans
Body composition reports are typically taken once a month. Without frequent touchpoints, users might disengage between scans.
Mitigation
The workout screen provides value during training sessions. Users still reference the app for their weekly plan, rest timers, and exercise alternatives—maintaining engagement between body composition updates.
Workout memorization reduces return visits
After a few sessions, users memorize their routine and may stop opening the app during workouts.
Mitigation
Agentic workout adjustments based on body composition trends ensure plans evolve. Users return to review and accept/reject suggested changes, keeping the experience dynamic.
Data accuracy concerns
Users might question whether extracted data from photos/PDFs is reliable.
Mitigation
Confidence scoring surfaces uncertainty. Low-confidence fields are flagged for manual review. Users trust the system because it's honest about limitations.
Over-reliance on BIA metrics
BIA has known limitations (hydration sensitivity, device variability). Users might over-trust the numbers.
Mitigation
The system explicitly acknowledges context factors and trends over time, reducing noise from individual measurements.
Key Learnings
High-fidelity iteration, nutrition integration, and permission-based AI.
Skipping lo-fi wireframes was the right call.
The complexity of Level—data density, temporal context, and decision timing—meant real problems only surfaced in high fidelity. By designing directly in detail and iterating quickly, I validated hierarchy, clarity, and flow under realistic conditions.
This approach reduced iteration time and kept the interface tightly aligned with the product's core loop.
Nutrition is non-negotiable for a complete solution.
Secondary research showed that body composition reflects both training and nutrition. I initially scoped out diet features to keep the MVP lean, but revised the approach to include minimal, linked nutrition tracking.
BIA stays meaningful without bloating the product. This is a concrete example of evidence-driven iteration: learn fast, adjust fast, keep the core experience sharp.
Permission-based agentic workflows build trust.
Drawing from my experience building on Cursor, I learned that users engage better with AI suggestions when they're presented as reviewable actions, not automated decisions. This interaction model doesn't commonly exist in mobile fitness products but feels natural and respectful.
Why Doesn't This Already Exist?
Document parsing, fitness expertise, and behavioral design—all three, together.
Document parsing at scale
Body composition reports vary wildly in format. Building reliable ingestion across brands, machines, and input types (photos, PDFs, screenshots) is non-trivial.
Fitness domain knowledge
Understanding which metrics matter, how they interact, and what training adjustments make sense requires deep fitness literacy. Most products either over-simplify or assume users already know.
Behavioral design for agency
Users don't want rigid automation, but they also can't plan effectively alone. Building a system that guides without commanding—and learns from user preferences—is a design challenge most products don't attempt.
Body composition reports vary wildly in format. Building reliable ingestion across brands, machines, and input types (photos, PDFs, screenshots) is non-trivial.
Moving Forward
Priority 1
Document ingestion and parsing
Build a lightweight layer using a constrained set of canonical fields. This allows reliable extraction of body composition data and generation of foundational workout and diet insights.
Priority 2
Operationalize the feedback loop
The workout editing flow becomes the primary learning surface. Capture user responses to system suggestions and use those signals to refine future recommendations.
Close the loop with nutrition tracking
Level currently focuses on workout recommendations, but training is only half the equation. The next phase integrates calorie and macro tracking that connects directly to body composition trends—creating a complete feedback loop where training, nutrition, and measurement reinforce each other.














