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.