Vibecode Miro

track this build5 phases, 15 steps, beginner friendly
KINDA · weekend project
price $10/moyou'd save $120/yrbuild time multi-daycategory 🧑‍🏫 whiteboardsreplaced by 0 people

A simple multiplayer whiteboard is doable; Miro's value is scale, templates, integrations, facilitation, permissions, and reliability with many users.

the project pack5 files · written for this build, step by step
README.md
# Miro · indie build

A canvas that stays smooth with ten thousand objects because it only draws what is on screen, with sticky notes, shapes, connectors and freehand ink, and genuine concurrent editing built on a conflict-free replicated data type so two people typing at once converge rather than overwrite each other.

Estimated effort: **multi-day**. Work `BUILD_PLAN.md` top to bottom · every phase ends in a check that has to pass before the next one starts.

## Stack

| Part | Choice | Why |
| --- | --- | --- |
| Runtime | TypeScript with Vite, rendering to a canvas element | at ten thousand objects the DOM stops being viable and an immediate-mode canvas does not |
| Collaboration | Yjs, a conflict-free replicated data type | concurrent edits converge without a server deciding a winner, which is the property that makes multiplayer correct rather than lossy |
| Transport | A WebSocket relay that persists the document | the relay stores and rebroadcasts updates; it does not resolve conflicts, because the data type already did |
| Persistence | The Yjs document state plus periodic snapshots | loading a board should not mean replaying every edit since it was created |
| Spatial index | A quadtree over object bounds | hit testing and viewport culling both need to answer what is here quickly |

## Before you start

Have every one of these ready. The plan assumes them from step one.

- [ ] **Node.js 22 or newer** · free
  - Why: Runs the relay and the build.
  - Get it: nodejs.org, or nvm install 22.
  - Verify: node --version prints v22 or higher
- [ ] **Two browsers or two machines for testing** · free
  - Why: Every collaboration claim in Phases 3 and 4 needs two participants. A single browser with two tabs is a weaker test but is the minimum.
  - Get it: Two different browsers on one machine, or two machines on the same network. Two machines catch clock and latency issues that two tabs hide.
  - Verify: Two clients connect to the same board simultaneously
- [ ] **Understanding of why a conflict-free data type is used** · free
  - Why: It is the central architectural decision, and retrofitting it after building on last write wins means rewriting every mutation.
  - Get it: Read the Yjs documentation on shared types before Phase 3, not during it. Half an hour saves a rewrite.
  - Verify: You can explain why two concurrent text edits merge rather than one winning
- [ ] **A generated board with ten thousand objects** · free
  - Why: Phase 1's performance work is meaningless without it, and the naive approach feels perfect until this fixture exists.
  - Get it: Write the generator in Phase 1 before optimising anything.
  - Verify: The generator produces a board that loads and renders
- [ ] **A small server for the product phase** (optional) · 5 to 10 USD a month
  - Why: Only needed once other people use it. Everything before that runs locally.
  - Get it: Any small virtual server with a domain, or a machine at home behind a tunnel.
  - Verify: The relay is reachable over TLS

## Quick start

```sh
npm create vite@latest . -- --template vanilla-ts
```

Then copy `.env.example` to `.env` and fill in the values it documents.

## Honest limits

This build deliberately does not replace:

- Performance at very large boards with many simultaneous editors.
- The template library.
- Integrations that embed boards in other tools.
- Video calls, timers, voting and the facilitation features.
- large-board performance
- templates
- integrations
- facilitation tools
- permissions
- enterprise controls

If one of those is essential to you, that is the reason to keep paying for Miro, and the README should say so rather than pretend.

$ choose a build depth, inspect the files, then open the complete pack in your agent

why people still pay

They pay for workshops where dozens of people can join and everything still works.

what you lose

xlarge-board performance

xtemplates

xintegrations

xfacilitation tools

xpermissions

xenterprise controls

share on X ↗"I just replaced Miro ($10/mo) with one prompt"
the escape hatch

Don't feel like building it? These folks already made it free.

ExcalidrawThe best simple escape hatch for collaborative diagrams, workshops, and planning: fast, free, local-first, and pleasantly uninterested in becoming Salesforce.124kaug 2026open source↗AFFiNEAn integrated canvas, docs, databases, and planning workspace for teams willing to accept a younger product and real self-hosting chores.71kaug 2026open source↗CryptPadEncrypted collaborative whiteboards with persistent folders, permissions, and sharing; fewer templates, far better data boundaries.7.8kjul 2026open source↗

all 5 free alternatives to Miro →· no votes, no pay-to-list · just what's real

the numbers

Miro pricing

planmonthlyannual (per mo)what you get
free$0/user$0/userUnlimited members and boards, but only the 3 most recently created boards remain editable; 10 AI credits/month; 100 MCP calls/day
starter$10/user$8/userUnlimited private boards and project spaces; visitor editing; 25 AI credits/member/month; 500 MCP calls/day
business$25/user$20/userUnlimited workspaces and guests; 50 AI credits/member/month; 2,000 MCP calls/day; SSO, advanced diagramming and two-way integrations
enterprisecustom—30-member minimum; starts at 2,500 pooled AI credits/month; 10,000 MCP calls/day; SCIM, data residency and organization governance

free tierUnlimited members and boards, but only 3 most recent boards editable; 10 AI credits/month and 100 MCP calls/day; no guests or visitors

billingfree + per-member monthly or annual billing; annual saves 20% and is prepaid; automated card billing has no seat minimum, while invoicing is annual-only with 10 Starter or 5 Business licenses

hidden costsNew paid members are prorated immediately, while removed seats stay billable until renewal; extra AI-credit packs, Enterprise Guard and Premium Support cost extra; some data-residency migrations carry fees

verified 2026-08-14 · source ↗

questions
Vibecode Miro

Kinda. The core of Miro is buildable in a weekend with the prompt on this page, but there are real gaps: large-board performance, templates. Read the honest list above before committing.

How much does Miro cost?

Miro costs about $10/month (Starter, checked 2026-07-30), which is $120 per year.

What do I lose by replacing Miro?

Honestly: large-board performance; templates; integrations; facilitation tools; permissions; enterprise controls. If any of those are load-bearing for you, keep paying.

Is there an open-source alternative to Miro?

Yes: Excalidraw (The best simple escape hatch for collaborative diagrams, workshops, and planning: fast, free, local-first, and pleasantly uninterested in becoming Salesforce.) AFFiNE (An integrated canvas, docs, databases, and planning workspace for teams willing to accept a younger product and real self-hosting chores.) CryptPad (Encrypted collaborative whiteboards with persistent folders, permissions, and sharing; fewer templates, far better data boundaries.) All 5 curated free alternatives are at vibecodeit.com/miro/alternatives. The prompt is for when you want it exactly your way.