Bypasses the DOM entirely. Renders directly to a WebGPU surface — delivering consistent 120 FPS on canvases with 10,000+ nodes. Real-time CRDT multiplayer. Autonomous AI generation on the scene graph.
Three technology convergences create the exact right window.
Chrome, Firefox, Safari all ship WebGPU. The browser finally has a real GPU API — not a polyfill over WebGL.
Loro v1.0+ delivers production-grade collaborative editing with columnar encoding and sub-millisecond merges.
LLM tool-use APIs enable reliable typed generation — AI can emit structured commands, not chat text.
Not incremental improvements — fundamental architectural advantages that compound over time.
Zero DOM. Zero Canvas 2D. The wgpu backend talks directly to Vulkan, Metal, DX12, or native WebGPU — delivering deterministic 120 FPS at 10,000 nodes with an 8.33ms frame budget.
Loro CRDT — not OT, not polling. Conflict-free merge with deterministic convergence. Works offline, syncs on reconnect.
Not a chatbot overlay. kd-agent connects to any LLM provider — cloud or local — via a unified streaming interface and injects typed SceneCommand[] directly into the live CRDT document — a first-class scene citizen.
Zero buffer overflow CVEs. No GC pauses. No null pointer exceptions. The entire stack — GPU shaders to WebSocket parsing — is Rust.
Architectural differences, not feature checklists.
| Koodesign | Figma | Penpot | |
|---|---|---|---|
| Renderer | WebGPU (wgpu) | WebGL2 + Canvas | SVG DOM |
| Language | Rust (native+WASM) | C++→WASM + TS | Clojure + JS |
| Sync Engine | CRDT (Loro) | OT (proprietary) | Server-auth |
| Offline | Full (CRDT native) | Limited | No |
| AI Integration | Scene graph native | Plugin overlay | None |
| Self-Host | 18MB binary | No | Docker (multi-GB) |
| License | AGPLv3 + Commercial | Proprietary | MPL-2.0 |
| 10K Nodes | 120 FPS / 8.33ms | ~30 FPS | Unusable |
Human input, AI generation, and network sync all flow through one type: SceneCommand
// Every mutation — human, AI, or sync — is a SceneCommand enum SceneCommand { AddNode { parent: NodeId, kind: NodeKind, frame: Rect }, MoveNode { id: NodeId, delta: Vec2 }, SetFill { id: NodeId, fill: Fill }, DeleteNode{ id: NodeId }, // ... 12 variants total } // Applied atomically to Loro CRDT → broadcast → retessellate fn apply(doc: &mut LoroDoc, cmd: SceneCommand) → DirtySet<NodeId>
One binary. Zero dependencies. Air-gapped corporate networks. 95.6% gross margin at scale.
A single 18 MB statically-linked musl binary serves the full application: HTTP UI, WebSocket sync hub, and AI agent stub. No Docker. No node_modules. No runtime dependencies. No outbound connections.
Public key compiled into binary. No phone-home. No NTP. On expiry: graceful degradation to Free tier — never hard shutdown. Renewal: new JWT → env var → restart.
No Kubernetes. No Terraform. Single Hetzner box: koodesign-server + Postgres 16 + Redis 7 + Caddy. Enterprise on-prem: COGS ≈ $0 → 98% margin.
Full source under AGPLv3 — network use = distribution. SaaS competitors must open-source modifications or buy a Commercial License. The Elastic/MongoDB playbook: copyleft replaces the moat that proprietary code once provided.
19-week engineering sprint across three phases.
Whether you're evaluating for a grant committee, investment thesis, or enterprise deployment — let's talk architecture.
Grant committee, investment thesis, or enterprise deployment — we'll talk architecture.
I'll get back to you within 24 hours.