</> Ultima

About Ultima

The history and philosophy behind the project.

Origin

Ultima started in 2020 as a treemap visualization prototype, inspired by Mike Bostock's classic D3.js examples — Thinking with Joins, General Update Pattern, Les Misérables Co-occurrence — to display elements in a Model-View-Controller-style architecture, with IndexedDB persistence. It later grew to include a second, window-based view, and its own reactive component system.

Why Vanilla JS

The conviction behind the project: writing code that runs natively in browsers is a good practice, not a limitation. Ultima uses Custom Elements, Shadow DOM, ResizeObserver, IndexedDB and native ES modules directly — with no abstraction layer on top, no build step, no runtime dependency beyond what the browser already provides. Third-party libraries used for specific features (D3.js for the treemap, vis.js for graphs, jsPanel for windows) are downloaded once and vendored in the repository, not installed via a package manager or loaded from a CDN in production.

Current state

This is a personal project, maintained continuously since 2020, with parts at varying degrees of maturity — some well tested (the reactive core, the data schema), others still experimental or incomplete. There's no published package or formal community around it — the source code on GitHub is the source of truth.

License

The project is distributed under CC0 1.0 Universal — effectively public domain, with no usage restrictions.

View the source on GitHub