A solo-built iOS app - live workout logging, AI summaries, per-muscle recovery maps and an adaptive coach. Designed, built and shipped end to end by me.
Try it yourself: etch.lakiza.io ↗ - a web preview of the app, not the real iOS build, so expect some rough edges, but it gets the functionality across.
About
Etch is a workout tracker I designed and built entirely by myself - not a client project. Product decisions, UI/UX design, the React Native app, the Supabase backend, and the AI layer: all mine. It's my playground for taking an idea from a blank Figma file to a real app on my phone.
The idea is simple: most trackers either impose a rigid program or are dumb loggers. Etch does neither - it learns how you train, shows you which muscles are actually recovered so you train fresh, and uses AI to summarise and coach without ever faking data it can't measure.
Role
Solo - design + full build
Platform
iOS-first · Android
Stack
Expo RN · Supabase · Claude
Status
Near store-ready
Screens
Dark-mode only, iOS-first, built around fast logging and a calm, focused feel.
What it does
Live workout logging
Run an active session and log sets fast - working, warm-up and drop sets, with rest tracking and an iOS Live Activity so the session stays glanceable from the lock screen.
Muscle recovery map
A per-muscle freshness score (0-100%) rendered on a body silhouette. A fatigue-decay model weighs volume, set type, direct vs secondary involvement and muscle size - so you can see, at a glance, what's ready to train again.
Adaptive coach
Instead of forcing a fixed split, the coach engine reads your own cycle and frequency and suggests the next session in your style - surfacing balance and neglected-muscle hints only as optional nudges. It even learns from whether you accept its suggestions.
AI workout summaries
Claude turns a finished session into a short, human summary and coaching note - routed securely through a Supabase Edge Function, never from the client.
Lightweight social feed
Share workouts, follow friends, comment and like - with full report/block moderation built in so it's safe to ship.
Bilingual, from day one
Fully localised in English and Ukrainian, every string translated in both.
The interesting part
The recovery and coach systems share one rule: never fake what you can't measure. Recovery is a transparent fatigue-decay model - time since load, working-set volume, set type, muscle size - with clear 🔴 / 🟡 / 🟢 bands, not a black box pretending to know your sleep or soreness.
The coach is a "soft trainer": it detects your split deterministically, lets AI interpret it, then recommends - and backs off nagging when you keep ignoring a hint. The goal is a tool that respects how you already train instead of lecturing you.
Under the hood
Because I built the whole thing, the case is as much engineering as design: a typed React Native codebase, a Supabase backend with row-level security and Edge Functions, a real content-moderation layer, account deletion, and store-compliance work - all the unglamorous parts that make an app actually shippable.
Status
The core product is built and running on my phone: logging, recovery, coach, AI summaries, social and moderation are all shipped. The remaining work is store-submission housekeeping (paid developer account, Sign in with Apple, hosted legal URLs) rather than product.
1
Person - design + build
2
Platforms (iOS · Android)
AI
Recovery · coach · summaries
Want a closer look?