← Selected work

03 / Algorithms & visualisation

Search Atlas.

Make the next decision visible.

  • TypeScript
  • PixiJS
  • Web Workers
  • Search algorithms
Actual Search Atlas laboratory with editable terrain, algorithm controls and search results
Actual application capture · Try the live application

The application

Make the next decision visible.

A route is only the final answer. Search Atlas makes the decisions leading to that answer visible: frontier order, parent links, terrain costs and the trade-off between different search policies.

What I built

The application connects four original search implementations to an editable PixiJS grid, a worker boundary and a recorded playback history. It includes weighted terrain, deterministic scenarios, comparisons, rewind, checkpoints and scenario import/export.

Three decisions

01

Separate computation from playback.

The pure search engine knows nothing about the interface. A run produces recorded transitions, and playback projects them into the display. That makes rewind and inspection actual history rather than an approximation of a running animation.

02

Compare the same problem.

Both panes use the same immutable scenario and linked camera state. Editing invalidates both runs. Costs and objectives are explicit: BFS minimises moves, while Dijkstra and the supported A* heuristics minimise weighted path cost.

03

Give metrics a precise meaning.

Search time, replay storage and algorithm buffers are recorded separately. Benchmarks state the fixture and measurement method. A faster animation is not treated as a faster algorithm.

A view underneath

Search Atlas / a view underneath

The system behind
the surface.

  1. 01Scenario & edit commands
  2. 02Pure search engine in worker
  3. 03Packed transitions & checkpoints
  4. 04Deterministic playback projection
  5. 05PixiJS views & semantic controls
Inspect the architecture

Evidence & boundaries

The 22 October 2026 verification record includes 1,000 seeded tiny grids checked against an independently implemented Bellman-Ford reference, heuristic checks, replay round trips, nine browser workflow groups and scoped performance samples. Local results and CI configuration are distinguished in the record.

Read the verification record
Current limits

The released laboratory supports A*, Dijkstra, BFS and greedy best-first on grids up to 128 × 128. Physical-phone, Safari/iOS, Firefox and real screen-reader validation remain unverified in the published record. Buffer payload measurements exclude browser, GPU and JavaScript object overhead.

Actual weighted comparison between search algorithms in Search Atlas
Actual Search Atlas capture.
What I take from it

A visualisation earns its place when it reveals an algorithm's behaviour accurately enough to question it.

Next project / 01Hush