Runa: Pronunciation Practice
Record 30 seconds, get scored on nine dimensions of delivery, then drill the sounds you missed. React Native iOS speech coach with no backend to run.

À propos de ce projet
Appstore link: https://apps.apple.com/lv/app/runa-pronunciation-practice/id6809155939 Runa — AI Speech Coach React Native · iOS · 1,772 tests · No backend to run Record thirty seconds. Get scored on nine dimensions of delivery. Then drill the exact sounds and phrases that let you down, and hold a spoken conversation with an AI partner to prove it stuck. Record and analyse. Thirty seconds of speech, scored on clarity, pace, pauses, fillers, confidence, vocabulary, word usage, structure and style. Plain language verdict, ranked recommendations, WPM and filler rate. A reading passage written to the learner's level means the first recording never starts on a blank page. Pronunciation drill. Per-word grading — clear, slight, off, wrong — from a deterministic aligner rather than a model's opinion. IPA for every phrase, cached. Listen, listen slowed, say it, hear yourself against the reference. Leitner spaced repetition across five boxes, on a five-rung curve from single words to speaking at length. Spoken roleplay. Hold-to-talk conversation with an AI partner and live captions. Six switchable scenarios. Suggested lines the learner reads aloud — never buttons that post the turn, because saying it is the exercise. Ends with a structured grammar diff: original, corrected, why. Ear training. Near-homophone discrimination, connect-the-pairs, sentence rebuilding. Built from the learner's own decks plus generated minimal pairs for the sounds they keep missing. Its own repetition boxes, because hearing a word and saying it are different skills. Sound Lab. Focused practice on individual problem sounds, with mouth-position diagrams. Daily challenge. A plan assembled from what the learner was last worst at, and only ever tasks that can actually be finished today. Progress. Concentric arc chart, session history as bars, all nine dimensions with movement since last period. XP levels, streaks, achievements, and a visible ladder showing exactly what opens the next rung. Onboarding. Five steps ending on the real recorder, so the last thing a new user sees is their own score. Placement asks what they can already do rather than what level they think they are. Why It Holds Up Privacy by architecture, not policy. Everything local. No accounts, no sign-in, no server of the developer's. SQLCipher database with the key in the iOS Keychain, device-only, never synced to iCloud. Purchases are anonymous — an ESLint rule bans fourteen RevenueCat identity APIs outside a single file. Audio goes to Google and nowhere else, disclosed in full on its own screen immediately before the microphone opens. Accessibility that is tested, not claimed. Contrast ratios enforced by tests. Chart palette validated against protanopia, deuteranopia and tritanopia. Colour is never the only carrier. Reduced motion, Dynamic Type with reflowing grids, VoiceOver labels throughout. Engineering discipline. Zero any in application code. noUncheckedIndexedAccess on. Pure domain logic separated from screens and tested directly. Seven forward-only migrations. Incremental WAV writing, so a take survives the app being killed mid-recording. Built With React Native 0.87.1 (bare, New Architecture) · TypeScript 6 strict · Gemini (2.5-flash analysis, 3.5-transcribe-live streaming, 3.7-flash generation, 3.1-flash-tts-preview synthesis) · react-native-audio-api 16 kHz capture with level metering · react-native-tts · op-sqlite + SQLCipher + FTS5 · MMKV · Zustand · Reanimated 4 · react-native-svg · React Navigation 7 · Notifee · RevenueCat All charts, rings, waveforms and meters are rendered in-app. No image licensing. Business Model RevenueCat paywall, shown at the moment a paid action is attempted — never on launch, never to someone who has not been stopped by anything. Free as shipped: one recording and one analysis during onboarding. Everything after is gated. No backend included. Deliberate — the device talks to Gemini directly with
Ce qui est inclus
- Full source code + transfer to your Apple Developer account
Ce qui se passe quand vous achetez
- 1
Vous payez une fois
Paiement par carte via Stripe. Le projet quitte le catalogue dès que le paiement passe — il est vendu à un seul propriétaire, pas licencié à plusieurs.
- 2
Le code se télécharge immédiatement
Aucune attente, aucun e-mail nécessaire. L'archive complète est sur cette page dès que le paiement passe, et le lien vous est aussi envoyé pour qu'un onglet fermé ne coûte rien.
- 3
Vous nous envoyez deux informations Apple
Votre Team ID de développeur Apple et l'Apple ID propriétaire de votre compte développeur. Un formulaire apparaît ici dès le paiement effectué — cela prend une minute.
- 4
Nous transférons la fiche App Store
L'application en ligne passe dans votre compte Apple, en gardant ses avis, ses notes, son historique de classement et tous ceux qui l'ont déjà installée. La prochaine mise à jour, c'est vous qui la publiez.