tellmebaby is a Windows desktop companion you talk to. Press a key, speak, and text lands at your cursor; select text and it reads aloud; give it an instruction and it rewrites the selection in place. Speech recognition, the language model and the neural voice all run on the user's own machine. There is no cloud call, no telemetry, no account, and no API key — the privacy promise is the product.
Dictation is the most privacy-sensitive input method there is. People dictate medical notes, legal drafts, salary discussions, and things they would never type into a web form. Every mainstream option streams that audio to someone else's server.
Running the models locally solves the privacy problem and creates three new ones. Quality: on-device models have historically been noticeably worse. Friction: local AI stacks typically demand that the user understands model names, quantisation and thread counts. Build hell: the usual C++ inference dependencies mean multi-minute source compiles and toolchain breakage that makes shipping a consumer installer miserable.
The rule was maximum-quality models, zero build friction. Every AI
dependency was chosen for shipping precompiled binaries: the speech engine links
statically with no CMake step, the TTS runtime loads its ONNX graphs dynamically, and the
language model runs as a prebuilt llama.cpp server sidecar. First build is
fast, and CI does not depend on a C++ toolchain behaving.
The embedded brain is the interesting part. Rather than linking an inference library into the app, tellmebaby runs the model as a contained local sidecar: pinned artefacts verified on download, reachable only from the machine itself, and tied to the application's own lifetime so it can never be left running. Three runtimes sit behind one async streaming interface, so the embedded engine, an optional local alternative and a pass-through no-op are interchangeable.
Speech recognition uses a resilient decode ladder rather than a single model call. Long recordings decode as silence-bounded windows. A blank decode retries by dropping hotwords, then by recursive silence-splitting, then by falling back to a model of a different architecture entirely. Users get text instead of an empty box.
The settings philosophy is aggressive: the user chooses the languages they speak. Model, hardware provider, thread count, sample rate and audio device are all decided by the system. Technical model names never appear in the main interface.
A shipping Windows application where speech-to-text, language-model rewriting and neural speech synthesis all happen on the user's own hardware. The only network traffic is the one-time, hash-verified model download.
That makes it deployable in exactly the environments where cloud dictation is prohibited — legal, medical, financial, defence-adjacent — without a data processing agreement, a regional hosting question, or a security review of a third-party API.
The architecture generalises. The same pattern — pinned local models, a sidecar contained by the OS, a streaming runtime trait with swappable backends — is how we build any AI feature that cannot send its input off the machine.
The strongest privacy guarantee is
not having the data.
If compliance blocks your AI roadmap,
run the models where the data already is.