In the works · SwiftUI, SwiftData, on-device speech recognition
Repeat is a SwiftUI app for practicing spoken lines — reading a line and then actually saying it out loud, rather than just reading it silently. It uses on-device speech recognition to check what was said against the target line and flags the specific words that didn't match.
The recognizer is biased toward the specific line being practiced, using contextual hints, which improves accuracy on short, deliberate phrases — generic speech recognition performs poorly on short utterances read out of context. Words that repeatedly cause mismatches get added to a trouble-words list, which surfaces them for focused practice until they're cleared.
Built as a modular SwiftUI app, split into separate Swift packages for the speech engine, progress and streak tracking, data persistence (SwiftData), and a shared design system.
Still early-stage and currently just for personal use: a daily practice target, a streak counter, and a shrinking list of problem words.