Test project 8 Apr 2021
alphard - a 3D guide to the Solar System
- Node.js
- Express
- EJS
- model-viewer
- WebGL
- Docker
A guide to the nine worlds of the Solar System with an orbitable glTF model for each, a per-planet color identity and a monospace telemetry readout. Node, Express and EJS, served through model-viewer.
The challenge
Take a tutorial-grade Solar System site - crashing on unknown routes, serving all of node_modules, with copy-pasted articles describing the wrong planet - and turn it into an accessible, responsive, fully redesigned guide without leaving Express and EJS.
Approach
Harden the server first: validate the planet name, return a designed 404 instead of crashing, and scope the static mount. Rewrite all nine planets with accurate copy and a telemetry table, then rebuild the whole interface around an OKLCH observation port with a per-planet accent, self-hosted type, and proper loading, empty and error states for the 3D models.
Result
A nine-planet guide with orbitable glTF models, per-planet color, a monospace telemetry readout and a designed 404, responsive from 390px and accessible. Node, Express and EJS from one process, deployed in Docker behind Caddy.