Yap is an iPhone app for learning a language by speaking it. Tap the microphone and talk — a tutor listens, answers out loud, corrects as much or as little as you asked it to, and turns the words you used into flashcards. Nineteen languages. It's in private beta on TestFlight while the App Store listing catches up.
Holding the conversation was the easy part. A realtime model will talk to you in French all day.
The avatar listens to the audio, not the transcript
The tutor is a blob with two eyes, and it has to feel like it is actually hearing you. Which signal you animate turns out to decide that. The transcript is the tempting one — it is already arriving, it is text, it is easy to key off. It is also wrong: text lands ahead of the audio, so an avatar driven by it bobs to words you have not heard yet and reads as a puppet mouthing the wrong track.
So every motion comes off the audio itself — level, onset and envelope, measured per stream, evaluated per frame on the UI thread. A silent call renders the idle pose exactly, because every reactive term is a multiplier on a signal that defaults to zero. The face has nothing to say until it hears something.
Cards made of the words you said
Recognising a word on a flashcard is not the same as reaching for it mid-sentence, and most language apps quietly train the first one. Yap builds its deck the other way round: after a session you capture what you actually used, and that becomes the thing you review.
The rest is kept deliberately small — one friend to share a streak with rather than a leaderboard, and a tutor you can shape and colour until it follows you onto the home screen as the app icon.
