- drafft-ink của PatWie là infinite canvas whiteboard viết bằng Rust và WebGPU, dùng Loro CRDT cho real-time collab, license AGPL-3.0, chạy native trên Linux/Windows/macOS/browser/mobile.
- Không account, không paywall, không telemetry.
- Self-host bằng đúng 1 binary.
TL;DR
drafft-ink (brand: drafft.ink) là whiteboard infinite canvas mã nguồn mở do PatWie phát triển. Viết 95% bằng Rust, render bằng WebGPU qua Vello, collab real-time dùng Loro CRDT. License AGPL-3.0, chạy trên Linux, Windows, macOS, browser, mobile. Slogan: draw first, sign up never. Không account, không paywall, không telemetry, không upsell. Self-host bằng một binary duy nhất.

Có gì mới
Một dev cá nhân vừa ship một whiteboard tool chất lượng production, viết bằng Rust và WebGPU thay vì React + Canvas 2D như Excalidraw hay tldraw. Dự án PatWie/drafft-ink vừa nổi trên X sau khi Tom Doerr chia sẻ, và có bản demo live tại drafft.ink.
Điểm hút attention không phải ở chỗ "lại thêm một whiteboard nữa" — mà ở chỗ stack dưới capo: Rust binary native, GPU-accelerated vector rendering, local-first CRDT, zero telemetry, AGPL-3.0. Đây là combo mà phần lớn whiteboard hiện tại (Miro, FigJam, thậm chí Excalidraw+) không làm được cùng một lúc.
Tại sao đáng chú ý
Thị trường whiteboard đang bị thống trị bởi SaaS seat-based ($8–16/user/tháng). Các option free như Excalidraw rất tốt nhưng chạy trên DOM/Canvas 2D — khi canvas phình ra nhiều nghìn stroke hoặc zoom sâu, hiệu năng lung lay. drafft-ink đánh vào đúng cái gap đó:
- Performance: Vello render vector trên GPU, scale tới hàng nghìn object vẫn mượt.
- Privacy-first: không telemetry, không account, dữ liệu lưu local (hoặc self-host server).
- Self-host đơn giản: một binary
cargo build --release, không Docker compose 10 service, không Redis, không PostgreSQL. - CRDT local-first: offline-first, merge tự động khi online lại — không cần "please reconnect" modal.
Sự thật kỹ thuật
| Thành phần | Công nghệ |
|---|---|
| Ngôn ngữ | Rust (95.1%), HTML (3.8%) |
| Rendering | WebGPU qua Vello |
| UI framework | egui (immediate-mode GUI) |
| Collab engine | Loro CRDT (thuật toán Fugue) |
| Text layout | Parley |
| Collab server | drafftink-server, WebSocket ws://localhost:3030/ws |
| Build targets | native desktop + WebAssembly |
| License | AGPL-3.0 |
| Crate version | drafftink 0.1.0 |
Feature set khá đầy đủ cho v0.1: shape cơ bản (rectangle, ellipse, line, arrow), freehand có pressure sensitivity, smart alignment guides với snap và angle detection, multi-font text với inline LaTeX math, drag-drop image + clipboard paste, PNG/JSON export-import, touch và tablet support, hand-drawn aesthetic.
So với Excalidraw & tldraw
| drafft-ink | Excalidraw | tldraw | |
|---|---|---|---|
| Stack | Rust + WebGPU (Vello) | React + Canvas 2D | React + Canvas 2D |
| Rendering | GPU-accelerated | CPU canvas | CPU canvas |
| Collaboration | Loro CRDT (local-first) | WS backend tuỳ bản | tldraw sync |
| Self-host | 1 binary | Docker được | SDK thu phí prod |
| License | AGPL-3.0 | MIT | Business-source / paid |
| Native desktop | Có (cargo) | Electron cộng đồng | Web-only |
| LaTeX inline | Có native | Qua plugin | Không |
Trade-off lớn nhất: drafft-ink mới ở v0.1, ecosystem plugin và template chưa có gì. Excalidraw có library shape rất giàu, tldraw có SDK trưởng thành. Nếu bạn cần "whiteboard hoạt động ngay trong team 20 người" tuần sau, Excalidraw vẫn là lựa chọn an toàn hơn. drafft-ink hợp với ai muốn self-host nghiêm túc và chấp nhận v0.x risk.
Use case phù hợp
- Indie hacker & dev team nhỏ tự host whiteboard nội bộ, không trả Miro/FigJam seat.
- Org nhạy cảm về privacy (legal, health, edu) cần tool không telemetry, không account bên thứ 3.
- Giáo viên toán / vật lý — inline LaTeX + freehand pressure rất hợp cho bài giảng bảng trắng.
- Remote pairing trên kết nối flaky — CRDT local-first vẫn vẽ được khi mất mạng, merge khi online lại.
- Engineer / kiến trúc field work — native Rust binary, không cần Electron nặng, chạy offline.
Hạn chế & pricing
Pricing: miễn phí 100%. Code AGPL-3.0, self-host 0đ. Bản SaaS tại drafft.ink cũng free ("draw first, sign up never").
- AGPL copyleft: fork và host public bắt buộc open source bản modified. Doanh nghiệp không thích copyleft cần cân nhắc trước.
- Còn early: crate version 0.1.0, breaking change có thể xảy ra. Chưa nên dùng cho mission-critical.
- Ecosystem: chưa có plugin marketplace, template library, integration với Notion/Slack/Jira.
- Mobile: touch/tablet qua browser, chưa có app store build.
- Managed hosting: chưa có offering official. Nhiều user = tự chạy collab server.
Điểm đáng theo dõi
Repo đang open cho PR và issue. Chưa có public roadmap chính thức, nhưng định hướng rõ: giữ 1-binary, không bloat, không telemetry. Câu hỏi thú vị cho phase tiếp: (1) có support multi-board / folder structure không, (2) có package cho Linux distros (AUR, deb, brew) không, (3) có export SVG không (hiện chỉ PNG/JSON).
Với ai đang build local-first app bằng Rust, drafft-ink cũng là reference case hay: stack Vello + egui + Loro ráp với nhau thành một app thực tế, không chỉ demo.
Nguồn: PatWie/drafft-ink, drafft.ink, Loro, crates.io.



