alexricher
AR BIOS v1997 (C) Alex Richer
POST Memory check ... 11 shipped titles OK
Detecting devices ... keyboard, monitor, coffee OK
Booting alexricher.com ...
>
Colophon

How This Site Is Built

alexricher.com is a static site, hand-built and shipped from my laptop. Here is what runs it and the discipline behind it.

11
themes
2
languages
6000+
tests
0
trackers by default

Static by default

Next.js builds the whole site to static HTML, and it ships to cPanel shared hosting. The only server-side piece is a small PHP handler for the contact form. No database, no Node process in production. Pages load as files.

One command to ship

Bun runs the build. It generates AVIF and WebP for every image, renders the per-page and per-game social cards through headless Chrome, writes the sitemap and the feeds, then injects the PHP backend. Deploys are blue-green: the new release goes up beside the old one, gets checked, and a symlink swap makes it live. A bad deploy rolls back.

English and French, in parallel

English lives at the root, French under /fr/. Every page has a counterpart. The strings sit in sharded JSON that merges into one bundle per language, and a test fails the build if a key exists in one language but not the other. The French is Quebec French.

Eleven themes, mostly seasonal

Light and dark, plus twelve seasonal palettes that switch themselves on by date: Halloween, the holidays, Saint-Jean, Canada Day, Carnaval, and more. The colours come from one JSON file that generates the CSS, so a new theme is a data edit, not a code change.

Things to find

There is an achievement system hiding in the page, a dozen eggs to trigger, and a trophy room that tracks what you have found. The director's-commentary toggle on the game pages is the kind of extra that shipped on the Deus Ex: Human Revolution disc.

Written to not sound like a robot

Most of the copy here starts as an AI draft, then runs through a house style guide that strips the tells, the em-dashes and the words that cluster in machine prose, so it reads like an engineer wrote it.

Six thousand tests

Every change runs unit tests, browser end-to-end tests, an accessibility scan that fails on a single serious violation, visual-regression snapshots, and Lighthouse. It all stays green before anything ships, and the count climbs every week.

Quiet by default

No third-party trackers and no cookie wall. Analytics are self-hosted and opt-in. The contact form is rate-limited and validates on both ends, and robots.txt tells AI crawlers where the site stands.

Set in Geist and JetBrains Mono. Icons by Lucide. Next.js, Tailwind, and TypeScript underneath, all open source. Everything else is hand-rolled.

Last updated: 2026-06-20

AR.STUDIO PROGRAMMING DIRECTOR

© 2026 Alexandre Richer. Built with AI in the loop, in Montréal.

Open to conversations

© 2026 ALEXANDRE RICHER · ALL RIGHTS RESERVED

PRESS Ctrl+K FOR QUICK NAV

Theme

Seasons auto-activate by date