Documents and notes decision

Roam Research

A single capable developer can build a useful self-hosted Roam-like for personal use (backlinks, editor, graph) in a multi-week effort using existing open-source patterns; hosted polish, mobile apps, and managed sync are the main things they'd forgo.

Visit website
Subscription$15/month
Initial build80 hours
Monthly upkeep8 hours + $0
Evidence2/3 runs agree

What a replacement has to do

  • Create and edit interlinked blocks/pages, automatically record/display backlinks, and render a navigable graph of linked notes.

What it still won’t have

  • Hosted sync network and multi-device managed backup
  • Polished UX and performance tuning at scale
  • Mobile-first native apps and app-store distribution
  • Proprietary collaboration features and hosted integrations
  • Commercial support and official templates/plugins

What remains hard

  • Product polish and ongoing maintenance
Read the build prompt

First-year cost

Keep paying

Paying ischeaper in year one.

On cash alone, building overtakes the subscription at 1 seat.

Paid seatsseats

Money you would actually spend

Keep paying

Subscription price × seats × 12

Build it

AI build APIs + hosting

Time you would spend

What you would spend

What we assumed

The verdict above measures whether you could build it. This one is only about money.

Runnable build prompt

Not run yet
Build a self-hosted Roam-like note app using Node.js + Express, React (or Svelte) frontend, SQLite (or Postgres) for storage, and WebSocket for realtime sync. In scope: block-level Markdown editor with per-block IDs, create/edit/delete blocks, backlink indexing on save, paginated/full-text search, interactive D3-based graph view, simple email/password auth, and a JSON REST + WebSocket API. Out of scope: federated multi-user scaling, mobile native apps, advanced permissions, and paid billing. Include input validation, error handling, and automated tests for API endpoints and core editor/backlink flows. Provide Dockerfiles and a minimal deployment script targeting a single VPS.
How we checked3 sources · 2/3 runs agreed · evidence score 86

How the score was reached

  • Build verdict base78
  • An open-source build was found+5
  • 3 cited sources+3
  • Evidence score86

The base comes from the verdict. Everything under it is a check that either happened or did not, and each one is a fact frozen in this record rather than a judgement made at render time — so the same evidence always produces the same number.

How scoring works →

Cited sources · 3

Every page the run actually retrieved.

Integrity checks

What held up, and what did not.

! Price not confirmed on the page — this pricing page renders its price in the browser! 2 of 3 runs agreed; the verdict is the majority✓ Citations limited to fetched pages! 1 moat recorded