C.W.K.
Stream
Lesson 01 of 04 · published

One Gesture, Nothing Else

~12 min · identity, menu-bar, thin-client, posture

Level 0Cold Flint
0 XP0/34 lessons0/12 achievements
0/100 XP to next level100 XP to go0% complete
"Select the words. Strike the key. The words change. That's the whole app."

The One Gesture

Flint is a native macOS menu-bar utility with a single job: you select text in any app, you strike a hotkey, and transformed text lands back in place. Fix a typo, tighten a sentence, translate a paragraph, rewrite a paragraph in a friendlier tone — all the same gesture, all without leaving the app you're already in. There is no window to open, no tab to switch to, no prompt box to click into first. The selection is the input; the strike is the command; the replacement is the output.

Everything It Refuses To Be

What makes Flint small enough to trust is the list of things it deliberately is not. It is not a chat window. It is not a second Pippa — it has no memory, no personality of its own, no conversation history. It is not a model server: it loads no model, opens no port, and runs no inference. It is not a writing editor and not a web admin panel. Every one of those was on the table and cut on purpose, because each would have turned a sharp little utility into a heavy app that competes with the tools it's supposed to sit quietly beside.

The Loop In One Breath

Under the gesture is a loop with a very clear division of labor. Flint captures the target and the selected text, renders your macro's template with the selection dropped into an {input} slot, and sends that rendered prompt to a brain that already exists in another app. The brain thinks. Flint takes the answer, proves the target is still where it was, and inserts one clean replacement. The thinking is borrowed; the gesture, the capture, and the careful insertion are Flint's.

select text  ->  strike hotkey
   capture { app, element, selection, range }
   render macro template, {input} = selection
   POST rendered prompt to the borrowed brain   (Flint does NOT think)
   ... brain returns transformed text ...
   prove the target is still the same
   insert ONE replacement  (or fall back to clipboard)

Read that loop again and notice where the intelligence lives: nowhere inside Flint. Flint is the hand that grabs the text and the hand that puts it back. The mind is somewhere else entirely — and keeping it there is the first and most important decision in the whole app.

The product is the gesture, not the model. When you build a tool around an AI capability, the temptation is to make the model the center and wrap a UI around it. Flint inverts that: the model is a service it calls, and the actual product is the friction it removes — one strike instead of copy, switch app, paste, prompt, wait, copy, switch back, paste. Design the gesture first; borrow the intelligence.

Code

The shape of the whole app, as one function·swift
func runMacro(_ macro: FlintMacro) async {
    // 1. Capture the target and selection BEFORE anything slow happens.
    guard let target = TargetCapture.snapshot() else { return }

    // 2. Render the macro's own template. {input} becomes the selection.
    let prompt = macro.render(input: target.selection ?? "")

    // 3. Borrow a brain. Flint itself never runs a model.
    let result = await pippa.applyFree(prompt: prompt,
                                       vault: macro.vaultContextMode)

    // 4. Prove the target still matches, then insert exactly one result.
    Insertion.place(result, into: target)   // or clipboard, if proof fails
}

External links

Exercise

Think of a text transformation you do many times a day — fixing the same kind of typo, reformatting pasted text, rewriting a blunt sentence. Count the steps you currently take: select, copy, switch app, paste, type an instruction, wait, copy the result, switch back, paste. Now describe the same task as a single strike. What has to be captured at the moment you strike, so the result can land back exactly where the original was?
Hint
The single strike collapses the whole shuttle into one action, which means everything the round-trip needed — which app, which text field, exactly which characters were selected — has to be grabbed at strike-time and remembered, because by the time the answer comes back you may have looked away. That captured target is the thing every later lesson protects.

Progress

Progress is local-only — sign in to sync across devices.
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.