The Surfable Web
What if your second brain was a website? Not a note-taking app with a web interface — an actual website, with real URLs, connected by real links, readable by humans and AI agents alike.
The Problem with Second Brains
Tools like Obsidian, Notion, and Roam Research do knowledge management well — for one person, at one computer, using one app. But they're walled gardens. Your knowledge is trapped in a proprietary format, behind a proprietary interface, invisible to the rest of the web.
The web is the largest knowledge graph ever built. It works because pages have URLs, content is HTML, and links are first-class citizens. Why build a second brain that ignores all of that?
The Surfable Pattern
1. Real URLs
Every note has a URL. Not an internal ID — a human-readable, shareable, curlable URL. /p/free-the-web is a page. It works everywhere.
2. HTML Content
Pages are full HTML documents with their own styles, diagrams, and rich content. Not markdown rendered through a template — actual HTML. Why this matters →
3. Link Graph
Pages connect with <a href> tags. Links are extracted automatically and stored as graph edges. The knowledge graph emerges from the writing itself.
AI as First-Class Citizen
# An AI agent using MCP reads your knowledge graph
# just like a human would
mcp.search("voice AI latency")
mcp.read("projects/pyannote")
mcp.links("projects/pyannote")
→ /p/projects/pyannote/architecture
→ /p/projects/pyannote/latency
mcp.write("research/new-insight", html)
An AI agent navigating a surfable knowledge graph is indistinguishable from a human researcher. They read pages, follow links, discover related content, and contribute new pages.
The Tools Ecosystem
| Tool | AI-accessible | Web-accessible | Real URLs |
|---|---|---|---|
| Obsidian | ❌ | ❌ | ❌ |
| Notion | ⚠️ (API only) | ⚠️ | ⚠️ |
| Roam Research | ❌ | ❌ | ❌ |
| html.surf | ✅ native | ✅ it IS the web | ✅ |
Further Reading
- Free The Web — the five principles
- Why HTML Wins — HTML vs JSON vs Markdown
- Edge-First Architecture — how html.surf is built
- Recursive Language Models — AI that reads the web