C.W.K.
Stream
← C.W.K. Quests

Flint Quest

New: 2026-07-24Updated: 2026-07-24

Build a text-transformation gesture you own, not a chat window you open

The origin story of Flint — Dad's own system-wide, hotkey-driven text transformer for macOS, the strike sibling of the voice engine Firekeeper and the file workbench Waygate. Select text in any app, strike a hotkey, and the transformed text lands back in place — while a brain that lives in another app does the thinking. Why the gesture is the product, not the model, and what building a thin client that borrows a brain instead of growing one teaches about drawing the right boundary.

8 tracks · 34 lessons · ~6h · difficulty: intermediate-to-advanced

Level 0Cold Flint
0 XP0/34 lessons0/12 achievements
0/100 XP to next level100 XP to go0% complete
Flint is not a chat window, not a second Pippa brain, not a model server with a UI bolted on. It is a native macOS menu-bar utility that owns exactly one gesture — select text in any app, strike a hotkey, get one safe replacement or insertion — and delegates every ounce of thinking to a brain that already exists in another app. This quest walks that utility end to end: what Flint is and why the name points at the gesture (strike, spark) instead of the machine; the Carbon global-hotkey API that macOS still hands out for owning a system-wide chord; reading a selection out of any app through Accessibility, and the opaque apps that hide it from you; the thin-client boundary where Flint stops and the borrowed brain begins; the macro model that turns a transformation into a template plus a chord plus a latency dial; the guarded-insertion heart, where the target you captured may be gone by the time the answer comes back; the security discipline that never reads a secret and proves permission before spending a call; and the remake doctrine that retired a legacy CLI to strike a cleaner gesture. It is the text-transformer telling its own origin story — conceptual open-sourcing, not a repo you clone.

Tracks

  1. 01The Strike

    0/4 lessons

    What Flint is, and why the name points at the gesture instead of the machine

    Before a single line of Swift, you have to understand what Flint actually is — and, just as important, everything it refuses to be. It is a native macOS menu-bar utility that owns exactly one gesture: select text anywhere, strike a hotkey, get one safe replacement. It is not a chat window, not a second Pippa brain, not a model server. This track sets the posture: the gesture is the product, the brain is borrowed, and the name is a verb, not a box.

    The cwkFlint menu-bar dropdown open in the macOS status bar, listing twelve text transformations — fix typos, correct, refine, translate into four languages, summarize, formal, casual, clarify, prompt — each bound to its own global keyboard shortcut.
    It lives in the menu bar because the point is to strike from wherever the text already is.
    Lesson list (4)Quiz · 4 questions
  2. 02⌨️The Global Chord

    0/4 lessons

    Owning a system-wide hotkey with the oldest API macOS still hands you

    A gesture needs a trigger that works everywhere, in every app, even when Flint isn't frontmost. On macOS, claiming a system-wide key chord that actually gets consumed is a surprisingly old and narrow corner of the platform — you reach past the modern Swift frameworks and into Carbon, a deprecated API that has no replacement for this exact job. This track walks that corner honestly: why Carbon, how RegisterEventHotKey actually works, what to do when two chords collide, and the searchable palette that means you don't need a chord for every macro.

    Lesson list (4)Quiz · 4 questions
  3. 03🔎Reading the Selection

    0/5 lessons

    How one app reads the text you highlighted in a completely different app

    The strike is nothing without input. Flint has to reach into whatever app you're in — a text editor, a browser, a chat window — and read the text you selected, even though it's someone else's app. macOS lets you do this through the Accessibility API, with the user's explicit permission. This track is the honest tour: how AX reading works, the exact path to the current selection, the apps that hide their selection from you entirely, and the reversible clipboard probe that recovers it without leaving a trace.

    Lesson list (5)Quiz · 4 questions
  4. 04🔌Not My Brain

    0/4 lessons

    Where Flint stops and the borrowed intelligence begins

    Flint does the reaching, the reading, and the careful putting-back — but it does not think. The thinking is borrowed from a brain that already exists in another app, across a boundary drawn on purpose to be narrow. This track is about that boundary: exactly what lives on each side, the apply-free contract Flint speaks across it, why Flint's macros and the brain's macros are two independent catalogs that must never share an id, and why a thin client that borrows a brain has to resist growing one of its own.

    Lesson list (4)Quiz · 4 questions
  5. 05🧩The Macro

    0/4 lessons

    The small, stable object that turns a transformation into one strike

    A macro is the unit Flint runs: a name, a prompt template with an {input} slot, an optional chord, and a switch for how much context it needs. It's a tiny object, and its smallness is the point — everything a transformation needs to be triggered, rendered, and tuned lives in one stable record. This track builds the macro from the inside: the domain type and its stable identity, how {input} carries the selection, the per-macro vault dial that trades latency for knowledge, and the app-wide execution profile that everything else rides on.

    Lesson list (4)Quiz · 4 questions
  6. 06🛡️Prove Before You Paste

    0/5 lessons

    The target you captured may be gone by the time the answer comes back

    This is the riskiest and most interesting layer in the whole app, and the reason it exists is a single hard fact: between the strike and the answer, real time passes, and the world can change under you. The selection you captured might be gone, the window might have moved, focus might have wandered. Insertion's whole job is to refuse to paste into a target it can no longer prove is the one you meant. This track walks that discipline: the async gap, re-validating a native target, re-copying to prove an opaque one, falling back to the clipboard when proof fails, and inserting as a single undoable action.

    Lesson list (5)Quiz · 4 questions
  7. 07🔒Never Read the Secret

    0/4 lessons

    The moment you can read any app is the moment you owe it restraint

    Flint holds enormous power — it can read the text in any app and type into any field. Power like that is defined by what it refuses to do. This track is the security spine: secure and password fields are never read and, where a control declares itself secure, never written; permission is proven before a model call is ever spent; the remote PIN lives in the Keychain and the pattern is taught without ever teaching a parameter; and local-first is reframed as what it really is — a posture of trust you earn by staying narrow and visible.

    Lesson list (4)Quiz · 4 questions
  8. 08🔥Strike Anywhere

    0/4 lessons

    The doctrine that keeps the legacy dead, the latency owned, and the loop yours

    The last track steps back from the mechanics to the doctrine that holds them together. Decommissioning the old tool wasn't a one-time delete — it's an invariant that has to stay green. Owning the latency means never hiding the tradeoff behind a default. And the whole loop, from a chord to a proven insertion, teaches a handful of transferable lessons about boundaries, borrowing, and trust. It closes where every self-referential quest closes: not with a repo to clone, but with enough of the shape that you could strike your own.

    Lesson list (4)Quiz · 4 questions
Spotted a bug or have feedback on this page?Report an Issue

Comments 0

🔔 Reply notifications (sign in)
Sign inPlease sign in to comment.

No comments yet — be the first.