Skip to main content
PORTFOLIO
All projects

Case study · 2025 — Present

DesignOS — Local-First AI Design Studio

Chat-driven design systems with multi-format export

Independent builder · Independent

Personal product
SvelteKitSvelte 5BunTypeScriptTailwindOpenAIWorkOS

The problem

The problem

Designers and founders bounce between chat tools, Figma, and export hacks. They need AI generation that still respects a design system and ships to real formats — without every action round-tripping through a cloud service.

Outcomes

  • Local-first workspace for tokens, components, pages, decks over a hand-rolled SSE chat stream
  • Real export paths — ZIP, HTML, PDF (jsPDF/html2canvas), PPTX (pptxgenjs) — plus a Canva hand-off link, not a full Canva integration
  • Layered verify gate (static integrity, security, agent, design-library lint/score) chained under one `bun run verify` command

Approach

Conversation revises artifacts; a design-library governance layer (parser/loader/projector/overrides against JSON Schemas) keeps tokens, type, and voice consistent across a project.

Projects live in the browser/workspace as local-first files; WorkOS auth is fully optional, gated behind an env flag and off by default.

Being honest about scope

The project self-describes as "a solid prototype foundation... not yet enterprise-grade" — one bundled reference design system exists so far, and the Canva "export" is currently just a link-out, not an API integration. Worth stating plainly rather than overselling it.

Key tradeoffs

Storage

Chose: Local-first project files

Rejected: Cloud-only multiplayer from day one

Ownership and offline work beat collaborative complexity for v1.

Streaming

Chose: Hand-rolled SSE over a dedicated library

Rejected: A managed streaming SDK

The chat surface is a thin `ReadableStream`/`text/event-stream` endpoint — a library would add weight without solving a real problem yet.

What was hard

  • Export fidelity across PPTX/PDF/HTML

What I would change

  • Deeper multiplayer later, not as a blocker
  • A real Canva API integration if that export path proves valuable

Artifacts