The honest answer
A personal outliner with bidirectional links and backlinks is buildable. Fluid block editing, transclusion, graph queries, offline sync, multiplayer collaboration, and years of keyboard behaviour make full parity a substantial product.
The hard parts
What actually makes this difficult
- Editor selection semantics
- Transclusion consistency
- Offline conflict resolution
What you lose
The parts that make the paid product hard to replace
- Realtime multiplayer
- Full query language
- Perfect offline sync
People still pay for Roam Research because deep interaction polish; established workflows; power-user ecosystem.
What your first version needs
Useful capabilities, not a clone checklist
BlocksCreate and reorder granular notes.
- Nested blocks
- Keyboard editing
- Block IDs
- Collapse state
LinksConnect notes in both directions.
- Page links
- Block references
- Backlinks
- Unlinked mentions
NavigationMove through a personal graph.
- Daily notes
- Search
- Sidebar
- Graph view
Before you start
Roam Research build questions
Can I vibe code Roam Research?
A smaller linked outliner is possible. Limit version one to one user, nested blocks, page links, backlinks, and daily notes.
What data model works?
Treat blocks as stable-ID records with parent/order relationships and references as explicit edges that can be rebuilt or validated.
Is the graph view essential?
No. Backlinks and fast navigation deliver more everyday value. Add graph visualisation only after editing feels excellent.
Sources
Reviewed 2026-08-10. This is a scoped independent build, not a claim about the proprietary implementation behind Roam Research.
