frame-01.pngYour real screen, composited with your ink. Coordinates point at pixels.
DOODLER — THE RED PEN FOR YOUR CODING AGENT
Draw on your screen while you talk. Your agent gets your ink, your voice, and the pixels under both — fused into one story it can act on.
tell your agent to install it — just copy and paste this:
terminal type?
✳ Claude Code v2.1
⏺ I'll start a draw session so you can show me.
⏺ Bash(doodler capture --prompt "show me the save button")
⎿ ● session started — draw on screen, press Done
⎿ done · frame-01.png · voice ✓ · narrative.md
⏺ Read(narrative.md) · "circled the Save button — 'line it up'"
⏺ I can see it — the Save button is offset 24px from the input column.
⏺ Update(app/settings.css)
- margin-left: 24px;
+ margin-left: 0; /* aligns with input column */
✓ Fixed. Save now lines up with the input.
1 MB install · 100% on-device · voice + ink, one timeline · draw · talk · done
every bug report, eventually
So there's this button on the settings page, and it sits just below the input but also a little to the righta little?!, or actually maybe it's the gap above it? It's like 20px off but only when the sidebar is openwhich sidebar??, and honestly the whole panel shifts when you resize, so imagine the button but slightly wrong—
One circle beats three paragraphs.
what comes back
frame-01.pngYour real screen, composited with your ink. Coordinates point at pixels.
narrative.md[00:07] user: "this button here,"
[00:07] [drew a circle, upper-left — red]
[00:11] user: "line it up."
Speech and strokes on one clock. Usually this alone is enough.
strokes.json{ "tool": "circle",
"bbox": [412, 208, 680, 344],
"t": 7.2 }
Exact coordinates, for mapping a circled region to a real element.
and it goes deeper
What you said and what you drew, aligned to the same clock, merged in order.
it hears "this" and sees THISFlip clicks through to the real app mid-session, demonstrate a whole flow, keep drawing.
demo the bug happeningCapture a step, clear the ink, keep going. Tell a whole story.
before → afterScreen, voice, and transcription stay on your Mac. Apple's on-device speech listens.
nothing leaves the laptopInstalls a /draw-it skill your agent invokes when you start describing something visual.
Sketch a thought, then ask your agent to read it whenever with doodler last.
No accounts. No uploads. No telemetry. Captures, audio, and transcription all run locally — nothing to sign up for, nothing phoning home.
two ways in
recommended — it's on brand
Claude runs the install, walks you through the two macOS permission prompts, and tests it with you.
the terminal way
doodler init | set up the skill for your agent |
doodler capture | start a draw session |
doodler last | re-read your most recent drawing |
doodler list | show recent sessions |
doodler rm <id> | delete a session |
doodler doctor | check your setup |
Claude — I can't see this page. But on your real screen, I'd see exactly what you circled — and hear what you said while circling it.