A reMarkable Paper Pro CLI That Feeds Handwriting to Agents
Updated
- reMarkable
- OCR
- Tooling
Took a side quest this week: reinvigorating my note-taking habits by building a bridge between my reMarkable Paper Pro and agentic AI. The result is remarkable-spec, a Python CLI that parses the reMarkable’s binary .rm files, renders handwritten pages with full pen physics (10 pen types, pressure/tilt/speed), and runs an OCR pipeline that fans out Apple Vision + AWS Textract in parallel, then sends both results plus the original image to Opus 4.6 via Bedrock for a final cross-referenced transcription.
The workflow I built it for runs as a loop. An AI agent pushes a markdown doc to the tablet, I annotate it with a pen (cross things out, scribble notes, draw arrows), and the agent pulls it back, reads the annotations as structured text, and applies my edits to the source file. Handwriting becomes a first-class input to an agentic loop.
Every command has --json for structured output an agent can parse, but the larger design shift is that the tool doesn’t try to be self-contained. It renders a page to PNG then delegates understanding to an LLM. It extracts Mermaid from hand-drawn diagrams by sending the image to Opus rather than by running computer vision locally. The OCR pipeline uses extended thinking. The CLI is a thin orchestration layer that assumes a powerful model is on the other end interpreting results, which is the opposite of a traditional CLI that tries to give you the final answer.
It’s a tool for AI that humans can also inspect, rather than a tool for humans that AI can also use. That inversion changes what you build and what you skip.
This is a small experiment in a larger question: what should agents remember, and where should that memory live?