Can I vibe code Roam Research?
A note-taking tool for networked thought — outlining with block references.
Roam popularized the outliner-with-bidirectional-links model: everything is a nestable bullet, any block can be referenced anywhere, and a daily note is your default entry point. The outliner UI and [[page links]] are a solid weekend build, but block-level references, the linked/unlinked-references panel, and a query system that stays fast as the graph grows are genuinely fiddly. You can reproduce the model at personal scale; matching the depth and performance is the real work.
Build me a networked-notes outliner inspired by Roam Research. Everything is an outline of nestable bullets (blocks); support [[page links]] that create and link pages and ((block references)) that embed another block by id; open each day on a Daily Notes page. Show a backlinks panel on every page listing linked references (other blocks that mention it). Add fast search and keyboard-driven outlining (indent/outdent, collapse, zoom into a block). Use Next.js App Router with a hosted Postgres, model blocks with a parent id and order so references and reordering are cheap, and deploy to Vercel; note that a query language and real-time collaboration are out of scope for v1.
A daily-notes outliner where every bullet is a block, with [[page]] links, ((block)) references, and a backlinks panel.
- Robust block references and linked/unlinked-references panels at scale
- A query language over your graph
- Real-time collaboration and multiplayer graphs
- Mobile apps and years of outliner-performance tuning
Roam's moat was the idea and the community around networked thought more than the code — which is why cheaper and open-source clones caught up; what you pay for now is the mature block-reference engine and the workflow you've already built.
A prompt is the first move, not the whole game. Course 01 teaches you to take a prompt like this one to a shipped, working app — reviewing, correcting, and steering the agent the whole way.
Start Course 01 →