Andrei Cabrera

Case study · solo product

LiftIQ: an iOS strength coach grounded in peer-reviewed sport science.

Solo-built · 466/466 tests passing · ~$8/month infra · Get it on the App Store →

LiftIQ is an iOS app that programs resistance training the way a thoughtful S&C coach would. Every recommendation traces back to the ACSM 2026 Position Stand on resistance training, not vibes from a forum.

The app is an experiment in how far a solo engineer can take an AI-assisted stack when the goal is a defensible, science-grounded coach, not a fitness chatbot.

LiftIQ training plan. Push/Pull/Legs programme with the week's prescribed sets

Plan · ACSM-grounded prescription

LiftIQ home. Today's workout and a glance at calories, water, and quick actions

Home · what users see daily

LiftIQ AI Coach answering pre-workout nutrition and rest-day questions

AI Coach · the coaching layer in action

Stack

AI architecture

Three-layer pipeline · each independently evaluated

Layer 1

Intent

Interpret what the user actually wants from a session (push day, deload, return-to-training) without 12 questions.

→ held-out eval set

Layer 2 · ACSM 2026

Programming

Generate the workout: exercise selection, sets, reps, RPE/RIR. AI proposes, the ACSM schema disposes.

→ held-out eval set

Layer 3

Coaching

Explain, encourage, adjust based on yesterday’s session, today’s readiness signals, and known constraints.

→ held-out eval set

Each layer is evaluated independently. The middle layer holds the ACSM mapping that prevents the model from drifting into recommendations the science doesn’t support.

The AI work is structured into three layers, each with its own evaluation:

  1. Intent layer. Interpret what the user actually wants from a session (push day, deload, return-to-training, etc.) without asking 12 questions.
  2. Programming layer. Produce the actual workout: exercise selection, sets, reps, RPE/RIR, rest windows, progression rules. This is where the ACSM mapping lives.
  3. Coaching layer. Explain, encourage, and adjust based on yesterday's session, on-the-day readiness signals, and constraints.

Each layer is evaluated independently with a small held-out test set. If a prompt change moves intent accuracy without moving programming quality, I can see it.

The ACSM 2026 Position Stand mapping story

The hardest engineering problem wasn't the model. It was the mapping. The ACSM 2026 Position Stand is a long, dense, research-driven document. Translating its recommendations into something a workout-generation system can act on required:

This is the part of the app I'm proudest of. It's the reason "AI fitness app" isn't a slur in the LiftIQ context.

Result

What this shows

Try it

Get LiftIQ on the App Store →

If you want to talk shop on AI architecture, evals, or the ACSM mapping work, get in touch. Happy to compare notes even if it's not a fit.