The stack.
HTML first. A seeded catalog. A live city behind the home page. React only where the page has to move.
- 01
Astro 5
Pages
Every route is HTML first. React mounts only where the page has to move.
- 02
Drizzle ORM
Data
Schema in TypeScript. Catalog from an in-repo sqlite seed.
- 03
SQLite
Store
Build-time seed only. No cloud DB on this origin.
- 04
Three.js
Scene
The city behind the home page: an ASCII pass, live weather, a camera that flies the bridge on scroll.
- 05
Tailwind v4
Style
CSS-first tokens. One palette, two typefaces, no utility soup on the surface.
- 06
React 19
Islands
Command palette and filters. The rest of the desk stays static.
- 07
View Transitions
Motion
Astro ClientRouter swaps the document. Chrome stays put.
- 08
TypeScript
Types
From the schema to the page. No implicit any on the desk.
Preview and deploy.
The catalog is a Drizzle sqlite seed checked into the repo. Auth stays off. Rows are unowned. Nothing personal is stored. No cloud DB on this origin.
Tweet, Ages, and Mortgage run here. Share and Tweets Report hop to nypdds.com. The city is a background, not a game.