An Obsidian vault turned into a cinematic, scroll-choreographed 3D portal: your notes as a living constellation, your projects as chapters you walk through, a camera that tours your own graph, and a static site you can host anywhere.
Walk through a real 264-note demo garden, no install
An antechamber is the room you pass through before entering the chamber itself. That is what this builds: a front room for your second brain, where a visitor scrolls through the things you are making, reading and thinking about, sees how they connect, and follows doors out to everything else you have built.
Obsidian's graph is famously beautiful, and the community has built about two dozen plugins that render it in 3D. Every one of them lives inside the app: none can publish what they render. Meanwhile every serious vault-to-website tool (Quartz, Obsidian Publish, Webpage HTML Export, Digital Garden) renders its graph strictly in 2D. The two worlds have never crossed properly.
Antechamber is that crossing, and it is deliberately more than a graph viewer. The differentiation is not the 3D graph alone. It is the scroll-choreographed portal: chapters that light up regions of your vault as the camera tours their densest knots, glass HUD panels for live data, a newswire, a markets ticker, ten themes, and a first-run experience that works before you configure anything at all.
- A 3D constellation of your actual vault. Titles, folders, tags and links only. Note contents never leave your machine, and file paths never enter the output. The privacy contract is documented and enforced in the extractor.
- Chapters with a derived cinematic camera. Define what each chapter matches; the scroll tour through its most-connected hubs is computed from your graph. No coordinates to hand-tune, ever. Overrides exist if you want them.
- A real first run. Clone it,
bun run dev, and a complete demo garden renders immediately.bun run setupthen opens a guided five-step flow that validates your vault, drafts chapters from your largest folders, and writes the whole configuration for you. - Pods, all optional, all keyless. A newswire with preset bundles, market quotes, weather and air quality, and HUD panels including one that needs no backend at all. Everything off by default; nothing phones home.
- A static site at the end.
bun run buildemits plain files. Host them on nginx, GitHub Pages, a Raspberry Pi, anywhere.
git clone https://github.com/CmdShiftExecute/antechamber
cd antechamber
bun install
bun run dev # the demo garden, immediately → localhost:5190
bun run setup # the guided flow that connects your own vaultRequires Bun. Full walkthrough: docs/01-quickstart.md.
The chapters read in order, each linking to the next.
| Chapter | What it covers |
|---|---|
| 01 · Quickstart | Clone to demo to your own vault in five minutes |
| 02 · Guided setup | The five-step first-run flow, step by step |
| 03 · Configuration reference | Every field in portal.config.json |
| 04 · Graph extraction and privacy | What enters the graph, what never does |
| 05 · Chapters and the camera | Match rules, the derived tour, manual overrides |
| 06 · HUD panels | Built-in panels, the JSON contract, and a prompting guide for building feeds with an AI agent |
| 07 · News and feeds | Preset wires, custom RSS, quotes, weather |
| 08 · Deployment | Static hosting, cron jobs, nginx |
| 09 · FAQ | Troubleshooting and honest limits |
- Extract.
bun run graph:extractwalks the vault, resolves wikilinks the way Obsidian does, runs a seeded force layout, and writes a sanitizeddata/graph.json: labels, groups, tags, link topology, coordinates. Deterministic output, no note contents, no paths. - Configure. One file,
portal.config.json, drives everything: identity, chapters, pods, theme. It is fetched at runtime, so edits apply on refresh. - Render. React and Three.js draw the constellation; GSAP choreographs the scroll; chapters highlight their matched nodes and the derived camera tours them. The build is a static site.
The extractor's contract, stated once and enforced in code: the published graph
never contains note bodies, never contains file paths, and never contains
anything from excluded directories. What ships is what a stranger could learn
from your note titles and their link structure, nothing more. Your
portal.config.json (which knows your vault path) is gitignored by design.
Details: docs/04-graph-extraction.md.
Vite 8 · React 19 · Three.js · GSAP · Bun. No accounts, no keys, no telemetry.




