The stack.
HTML first. A database for the catalog. A particle sea for the field. React only where the page has to move.
- 01
Astro 7
Pages
Every route is HTML first. React mounts only where the page has to move.
- 02
Drizzle ORM
Data
Schema in TypeScript. Rows in Postgres. The catalog is a query, not a mock.
- 03
Postgres
Store
PGLite in the preview. Neon when deployed. Same SQL both ways.
- 04
Three.js
Field
r0.143 particle sea, unreal bloom, a camera that dives 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.
In the preview the database is PGLite, Postgres compiled to WASM, so the catalog always has rows. When this origin deploys, the same queries run against Neon. Auth stays off. Rows are unowned. Nothing personal is stored.
Live tools hop to nypdds.com. This studio does not clone them. The field is a background, not a game.