A Layered Architecture Navigator. A desktop-style analysis tool for making coupling between systems visible. Two graphs live on the same set of nodes — a containment hierarchy (where things live) and a non-directional relationship graph (how things interact). Collapse a node and its edges propagate upward to the visible ancestor; expand it and the structure unfolds again. Couplings invisible at one level become obvious at another.
Complex systems fail at boundaries. Not because individual components are poorly designed, but because coupling between systems that should be independent goes undetected until something breaks.
A water tank for a galley coffee machine and a door pressure valve share physical space inside an aircraft compartment. A redundant supply chain turns out to route both critical components through the same shipping lane. A "utility" module in a codebase has quietly become a hidden dependency for half the system. None of these couplings are visible in the diagrams the teams already have.
ALAN exists to put two graphs on the same nodes and let you collapse the hierarchy. The picture changes; the relations stay drawn. The invisible becomes visible.
npm install
npm run dev # open http://localhost:5173Drag a .csv onto the canvas, pick the columns that define the
hierarchy, optionally pick a column for connectivity, and you have a
graph. Save the session as a .buda.zip; re-open later, or share with a
colleague.
GitHub Actions runs lint + tests + coverage + build on every push and
pull request, and deploys the production bundle to GitHub Pages on
every push to main. See .github/workflows/ci.yml.
One-time repo setup: in Settings → Pages → Build and deployment,
set Source to GitHub Actions. The first deploy on main then
publishes the bundle to https://<user>.github.io/<repo>/.
The bundle is built with base: './' so it works equally at a
domain root or under a repo-name subpath — no CI-side base
substitution needed.
- USER_MANUAL.md — how to use ALAN end-to-end: UI tour, importing data, projections, formatting rules, manual overrides, save / load, keyboard shortcuts.
- DEVELOPPER.md — architecture, render pipeline, expression language, save format, testing strategy, commit workflow, anti-patterns, decision log.
- DESIGN.md — visual and interaction principles: colour, typography, spacing, component patterns, canvas styling, the structural pass history that shaped the current chrome.
- ROADMAP.md — what's shipped, what's next (DuckDB, autocomplete polish, scale work), known limitations, domain invariants, open questions.
Apache License 2.0. See LICENSE for the full text. Copyright © 2026 Charles-Edouard Cady.
Contributions are accepted under the same license; see DEVELOPPER.md §15 for the commit workflow and the rules every contributor (human or agent) is expected to honour. The commit history carries the why behind every load-bearing decision.