Built in Rust · AGPLv3 Dual-Licensed · 500 tests green

Koodesign

Design at the speed of thought.
Ship at the speed of hardware.

An infinite canvas that never stutters. A pen tool as fluid as paper. Real-time multiplayer that works offline. A floating HSV colour picker with live preview. Multi-page documents with custom backgrounds. Text case transforms, opacity masks, and 50+ Figma keyboard shortcuts. And an AI co-pilot that draws live on your canvas — not in a chat window. Built on WebGPU, Rust, and CRDT — so the tech stays out of your way.

Read the Technical Blueprints
Koodesign render pipeline winitInput Events Tool FSMkd-client SceneCommandkd-core + Loro Tessellatelyon + DirtySet wgpuGPU Present kd-agent (AI) kd-server (WS sync) ≤ 2ms input → pixel
0 FPS
WebGPU Render Loop
≤0 ms
Input-to-Pixel Latency
0 tests
All Green · 0 Failures
0%
Gross Margin
What You Can Do

Everything a design team needs.
Nothing it doesn't.

Real benefits for designers, translated from the engineering specs that make them possible.

01 · Canvas Experience

An infinite workspace that never slows down.

Zero-Lag at any scale
120 FPS

Whether you have 10 artboards or 10,000 complex UI components on a single canvas, zooming and panning stay perfectly smooth. No stuttering. No freezing.

Instant interaction
≤ 2 ms

The delay between moving your mouse and seeing a shape respond on screen is virtually zero — as responsive as drawing on physical paper.

Smart overlays

Pixel rulers, pixel grid, layout guides, and alignment snap automatically adjust to your zoom level — precise help only when you need it, invisible when you don't.

Multi-page documents
New

Organise your work across named pages with individual background colours (Solid/None) and export flags. PgUp/PgDn navigation, document titles, and per-page root nodes — exactly like Figma's page model, built on a CRDT-native document structure.

02 · Drawing & Typography

Pro-grade tools. Zero compromise on quality.

Smooth pen tool

Built-in path smoothing automatically corrects slight cursor jitters, turning rough hand-drawn strokes into perfect, clean curves — no clean-up pass required.

Non-destructive boolean shapes

Combine, subtract, intersect, or XOR overlapping shapes to build complex icons and logos — without losing the ability to edit the original base layers.

Crisp typography at any size

Bold, italic, underline, strikethrough, letter-spacing, line-height, and text case transforms (Upper/Lower/Title). A dedicated GPU text engine keeps glyphs sharp from 9 px footnote to 900 px billboard.

Figma-style colour picker
HSV + Alpha

A floating palette with a bilinear SV square, rainbow hue bar, alpha channel, 9 preset swatches, and Fill/Stroke tabs — no HTML DOM, fully GPU-rendered at 120 FPS.

Full Figma keyboard parity

50+ `SceneCommand` variants mapped to exact Figma shortcuts — alignment, distribution, flip, rotate, auto-layout, frame selection, outline stroke, text case, mask toggle, page navigation, hide-others, and all vector path operations.

Auto Layout
taffy flex

Wrap any selection in a Frame with automatic flex layout (Shift+A). Gap, padding, direction, align-items, and justify-content — CRDT-encoded so it syncs to all peers.

03 · Collaboration & Sovereignty

Your team's work. Always in sync, always yours.

True offline mode
Works on a flight

Lose Wi-Fi and keep designing normally. The moment you reconnect, Koodesign seamlessly merges your offline work with your team's live document — no conflicts, no data loss.

No "Save" button — ever

Every shape change, colour tweak, and text edit is instantly recorded to your local device and synced to your team. Your work is never at risk.

Live multiplayer cursors

Named coloured cursor dots for every active collaborator — deterministic colour assignment, 3-second TTL eviction, throttled 50ms broadcast. Toggle with Ctrl+Alt+\.

04 · Live AI Co-Pilot

Watch the AI draw on your canvas — live.

Watch it build
Streams live

Instead of waiting for a static image to load, the AI acts like another cursor on your screen. Ask it to "build a pricing table" and watch the vectors, text, and layout being drawn in real time.

Context-aware suggestions

The AI knows exactly where you're looking. It matches the scale, colours, and layout structure of whatever design you're currently focused on — no manual prompting of your style.

Code-compliant generations
Dev-ready

Everything the AI generates is built from mathematically perfect vectors with clean layer structures — instantly ready for developer handoff, no clean-up required.

05 · Interface & Ecosystem

Built for focus. Works everywhere.

Distraction-free UI

Toolbars and property panels are compact with deep, neutral colours so your artwork is always the focal point. Toggle the whole UI (Ctrl+\), minimize UI (Ctrl+Shift+\), or hide panels while keeping canvas (Shift+R for rulers). Preferences persist to disk automatically.

Browser or desktop — your choice

Run Koodesign directly from a web link in Chrome or Safari with full performance, or download it as a lightweight desktop app that opens instantly — same engine, same speed.

Universal exporting

Export individual layers, groups, or entire pages to SVG or PDF in one click. Every export is pixel-perfect and scalable — ready for handoff or publication.

Market Timing

Why Now?

Three technology convergences create the exact right window.

2024
WebGPU Ships Everywhere

Chrome, Firefox, Safari all ship WebGPU. The browser finally has a real GPU API — not a polyfill over WebGL.

2025
Loro CRDT Matures

Loro v1.0+ delivers production-grade collaborative editing with columnar encoding and sub-millisecond merges.

2025
LLMs Get Structured Output

LLM tool-use APIs enable reliable typed generation — AI can emit structured scene commands, not chat text.

Technical Architecture

Three Structural Moats

Not incremental improvements — fundamental architectural advantages that compound over time.

kd-render + kd-core

The Engine — Dual WebGPU/WebGL2 Renderer

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. On browsers without WebGPU, femtovg (WebGL2) provides identical rendering with automatic fallback — zero configuration required.

Lyon CPU tessellation (zero T-junctions)
R-Tree spatial hit-testing (rstar)
SIMD affine transforms (glam)
WebGL2 femtovg fallback — 99.9% browser compat
// Render path: input to pixel in ≤2ms
winit::Event → ToolFSMSceneCommandDirtySet → tessellate → wgpu::present
kd-server

The Network — Lock-Free CRDTs

Loro CRDT — not OT, not polling. Conflict-free merge with deterministic convergence. Works offline, syncs on reconnect. Redis Pub/Sub backplane for horizontal scaling.

  • ≤100ms sync latency (localhost)
  • 50–500 byte deltas per operation
  • Columnar encoding (zero-copy)
  • Airplane-mode native
  • Redis backplane (--features backplane)
kd-agent

The Agentic Wedge — AI on the Scene Graph

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. Claude 3.5 Sonnet/Opus, Llama 3.1 70B, or any Bedrock-compatible model.

≤8s
Wall-clock generation
≤8K
Token budget (culled)
Incremental
Streamed to canvas live
100% Rust

Memory-Safe by Construction

Zero buffer overflow CVEs. No GC pauses. No null pointer exceptions. The entire stack — GPU shaders to WebSocket parsing — is Rust.

Post-NSA advisory compliant — no managed runtime attack surface
Competitive Landscape

Koodesign vs. Incumbents

Architectural differences, not feature checklists.

Koodesign Figma Penpot
RendererWebGPU (wgpu) + WebGL2 fallbackWebGL2 + CanvasSVG DOM
LanguageRust (native+WASM)C++→WASM + TSClojure + JS
Sync EngineCRDT (Loro)OT (proprietary)Server-auth
OfflineFull (CRDT native)LimitedNo
AI IntegrationScene graph native, streams livePlugin overlayNone
Self-Host18MB binaryNoDocker (multi-GB)
LicenseAGPLv3 + CommercialProprietaryMPL-2.0
10K Nodes120 FPS / 8.33ms~30 FPSUnusable
Multiplayer cursorsBuilt-in (TTL-evicted)Built-inPartial
Multi-page docsCRDT-native (Document + PageMeta)Built-inBuilt-in

Unified Command Architecture

Human input, AI generation, and network sync all flow through one type: SceneCommand

// Every mutation — human, AI, or sync — is a SceneCommand (50+ variants) enum SceneCommand { AddNode { parent: NodeId, node: SceneNode }, SetFill { id: NodeId, fill: Fill }, SetTransform { id: NodeId, transform: Affine2 }, SetLayout { id: NodeId, config: Option<LayoutConfig> }, RotateDeg { id: NodeId, deg: f32 }, OutlineStroke { id: NodeId }, JoinPaths { id_a: NodeId, id_b: NodeId, name: String }, // ... 44 more variants — all atomic, CRDT-recorded, undo-able } // Applied atomically to Loro CRDT → broadcast → retessellate fn apply(doc: &mut LoroDoc, cmd: SceneCommand) → DirtySet<NodeId>
Enterprise Deployment

The Business Case

One binary. Zero dependencies. Air-gapped corporate networks. 95.6% gross margin at scale.

Air-Gapped On-Premise

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.

$ cargo build --release --target x86_64-unknown-linux-musl \
  --features "enterprise,agent,oauth,backplane"

# Output: single self-contained binary
-rwxr-xr-x 18M kd-server
Offline Ed25519 JWT License

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.

Unit Economics @ 1,000 Pro Seats

Monthly Revenue$20,000
Hetzner AX102 (bare metal)-$180
LLM inference (1K × $0.60)-$600
Storage + CDN + Infra-$105
Total COGS-$885
Gross Margin95.6%

No Kubernetes. No Terraform. Single Hetzner box: koodesign-server + Postgres 16 + Redis 7 + Caddy. Enterprise on-prem: COGS ≈ $0 → 98% margin.

AGPLv3 Dual-License Strategy

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.

CLARequired
Free (AGPLv3)
$0
3 collaborators · 50 AI tokens/day
Popular
Pro
$20/seat/mo
25 collaborators · 200K tokens/mo
Enterprise
$99/seat/mo
On-prem · SSO/SAML · Unlimited AI
Execution Plan

Roadmap

43-session engineering sprint across four phases · 500 tests passing — all green · 0 failures

P1
COMPLETE — 8 weeks
Engine Chassis
Scene graph + 50+ SceneCommand variants
Lyon tessellation + wgpu surface + MSAA 4×
Loro CRDT integration + world transform
Pan/zoom · selection · multi-select · undo/redo
GPU glyph atlas text (fontdue → R8 texture → WGSL)
Resize handles · 9 fill/stroke color presets
Pen tool + Catmull-Rom smooth paths
Path editing — Bézier control handles (in/out)
Smooth-handle mirror (Alt+M toggle)
Boolean ops — Union · Intersect · Subtract · Exclude (XOR)
Property panel · opacity · gradient editor
File save/load (Ctrl+S/O, .kd JSON)
SVG export with cubic Bézier curves (Ctrl+E)
PDF export via printpdf (Ctrl+Shift+E)
Linear + radial gradient fills (incl. smooth-path stroke)
Snap-to-object guides + snap-to-grid + ruler guides
Layer panel — drag-to-reorder · eye/lock icons
Duplicate · rubber-band marquee · group/ungroup
Copy/paste (system clipboard, JSON, +20px offset)
Drop shadows (GPU 2-pass Gaussian blur)
Lock/unlock nodes · Components · Instances · Overrides
WASM browser build + IndexedDB persistence
P2
COMPLETE — 6 weeks
Real-Time Collab
WebSocket sync hub (axum) + bidirectional client
Snapshot persistence + restore on startup
REST API: /health · /docs · /snapshot · /command
Ed25519 JWT middleware (EdDSA, offline, graceful degradation)
Quota tiers (Pro/Team/Enterprise rate limits)
History ring (50 snapshots) + restore API + UI
S3 / Cloudflare R2 snapshot offload (60s)
OAuth social login (GitHub + Google)
Redis Pub/Sub backplane (horizontal scaling)
≤100ms latency verified (WS stress tests)
P3
COMPLETE — 5 weeks
AI Agent Loop
Bedrock streaming runtime (feature-gated)
Prompt builder + ViewportContext + parser
AgentOverlay UI wired to client (A key)
Multi-provider routing (Claude Sonnet/Opus, Llama 3.1)
Bedrock tool-use structured output (schema-enforced)
Incremental streaming — commands fire per token chunk
Token pre-count + context window truncation (≤8K tokens)
Semantic validation — rejects invalid sizes/coords/colors
P4
COMPLETE — Public Beta Sprint
Full Feature Parity & Public Beta
Full keyboard shortcut parity (Groups A–U, 14 groups)
Alignment & distribution — 6 anchors, 7 modes, Pack, Tidy Up
Text style properties — Bold/Italic/Underline/Strikethrough
Text case transforms — Upper/Lower/Title (Ctrl+Alt+Shift+U/L/Y)
Text align + letter-spacing + line-height rendering
Property copy/paste + Eyedropper tool
Find & replace overlay (Ctrl+F)
Vector path ops — Join, Split, Simplify, Offset
Image placement (PNG/JPEG/GIF)
Auto Layout (Shift+A) — taffy flex solve
Multiplayer cursor overlay (TTL-evicted, toggleable)
UI visibility modes (show_ui, minimized_ui, outlines_mode)
Preferences persistence — 8 fields + nudge/snap/grid
Multi-page documents — page nav (PgUp/PgDn), rename, backgrounds
Page backgrounds (Solid/None) + show-in-exports flag
Floating colour palette (HSV + alpha, 9 presets)
Rotate 90°/180° + Flip H/V + Frame Selection + Outline Stroke
Opacity masks (is_mask flag, Ctrl+Alt+M)
Frame/Line/Image nodes + 12 new ToolKind variants
Copy As SVG / Copy As CSS (Figma parity)
Dual WebGL2/WebGPU renderer (femtovg fallback)
CloudFront CDN + WAF + Route 53 + ALB stickiness
Toolbar resource panel — 3-tab command palette
Design / Draw / Dev Mode switching
Show dimensions on objects (preference)
Snap to pixel grid (rounded on commit)
Hide other layers (Alt+L) + New document (Ctrl+N)
Navigate frame prev/next (Shift+N/N)

Built on proven foundations

wgpulyonloro glamaxumwinit taffytokiorstar slotmapfemtovgfontdue multi-llm

Ready to discuss?

Whether you're evaluating for a grant committee, investment thesis, or enterprise deployment — let's talk architecture.