Named after the Greek Titan Atlas, who held up the celestial sphere, and later Mercator's 1595 Atlas, which collected the maps of the known world into a single bound volume. An atlas is what a domain looks like when you can hold the structure of it in one place.

That is what this tool does for a working research corpus. You can already ask about your papers — that is mnemo's job. Atlas is for when you want to look at them: see how they cite each other, what themes cluster, where the gaps are, which keystones you haven't read yet, how the field has evolved. Atlas and Mnemosyne were both Titans; this pairing is deliberate.

Six views

  • citations — in-corpus citation network via OpenAlex. External "keystone" papers (cited by 2+ of yours) appear as anchors. Label-propagation community detection, Claude-synthesized cluster labels, draggable communities, shared-reference compare mode.
  • concepts — UMAP projection of Voyage embeddings with HDBSCAN clustering and Claude-labeled themes. Sun-and-planets layout, SVG region hulls, kNN similarity edges, find-similar-on-click, citation-gap toggle.
  • arguments — paste a paragraph; Claude decomposes it into claims, atlas finds the top-matching evidence papers in the workspace via cosine similarity. Per-claim support glyphs (✓/◐/✗), verify-with-Claude, BibTeX/APA export.
  • temporal — horizontal swim-lane chart, one lane per cluster, each paper placed at its publication year. Reveals continuously-active themes vs. dormant ones.
  • health — "Is this workspace ready to write from?" dashboard. Citation density, OpenAlex resolution rate, cluster coherence, metadata completeness, year distribution.
  • recommend — ranked "what to read next." Keystone papers cited by 2+ of yours but not yet ingested, ranked by in-corpus citation count and cluster-bridging count. Claude writes a one-sentence rationale per candidate explaining why it matters to your corpus specifically.

Plus a cross-workspace search (embed any query, cosine-score against every workspace's cached document embeddings) and a per-workspace home that summarizes pulse metrics, theme labels, and recent ingests.

How it works

Atlas is a read-only frontend on the same data tree as mnemo. Nothing to reconfigure, nothing to re-ingest.

  1. mnemo ingests PDFs via its SMB inbox and drops structured output into data/<workspace>/parsed/<hash>/.
  2. Atlas mounts that tree read-only, runs FastAPI + Cytoscape in a browser.
  3. External services: OpenAlex (free citation resolution), Voyage voyage-3 embeddings (~$0.0001/query), Claude Haiku 4.5 for cluster labels and rationales.
  4. Everything caches to a persistent Docker volume, keyed by content signature — a rebuild costs pennies and only runs when the corpus changes.

Design decisions

Why read-only? Atlas doesn't ingest; mnemo does. Separating "parse corpus" from "look at corpus" means atlas can be rebuilt, redeployed, or rewritten without touching the actual data.

Why community detection and concept clustering? Concepts are semantic (what papers are about). Communities are relational (who actually cites whom). The same corpus usually partitions differently under the two lenses — and the difference itself is informative.

Why external keystones? A paper cited by 2+ of yours but not ingested is a load-bearing reference you haven't added. These are the papers most likely to reshape the corpus if you read them. The recommender view is built entirely on this signal.

Why Claude for labels instead of top-words? HDBSCAN gives you the cluster; tf-idf gives you "financialization, infrastructure, urban" — three words stapled together. Claude gives you "how cities financialized their infrastructure after the 2008 crisis" — a phrase that actually means something.

Stack

  • FastAPI (Python 3.11)
  • Cytoscape.js 3.30
  • fcose + dagre layouts
  • Fraunces
  • JetBrains Mono
  • Voyage AI voyage-3
  • OpenAlex
  • Claude Haiku 4.5
  • UMAP → HDBSCAN (cosine)
  • Docker Compose
  • Cloudflare tunnel
  • Cloudflare Access
  • Playwright (12 smoke tests)

"A map is not the territory it represents, but, if correct, it has a similar structure to the territory, which accounts for its usefulness." — Alfred Korzybski, Science and Sanity (1933)