HomeAboutExperienceProjectsContactBlog
RésuméDex0/17
← Projects

Big Talk

A speaking gym for iPhone that scores every take on the phone. Formerly SpeakUp.

TRANSCRIBERSOUMTHEPLANISSIMPLEREFINEDSOUMTHEPLANISSIMPLEPAUSE 0.70SPAUSE 0.55S

The floor is −61 dB, so a frame counts as voice above −51 dB. The 0.70 s after um counts as a pause.

Drag the pause or turn up the room. The audio and the transcriber's ranges are made up; the refiner and the 0.4 s pause rule are the app's.

The audio is decoded once and shared by every stage. The transcriber's word ranges butt up against each other, so a refinement pass shrinks each word to its voiced audio. That's what makes pauses, and everything scored from them, real.

Record about a minute of speech and get a 0–100 score broken into pace, fillers, pauses, clarity, vocal variety and more, with the transcript marked up word by word and concrete coaching. Transcription and scoring run entirely on device: no account, and no audio is sent anywhere to be analyzed.

What it is

Capable people get underestimated when their delivery doesn't carry their ability. Big Talk is a private place to rehearse the first take: a prompt, a talk you're memorizing, an interview answer. You speak, and a minute later you know what to fix.

Most speech coaches send your voice to a server. This one runs Apple's on-device speech model, its own signal processing, and a scoring engine on the phone, so it works offline and your voice is never sent off to be scored. iCloud sync of recordings is opt-in. An optional on-device language model rewrites the coaching in plain English.

How it's put together

IPHONEIOS SPEECHRECORDERAAC MONOMONOPCMDECODE ONCESPEECHANALYZERWORD RANGESREFINERWORD TIMINGSCORING9 AXESSWIFTDATATAKESWIDGETSAPP GROUPCLAMPEDLLM COACHOPTIONAL
Recording, transcription, scoring and coaching all run on the phone. The transcriber lives in iOS's own speech process, outside the app's memory budget, and the take is decoded once so the transcriber, the timing pass and the scorer share the same samples. The optional language model (Apple's Foundation Models, or Gemma through llama.cpp) can move the overall score by at most 14 points.

Trade-offs

Apple's on-device transcriber, not Whisper or a cloud API. Audio is never sent off to be transcribed, there is no model to ship, and the system speech process runs outside the app's memory budget. The downside: iOS 26 only, device only (the simulator can't transcribe), and less control over the model.

Recover pauses from the raw audio. Transcribers tile words edge to edge, which erases silence. Re-measuring each word against the noise floor gives real pause, filler-context and fluency data. The downside: An extra signal-processing pass per take.

The LLM can nudge the score, never decide it. Small on-device models are noisy. Rule-based scores are the anchor; model input is blended in, clamped (±14 overall with Apple Intelligence, ±10 with the local model), and the gibberish gate runs again after. The downside: The model can't fix a large scoring mistake on its own.

Next: TokenuinelyA semantic, graph-aware index of your repo, served to AI coding agents over MCP.

Year
2025–26
Platform
iPhone
Status
Pre-release, iOS 26
Code
Private
Built with
Swift, SwiftUI, SwiftData, SpeechAnalyzer, Accelerate, NaturalLanguage, Foundation Models, llama.cpp, StoreKit 2, WidgetKit
  • 114k lines of Swift
  • 9 weighted score axes
  • 0 bytes of audio sent for analysis
  • 20 end-to-end UI tests

The code is private, so this page is an overview.