Atlas
Atlas is the web application I use to work with shared Knowledge Exchange Graphs (KEGs), supervise AI agents, and chat with an assistant that works over the same graphs. Humans and agents share one authenticated knowledge model, but each gets its own way in.

Architecture
Atlas is the web interface of Tapper Hub, a single Go binary backed by PostgreSQL. Pages are rendered with Go templates, and HTMX handles targeted updates, with no JavaScript build step. Links and forms work without JavaScript. Live regions such as the editor, the contextual rails, and chat update in place over WebSockets and server-sent events.
The web app, REST API, CLI, and MCP endpoints all call the same KEG operations, and every KEG access goes through a single authority check. The KEG engine is Tapper itself, imported as a library, so a hosted KEG behaves like a local one. Node content, attachments, indexes, and snapshots all live in PostgreSQL, alongside keyword search and optional semantic search with pgvector.
Human workspace
The contextual workspace covers the day-to-day work around namespaces, KEGs, nodes, schemas, indexes, sharing, archives, and settings. It includes personal pins, custom indexes, backlinks, attachments, schema-aware metadata editing, and focused node views. A public explore directory surfaces KEGs that people have chosen to share.
Agents and flights
Atlas manages agents and the flights they work in. An agent is a model, its instructions, a tool allowlist, and a flight. A flight decides which KEGs are in scope and what the session is for. An agent orients to its flight explicitly, receives only that flight’s KEG access, and can recover its working context from durable graph records. Flights narrow authority. They never grant access the account behind them does not have.
Chat and the relay
Atlas has a built-in chat assistant. Its reply loop runs on the server and streams to the browser, and tool calls that need approval wait until I answer.
The assistant can use Hub’s managed models, or models and tools that my own machines offer through tap relay. The relay dials out to Hub, so no inbound port is needed and provider keys never leave the machine. One of my machines keeps Claude Code logged in with my Claude subscription and forwards its tools through the relay. That lets the Atlas chat hand real coding tasks to Claude Code running on my hardware. Today that runner is my Mac. It is moving to a small dedicated VM in my homelab.
Status
The workspace, access model, agents, and flights are released and in daily use. The relay and runners are experimental. Search and discovery are still being refined, and invitations and an inbox are next.
Read the architecture overview for how the pieces fit together, the current state report for the story so far, or open Atlas.