Colophon
How it's built, what it runs on, who to thank.
Technical stack
Mechanikon is a loosely-coupled static site. Every mechanism is a self-contained set of files (HTML, JavaScript, optionally data and CSS) living under its own subdirectory. The shared layer is a single stylesheet, shared/mechanikon.css, holding the design tokens and a thin chrome. Mechanisms import those tokens but otherwise evolve independently — the Antikythera build can be rewritten without touching the Calendars build, and vice versa.
There is no build step at the site level. There is no server. There is no database. The whole site is static files deployed to Cloudflare Pages. Each HTML can also be opened directly from disk and will work. Resilience against technical rot is a design goal; we want Mechanikon to be re-openable twenty years from now without any runtime dependency that might no longer exist.
- Rendering. Three.js for 3D mechanism scenes (Antikythera), hand-authored SVG for 2D (Calendars rings & strips).
- Libraries. calendrica-js, our port of Reingold & Dershowitz calendrical algorithms, lives alongside the site but is structured as an extractable package for possible separate publication.
- Build step. None at the site level. Per mechanism, none either.
- Hosting. Cloudflare Pages, with Workers
configuration in
wrangler.jsonc. - Analytics. None. No tracking, no cookies, no fingerprinting. If we eventually need anything it will be Cloudflare's own cookie-free analytics.
- Search. Planned: MiniSearch over a prebuilt client-side index, when we have enough content to warrant it.
Typography
Two typefaces. Body prose and mechanism display titles are set in EB Garamond (self-hosted or system fallback), picked for warmth and readability at museum-wall-text sizes. UI, navigation, and code-monospaced labels fall back to Inter / system-ui and SF Mono / ui-monospace respectively. Non-Latin scripts are set in Noto family fonts (Noto Naskh Arabic, Noto Sans Hebrew, Noto Serif Devanagari, Noto Sans CJK) loaded from Google Fonts only on pages that display them.
Palette
The palette is borrowed from the Antikythera Live build and now serves as the Mechanikon design language. Five colours, applied with restraint.
Calendar families on the rings and strips views get subtle additional tints — solar gold, lunisolar blue-grey, lunar deep blue, epochal sepia, mesoamerican jade, era-based dawn-rose — all mixed at low opacity so no single family dominates.
License
Code is MIT-licensed (LICENSE). Prose is CC BY 4.0 (LICENSE-CONTENT). Third-party attributions — most prominently Reingold & Dershowitz's Calendrical Calculations, the Saudi Umm al-Qura table data ported from Dhaifallah Alwadani's hijri-converter, and various source citations per mechanism — live in NOTICE and the per-mechanism files.
Thanks
To the authors of every book, paper, reconstruction, and data table cited in the bibliography — Mechanikon is downstream from your work. To Dhaifallah Alwadani for maintaining an MIT-licensed Umm al-Qura port we could incorporate. To the several open-source calendar and ephemeris libraries (even the ones whose licenses we couldn't use here) whose architectures taught us what good calendar APIs look like. Errors that remain are our own.