notion
Type: Infra / capability layer Status: Active Deadline: N/A — ongoing Created: 2026-06-09
What is this?
The Notion stack David has set up as a collaboration / dashboard layer on top of the local ~/topaz/projects/ PM substrate. Captures the patterns, scripts, and decisions that make Notion useful without making it the source of truth.
This is meta-infrastructure, not a product. It lives here so the setup, decisions, and tooling are versioned + searchable across future sessions.
Why this matters
~/topaz/projects/ is the local-canonical layer: plain Markdown, git-versionable, greppable, portable, zero lock-in. But it’s invisible to anyone without filesystem access. Notion fills the gap — shareable surfaces for collaborators (architects on scaffold, pilot users on race-timer eventually), structured databases for cross-project querying, mobile-friendly views.
The split (local = source of truth, Notion = projection) means if Notion went away tomorrow, nothing is lost.
Architecture
┌──────────────────────────┐ ┌──────────────────────────┐
│ ~/topaz/projects/<x>/ │ │ Notion (Enigma Studio) │
│ ──────────────────── │ │ ──────────────────── │
│ overview.md │ ┌─→ │ Projects (database) │
│ log.md │ │ │ ├─ <project> (row) │
│ tasks.md │ ──┤ │ │ ├─ Decisions DB │
│ decisions/*.md │ │ │ │ ├─ Tasks DB │
│ assets/* │ │ │ │ ├─ Log page │
│ (Markdown, git-tracked) │ │ │ │ └─ Research pages │
│ │ │ │ │
│ SOURCE OF TRUTH │ │ │ PROJECTION / SHARE │
└──────────────────────────┘ │ └──────────────────────────┘
│
sync via ntn CLI script
(one-way, on demand)
Capabilities currently set up
- Notion MCP server (
mcp.notion.com) registered at user scope (~/.claude.json) — Claude Code can read/write the workspace directly via OAuth, scoped to David’s personal account ntnCLI v0.16.0 installed at/opt/homebrew/bin/ntn, authenticated to Enigmastudio workspace (creds in macOS keychain) — for shell-scriptable bulk operations- Projects database at workspace root — portfolio dashboard; each project is a row with Status / Type / Last touched
- 🏷️ Bookmarks database — populated with 633 Raindrop bookmarks via
import-bookmarks-to-notion.mjs - Scaffold mirror — full collaboration workspace for the AEC exploration project, includes 8-question Open Questions database
- Race Timer mirror — full project state mirrored as a stress test; 10 decisions + 119 tasks + log + research
Scripts
~/topaz/scripts/import-bookmarks-to-notion.mjs— parses~/topaz/resources/bookmarks/*.mdand pushes each bookmark to the Notion 🏷️ Bookmarks DB viantn api. Throttled to ~2.5 req/sec. Supports--dry-run,--limit N,--start Nfor testing and resuming.
Patterns
- Mirror on demand: only push a project to Notion when collaboration or dashboarding requires it (scaffold ← brother + SIL; race-timer ← future fleet pilots). Personal-only projects stay local.
- Projects-as-database: each project is a row in the top-level Projects DB. Click into the row to access the full project workspace (decisions DB, tasks DB, log page, research sub-pages).
- ntn CLI for writes, MCP for reads + interactive setup: ntn is ~5-10× more token-efficient for bulk operations; MCP is right for one-off structured changes and interactive workflows in Claude Code.
Intended users
- David (primary, all surfaces)
- Brother + sister-in-law (scaffold collaboration, guests on specific pages)
- Future race-timer pilot users (read access to fleet stats / standings — via M-2.4 spectator surface, not the project workspace)
Workspace URLs
- Enigma Studio workspace root
- Projects database: https://app.notion.com/p/96fd94396f5d4b8b8d4dc78900faa882
- 🏷️ Bookmarks: https://app.notion.com/p/37a76df7a802812ea529f8f43893147e
- Scaffold (project): https://app.notion.com/p/37a76df7a80281408430f076465524af
- Race Timer (project): https://app.notion.com/p/37a76df7a80281738ff1c6a5686c916f