← All projects

Design systems, not diagrams

Simulark

Plain English in, live architecture out: editable canvas, validation, and an operator that keeps iterating with you.

Next.jsBunTypeScriptVercel AI SDKDashScopeDeepSeekQwenSupabaseXYFlowUpstash RedisVitest
Simulark: Design systems. Not diagrams.
Design systems, not diagrams

Problem

Teams describe backends in prose, then redraw diagrams by hand. Structure gets lost between chat, docs, and engineering handoff.

Architecture

Product flow

Sign in, open a project, describe the system in prose. Simulark returns an editable graph you can stress-test and export.

My responsibility

I owned the generation-to-canvas loop: streaming inference, schema-shaped outputs, validation, deterministic autoFix, and how edits land on the graph without rewriting everything.

Decision

Prefer structured JSON plus deterministic validators and rule-based autoFix over free-form chat edits. Use an agent tool path for surgical edits on existing graphs. Stream incremental canvas updates, and fall back from DeepSeek to Qwen on DashScope when a model stalls.

What could fail

Hallucinated topologies, invalid edges, broken incremental edits, rate limits, and mid-stream provider outages that leave the canvas half-updated.

How I made it reliable

Schema validation and tech normalizers catch bad graphs early. Rule autoFix repairs common shape issues before the canvas mutates. Incremental streaming and agent edits limit blast radius. Upstash Redis handles cache and burst rate limits. Supabase backs auth, projects, and daily usage quotas.

Result

Plain English in. Live architecture out: editable canvas, stress modes, and an operator that keeps iterating with you.