AppsWorksSource available
Target: Paper

Reversed Paper desktop app into a native Rust infinite canvas named Sketch

by michaelshimeles RepositorySave · follow · discuss0 views
Platform
macOS, Linux
Outcome
Works
Paper: A clean-room Rust implementation of an infinite canvas tool with Model Context Protocol support.
Image: Source: raw.githubusercontent.com

Evidence at a glance

Loading source evidence…

What was done

Sketch is a native Rust infinite canvas tool reverse-engineered from the Paper desktop application. It supports local-first project management and integrates with AI agents via the Model Context Protocol.

Sketch is a native Rust infinite canvas application designed for planning and sketching. The project is a clean-room reimplementation modeled on the behavior of the Paper desktop application. The author reports that the original Paper desktop app is an Electron shell for a web editor, and Sketch replicates its functionality using wgpu, winit, and egui. The reverse engineering process involved studying Paper's behavior using REA and Claude Code. Sketch supports local-first project storage, autosaving, and exports to PNG, SVG, and PDF. It implements the Model Context Protocol (MCP), allowing agents like Claude Code and Codex to read and modify the canvas. Users can connect agents via HTTP or a stdio bridge. The project includes extensive unit, scenario, and headless GPU tests to verify functionality. The repository history documents contributions from Claude Opus 5.5 and Cursor. [Source: https://raw.githubusercontent.com/michaelshimeles/sketch/HEAD/README.md]

Reproduce it

setup

cargo build --release && ./target/release/sketch-rs --demo

Community

Ask a question, share what worked, or follow the next milestone.

Your library