HouseRox
A home-training app for hybrid fitness racing, driven by a tested, rule-based training engine.
- Proof
- ✓ 260+ engine tests
- Proof
- ✓ Two-model review on every slice
- Proof
- ✓ Rulebook-driven, not hard-coded
My role
Product, rulebook, engine and app. Engine slices are implemented and cross-reviewed with a second AI model.
The problem
Training plans that ignore missed weeks, illness or heat get people hurt. The plan has to adapt to what actually happened, and stop the user when it isn't safe.
What I built
- A pure TypeScript engine implementing a 20-rule training rulebook: weekly growth caps with deloads, station progression, return-to-training ramps after a break, and race-date feasibility.
- An Expo / React Native app (expo-router, SQLite): setup and screening, today's session, prep, a workout player, stop and receipt screens.
- A safety screen with hard stops, plus stop and seek-care guidance during a session.
Hard parts
Breaks without collapse
An early rule let one missed week collapse running volume to near zero. The fix is date-based: 7–13 days off returns at 85%, 14–27 days ramps 65 → 80 → 90 → 100%, and 28+ days offers a fresh plan.
Durable, ordered writes
Workout logs are written in order. Unreadable data gets a recovery screen instead of a crash, and a stale-day workout ends instead of resuming.
Stack
- Expo
- React Native
- TypeScript
- expo-router
- SQLite
- Jest
Skills shown: React Native / Expo, TypeScript, React, Automated testing, Specs & SDLC, Code review & tech lead, AI-assisted development