Colophon

How it's made

A dependency-free engine, one algorithm written once, and a verify-everything discipline — every entry logic- or statistically-tested and looked at in a real browser before it ships.

Architecture

The shipped site is vanilla HTML/CSS/JS + Canvas — no frameworks, no runtime dependencies, no build step to view it. A single small engine (lib/algo.js) provides the player: it drives an entry's instrumented generator, animates the trace on a canvas (play/pause/step/scrub/speed), surfaces the operation counters (the cost lens) and the annotation (the guarantee lens), and offers shared renderers (Algo.bars for array charts, Algo.grid for cell grids). A tiny audited numerics module (lib/numlib.js) adds dependency-free power iteration and Gaussian projection for the spectral and dimension-reduction entries. One design system (styles/main.css) governs every page: dark, typographic, and sparing with color — each hue means one thing across the whole atlas.

One source of truth

Each algorithm is a generator that yields plain-data snapshots; the page animates them and the headless test runs the very same generator and checks its output. The build tools (Node only, never shipped) generate the home map from a manifest, run every entry's logic test, audit that all links resolve, and screenshot each entry in headless Chromium. Nothing is published on a self-report: a green test and a looked-at screenshot are the gate.

Verification

Correctness is the price of entry. Deterministic algorithms are checked against an independent oracle — a sort against Array.sort, BFS/Dijkstra against a re-derived distance, a convex hull against gift-wrapping. Randomized and approximate ones are checked statistically: any hard one-sided invariant must hold on every run (Count–Min never undercounts; a Bloom filter never misses), and the probabilistic bound must hold within tolerance over thousands of seeded trials, asserting the theorem's own factor — never a hand-tuned "looks close" threshold. Then every entry is rendered in a real browser and the screenshot is read by a human to judge whether it's correct, clear, and worth looking at.

That discipline earns its keep. Three times, building the modern wing, a test caught a plausible but wrong implementation: MinHash with a cheap linear hash (which is 2-universal but not min-wise independent, and biased the estimate); spectral partitioning using the combinatorial Laplacian instead of the normalized one Cheeger's inequality actually requires; and the Bloom-filter false-positive rate, where the textbook closed form turned out to be an approximation that the empirical rate corrected. Each is now an honesty note in its entry.

Honesty

Every historical and factual claim cites a real source, verified. Each entry separates the clean classroom algorithm from what production actually uses — that real sorts are introsort/timsort, that no library ships raw quicksort, that routing layers contraction hierarchies over Dijkstra, that the Bloom FP formula is an approximation. We flag teaching simplifications as simplifications.

The shelf it stands on

Standing references (per-entry citations prefer the original paper):

  • Cormen, Leiserson, Rivest & Stein — Introduction to Algorithms (CLRS), 4th ed., MIT Press, 2022.
  • Knuth — The Art of Computer Programming, Vols. 1–3.
  • Sedgewick & Wayne — Algorithms, 4th ed., and the Princeton algs4 booksite.
  • Skiena — The Algorithm Design Manual, 3rd ed.
  • NIST Dictionary of Algorithms and Data Structures (DADS).
  • Andoni — Advanced Algorithms (Columbia COMS 4995-8, 2021) — the spine of the modern wing.
  • Spielman — Spectral and Algebraic Graph Theory (Yale); Nelson — Algorithms for Big Data; Vishnoi — Algorithms for Convex Optimization.
  • Original papers per entry — Hoare, Dijkstra, Huffman, Knuth–Morris–Pratt, Cooley–Tukey, Morris, Flajolet–Martin, Broder, Indyk–Motwani, Johnson–Lindenstrauss, Fiedler, Page–Brin, and more.

Method

The atlas was built incrementally by an autonomous loop: a seed file fed to the builder every few minutes, each pass adding one verified entry and recording its work, so the whole grew across many small, checked steps. See the project's CLAUDE.md and docs/ for the full pattern. Read the about page for the philosophy, the glossary for terms.

License

Released under the MIT License © 2026 Keemin Lee. The code, the visualizations, and the written entries are free to use, adapt, and share — attribution appreciated.