Skip to content

Repository files navigation

Inkfinite

Inkfinite is a local-first infinite canvas for drawing, wireframing, and diagramming. It runs in the browser or as a desktop app.

What you can do

  • Draw and edit rectangles, ellipses, lines, arrows, text, Markdown, freehand strokes, and native vector paths.
  • Organize work with pages, layers, groups, nested containers, and a built-in stencil library.
  • Pan, zoom, select, transform, reorder, style, undo, and redo directly on the canvas.
  • Store boards in your browser or work with local, Automerge-backed .inkfinite files in the desktop app.
  • Import static SVG, Excalidraw, and Obsidian Canvas content. Export SVG, PNG, Excalidraw, and Obsidian Canvas files.
  • Inspect, query, edit, validate, and render saved files or open desktop sessions from the CLI.
  • Let coding agents propose changes for review in the desktop app or apply them directly when you enable direct access.

Run from source

You need Node.js 18 or newer, pnpm, and Rust 1.89. The desktop app also requires the Tauri 2 prerequisites for your OS.

To get started, clone the repo & install the front-end toolchain/deps:

pnpm install

The browser app also needs the Rust WebAssembly target and the wasm-bindgen CLI version used by Cargo.lock:

rustup target add wasm32-unknown-unknown
cargo install wasm-bindgen-cli --version 0.2.126 --locked
pnpm wasm:build
pnpm dev:web # adding --open will open your browser

To start the desktop app:

pnpm tauri dev

To build the CLI used by scripts and live desktop sessions:

cargo build -p inkfinite-cli --bin inkfinite
./target/debug/inkfinite --help

# Build target-named CLI and MCP release archives with checksums.
cargo xtask dist

See the CLI documentation for installation paths and shell completion setup.

Documentation

Credits

I was inspired by fantastic apps in the space like Excalidraw and more recently, tldraw. tldraw offline in particular was so cool that it kicked off a lot of other agent-capable projects.

The choice to use perfect-freehand came from playing around with this react flow demo.

The SVG capabilities were inspired by this post.

License

Inkfinite is licensed under Apache-2.0.

About

an infinite canvas

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages