Track 3 of 5
- Next.js 16.4 with Cache Components. Every page is static; if a change makes a route dynamic, the build fails.
- Two languages from day one.
/esand/enroutes, and dictionaries whose type requires the same keys in both. - Typed content. Projects, tracks and credits are typed data: a planned project with a demo or results doesn’t compile. Each track is an MDX file per language.
- One page that transforms. Pages aren’t unmounted when you navigate (
<Activity>), and React’s View Transitions carry the cover into the album header or the bar’s disc onto the turntable. - The technology sheet is an intercepted route: it opens as a panel over About and as a full page when visited directly.
- Measured quality on the production build: keyboard, axe, mobile Lighthouse and security headers.
The site is deployed on Vercel.

