Skip to content
C.W.K.
Stream
← C.W.K. Quests
🎙️

Firekeeper Quest

Updated: 2026-10-12

Build a voice layer you own, not a subscription you rent

The origin story of Firekeeper — Dad's own system-wide dictation app for macOS, the voice sibling of the image engine Ember and the music engine Bonfire. Why you build a voice layer on your own machine instead of paying a cloud service to hear you, and what every architectural choice teaches about trusting your own hardware with the most personal input there is: your voice. Since 2026-09 it also opens a second door: a hotkey voice chat with Pippa that carries a conversation living in cwkPippa.

9 tracks · 48 lessons · ~9h · difficulty: intermediate-to-advanced

Level 0Unlit
0 XP0/48 lessons0/13 achievements
0/100 XP to next level100 XP to go0% complete
Firekeeper is not a cloud dictation subscription, not a second Pippa brain, not a chat UI with a mic bolted on. It is a native macOS app that owns the whole local voice loop — global hotkey, microphone, on-device speech-to-text, a cleanup pass, and OS-level insertion into whatever app you're in — and it runs fully offline when it has to. This quest walks that app end to end: what it is and why the name is Firekeeper, the discipline of cloning an interaction model without cloning a cloud, hearing on Apple Silicon (WhisperKit and the language-forcing trap that made Korean come out as garbage), the narrow adapter boundary inherited from the Pippa house, the insertion ladder that is the riskiest and most interesting layer in the whole app, why offline has to be real and not theater, the latency war that got shipped wrong the first time, and the trust boundary you cross the moment you ask an app to listen and to type — and then the voice door, Stage 2 as it actually shipped: a talk with Pippa that sends Dad's voice to a cloud realtime transcriber by his stated choice, keeps each turn's recording on cwkPippa, and still never grows a brain of its own, while dictation keeps every promise it made. It is the voice engine telling its own origin story — conceptual open-sourcing, not a repo you clone.

Tracks

  1. 01🕯️The Keep

    0/4 lessons

    What Firekeeper is, where its name comes from, and why it exists

    Before any Swift, the orientation. Firekeeper is a system-wide dictation app for macOS — not a chat window with a mic, not a second Pippa brain, not a cloud subscription. This track decodes the Dark Souls name, places Firekeeper among its fire-named siblings, answers the first question anyone asks a self-built tool — why not just rent Wispr Flow? — and draws the one product boundary that keeps the whole thing sane: dictation first, voice chat as a separate door — the door that shipped in 2026-09 and has a track of its own.

    The cwkFirekeeper settings window on its General tab: a local Whisper engine and model picker naming the model's on-disk location, behavior toggles for inserting after cleanup, restoring the clipboard, and never pressing Enter inside a terminal, manual warm-up and dictation controls, and a status line naming the hold-to-dictate shortcut.
    Local speech, guarded insertion: the engine runs on this machine, and the terminal guard is a switch, not a hope.
    Lesson list (4)Quiz · 4 questions→
  2. 02🔁Clone the Loop, Not the Cloud

    0/4 lessons

    Reverse-spec an interaction model without copying anyone's backend

    Wispr Flow is closed-source, so you can't read its code — and you shouldn't want to. This track is about the discipline of cloning a product's observable interaction model: how to reverse-spec from public docs and behavior alone, the exact anatomy of the dictation loop, what's worth cloning versus what to deliberately leave behind (cloud transcription, account gating, hidden data collection), and the three-mode taxonomy every good dictation tool converges on.

    Lesson list (4)Quiz · 4 questions→
  3. 03👂Hearing on Apple Silicon

    0/5 lessons

    On-device speech-to-text, and the traps that make it sound broken

    The ear is where the whole privacy bet is won or lost: if transcription is on-device, your voice never has to leave the machine. This track surveys the Apple Silicon STT engines (WhisperKit, whisper.cpp, MLX, Apple SpeechAnalyzer), then digs into the two gotchas that make on-device STT look broken when it isn't — the silent English default that turns Korean into garbage, and the Hangul-transliteration trap — before covering how batch models fake real-time and how to manage model weights without bloating your repo.

    Lesson list (5)Quiz · 4 questions→
  4. 04🔌Everything Is an Adapter

    0/7 lessons

    One narrow seam, many swappable engines and brains

    Firekeeper inherits a philosophy from the Pippa house: put the abstraction boundary in exactly one narrow place and let everything specialize downstream of it. This track shows how that seam works in a voice app — STT engines behind one interface, cleanup brains behind another, and connection modes as an explicit settings choice rather than a hidden fallback chain — so any piece can be swapped without the product logic noticing. Then it goes below the seams: the family kit Firekeeper now stands on, the brain that is assigned centrally rather than remembered locally, and the utility lane that moved out of Pippa's house into a worker of its own.

    Lesson list (7)Quiz · 7 questions→
  5. 05🪜The Insertion Ladder

    0/6 lessons

    Getting text into the active app is the riskiest layer in the whole loop

    This is the track no other quest has, because insertion is where a voice app touches the whole rest of the operating system. It's the riskiest and most interesting layer: capturing the right target before focus can drift, climbing a ladder of insertion methods that each fail gracefully into the next, keeping undo intact, handling terminals and coding agents as first-class citizens, and treating the pasteboard with the etiquette it demands — including the day that etiquette erased the very words it was protecting. Get insertion wrong and every other part of the loop is wasted.

    Lesson list (6)Quiz · 5 questions→
  6. 06📴Offline Is Not Theater

    0/4 lessons

    The fallback path has to actually work, or it's a lie

    Lots of apps claim to work offline and mean it as a marketing checkbox — the offline path is a hidden retry that quietly phones home the moment it can. Firekeeper inherits a hard rule from its writing sibling Rekindle: provider selection happens before a single byte leaves the process, offline never leaks to online, and the offline cleanup is a real provider with real behavior — not a crash-recovery afterthought. This track is how you build an offline path you can actually trust on a plane.

    Lesson list (4)Quiz · 4 questions→
  7. 07⚡The Latency War

    0/7 lessons

    How the fast path got shipped slow, and the hotkey race that nearly broke it

    This is the war-story track: the part where Firekeeper got shipped wrong and had to be rebuilt. Every dictation was routed through the full Pippa brain — a 100KB+ vault prompt, a subprocess, and a deep reasoning pass, all to strip the word 'um' — and it cost 10 to 40 seconds against a competitor's 1. This track walks the diagnosis, the lane split that fixed it, the latency budgets that keep it honest, and the parallel war over hotkeys: why a suppressing event tap was the wrong tool, and how a double-tap race condition got settled with generation tokens and a typed state machine. Two later battles close the track: a fast lane that, across nine Macs, had never once run the model it was configured with, and a Swift 6 upgrade that turned an innocent audio tap into a crash on the first word.

    Lesson list (7)Quiz · 6 questions→
  8. 08🛡️Trust at the OS Boundary

    0/5 lessons

    You asked the machine to listen and to type. Now earn it.

    A dictation app asks for two of the most invasive permissions an operating system grants: hear everything, and act on every app. That's a trust boundary, and this trust track, the last before the voice door, is about earning it rather than assuming it — the permission surface and how to ask for it honestly, the code-signing trap that makes macOS forget your grants, the visible-recording and no-retention contract, the secure fields you must refuse, and finally why owning your own voice layer is the whole point of having built any of this.

    Lesson list (5)Quiz · 4 questions→
  9. 09🗣️The Voice Door

    0/6 lessons

    Stage 2 as it shipped: a hotkey door onto Pippa's own spoken turn

    Track 1 promised voice chat 'later', with a contract of its own. It shipped on 2026-09-26 — as a door, not a second brain. This track walks the door end to end: why the spoken-reply contract lives in cwkPippa and Firekeeper owns only the loop; why the conversation's ear is ElevenLabs' cloud realtime model while dictation stays on the Mac; the cut-in hunt a ruling ended; how a line before a tool is heard before the tool acts; why a talk now keeps Dad's voice while dictation still discards its audio; and how souls, private talks and the new-or-continue chooser decide whose conversation is kept where.

    Firekeeper's voice chat panel on a MacBook, listening: Pippa's face in a rounded card with ON AIR and SCREEN chips, a teal lock and a paperclip; below it level dots, a Pause button, the word Listening, the talk's brain and reasoning line, the microphone in use, an orange status note, a KO/EN switch, a Voice cut-in toggle set off, and Stop.
    The voice door: a small panel over any app, carrying a conversation that lives in cwkPippa.
    Lesson list (6)Quiz · 6 questions→
Spotted a bug or have feedback on this page?Report an Issue

Comments 0

🔔 Reply notifications (sign in)
Sign in — Please sign in to comment.

No comments yet — be the first.