Muay Thai Combo Trainer
An Android trainer with 107 combos and hands-free voice control whose ten static routines keep working across every newly generated session.
Live, in your browser — not a screenshot.
Problem
During training my hands are wrapped and gloved, so a touchscreen is useless. I needed to generate a ten-combo session before the round, then reveal any combo by voice without touching the phone.
What I built
An Expo/React Native Android app with 107 combos, filters, random sessions and 60-second auto-collapsing cards. Google Assistant deep links and an in-app recognizer both route to the same slot-opening action; the recognizer checks alternatives and known mis-hearings for noisy gym use.
The hard part
Assistant routines are static, but every generated session is different. Binding a routine to a specific combo would require 107 routines—or rebuilding them before every workout.
The deep link therefore addresses a slot, not a combo. muaythai://combo/3 means “open whatever is currently third.” Ten routines are configured once, while the app resolves each stable ordinal against live session state. That small indirection turns a static automation platform into a dynamic hands-free interface.
Results
A whole session now runs hands-free: call a slot, see its steps, train for 60 seconds, and move on. Regenerating all ten combos requires zero routine changes.