We are on a mission to reinvent how designers work in the AI era. We’re backed by top investors including First Round, Chemistry, Homebrew, Scribble and senior leaders from OpenAI, Meta, Google, Ramp, Stripe and more. We’re building the next\-generation AI design tool for product teams.
We’re hiring a Backend Architect to own the backend that powers a collaborative, real\-time canvas used by design teams. You’ll architect the API surface, data layer, and real\-time sync that everything else in the product builds on — including every AI feature. This is a deeply hands\-on architect role: you’ll design the system and write the code, not just draw boxes.
Our backend is TypeScript end\-to\-end, multi\-tenant, and serves a live multi\-user canvas. You’ll set the patterns the rest of the team builds against.
- *What You’ll Do**
- -----------------
- **Work with AI Lead, and own parts of the backend architecture.** API design, data modeling, service boundaries, real\-time sync, auth and multi\-tenancy. Make the calls that everyone else’s code lives inside
- **Build the real\-time and multiplayer layer.** WebSocket fanout, presence, conflict resolution, document sync — the substrate that makes the canvas feel live for every user in a workspace
- **Design the data layer with judgment, not defaults.** Pick the right store for each workload — relational, document, event log, blob, cache — and own the schemas, migrations, and consistency model
- **Ship into our TypeScript monorepo.** API, auth, database, and real\-time services all live in one codebase — you’ll work across all of them and set the patterns for how they fit together
- **Own auth, orgs, and permissions.** Workspaces, sharing, roles, audit — the things that make us safe to use inside a company
- **Build AI\-friendly backend primitives.** Streaming endpoints, long\-running agent calls, idempotency, cost attribution — the AI features will call into your APIs and you’ll make sure they can
- **Set the technical bar for backend engineers.** Code review, design review, and the patterns the rest of the backend team learns from
- *Must\-Have Requirements**
- --------------------------
- **12\+ years software engineering experience, with significant time as a hands\-on backend architect or senior backend engineer.** This is a deeply hands\-on role — you’ll write the code, not just review it
- **Production TypeScript experience in large, complex codebases** — you’ve shipped non\-trivial backend systems in TS, ideally in a monorepo, and have strong opinions on how to structure a TS backend at scale
- **Shipped a collaborative or real\-time backend in production.** WebSocket fanout, presence, document sync, conflict resolution (CRDT, OT, or equivalent) — you’ve owned this in a live multi\-user product
- **Strong database fundamentals.** Schema design, indexing, query performance, transactions, migrations, consistency models. Comfortable making the call between relational, document, and event\-sourced approaches based on the workload
- **Multi\-tenancy and auth depth** — orgs, workspaces, RBAC, sharing semantics, audit
- **Comfortable with the infra surface** — Kubernetes, Terraform, CI/CD — enough to debug, contribute, and design with infra constraints in mind. You don’t have to own it, but you can’t be helpless around it
- **Architect\-level judgment without manager scope.** You’re the technical anchor, not a people manager
- *Nice to Have**
- ---------------
- Experience designing **AI\-aware backend APIs** — streaming responses, long\-running agent calls, token\-bounded request/response shapes, idempotency for retried LLM ops, cost attribution per tenant
- **CRDT or OT internals experience** — Yjs, Automerge, ShareJS lineage, or having built your own
- Background shipping **canvas, design\-tool, IDE, or collaborative\-document backends**
- Experience with **observability and reliability engineering** at a serious level — SLOs, on\-call, debugging production at scale
- *What You’ll Own**
- ------------------
- The backend architecture and the patterns it enforces
- The real\-time / multiplayer layer the canvas depends on
- The data layer — schemas, stores, migrations, consistency
- Auth, multi\-tenancy, and permissions
- The backend primitives every AI feature calls into
- The technical bar for backend code in the monorepo