Colophon

How this site is built, what it weighs, and who does what.

+ 01

Construction

Every page is prepared in advance, as HTML, by Astro, from strictly checked TypeScript code. JavaScript is limited to the Verity demo, a few interactions on the home page and, on every page, a few lines that check whether the browser can draw the glass effect. The site is hosted on Cloudflare Pages and published on every merge into the main branch.

The fonts, Inter, Source Serif and JetBrains Mono, are hosted with the site and cut down to the characters it displays. No tracker, no form. Every figure shown for a project comes from a file published in its repository, at a precise commit, and CI compares it with its source on every change.

Site code

+ 02

Budgets

CI fails as soon as a page exceeds one of these thresholds, measured by Lighthouse on a simulated phone:

Weight transferred by a page
at most 200 kB
Fonts of a page
at most 90 kB
Largest Contentful Paint (LCP)
under 1.5 s
Cumulative Layout Shift (CLS)
under 0.02
Lighthouse scores, in all four categories
at least 98 out of 100

Weight is counted gzip-compressed, a little heavier than what Cloudflare actually sends: the budget is therefore stricter than what the reader receives. Thresholds: lighthouserc.cjs.

+ 03

Real measures

What CI measured on 6 November 2026, on commit b328dbf: median of 5 Lighthouse runs per page (CI run).

Home

Weight transferred
172 kB
Fonts
82 kB
Lighthouse: performance, accessibility, best practices, SEO
100 · 100 · 100 · 100
Largest Contentful Paint (LCP)
0.91 s
Cumulative Layout Shift (CLS)
0.000

/404.html

Weight transferred
33 kB
Fonts
28 kB
Lighthouse: performance, accessibility, best practices, SEO
100 · 100 · 100 · 100
Largest Contentful Paint (LCP)
0.75 s
Cumulative Layout Shift (CLS)
0.000

/colophon/

Weight transferred
52 kB
Fonts
44 kB
Lighthouse: performance, accessibility, best practices, SEO
100 · 100 · 100 · 100
Largest Contentful Paint (LCP)
0.75 s
Cumulative Layout Shift (CLS)
0.000

/en/

Weight transferred
171 kB
Fonts
82 kB
Lighthouse: performance, accessibility, best practices, SEO
100 · 100 · 100 · 100
Largest Contentful Paint (LCP)
0.91 s
Cumulative Layout Shift (CLS)
0.000

/en/404.html

Weight transferred
33 kB
Fonts
28 kB
Lighthouse: performance, accessibility, best practices, SEO
100 · 100 · 100 · 100
Largest Contentful Paint (LCP)
0.75 s
Cumulative Layout Shift (CLS)
0.000

/en/colophon/

Weight transferred
51 kB
Fonts
44 kB
Lighthouse: performance, accessibility, best practices, SEO
100 · 100 · 100 · 100
Largest Contentful Paint (LCP)
0.75 s
Cumulative Layout Shift (CLS)
0.000

/en/projects/praxis/

Weight transferred
58 kB
Fonts
44 kB
Lighthouse: performance, accessibility, best practices, SEO
100 · 100 · 100 · 100
Largest Contentful Paint (LCP)
0.90 s
Cumulative Layout Shift (CLS)
0.000

/en/projects/promptlang/

Weight transferred
58 kB
Fonts
44 kB
Lighthouse: performance, accessibility, best practices, SEO
100 · 100 · 100 · 100
Largest Contentful Paint (LCP)
0.90 s
Cumulative Layout Shift (CLS)
0.000

/en/projects/verity/

Weight transferred
97 kB
Fonts
82 kB
Lighthouse: performance, accessibility, best practices, SEO
100 · 100 · 100 · 100
Largest Contentful Paint (LCP)
0.91 s
Cumulative Layout Shift (CLS)
0.000

/projets/praxis/

Weight transferred
59 kB
Fonts
44 kB
Lighthouse: performance, accessibility, best practices, SEO
100 · 100 · 100 · 100
Largest Contentful Paint (LCP)
0.90 s
Cumulative Layout Shift (CLS)
0.000

/projets/promptlang/

Weight transferred
59 kB
Fonts
44 kB
Lighthouse: performance, accessibility, best practices, SEO
100 · 100 · 100 · 100
Largest Contentful Paint (LCP)
0.90 s
Cumulative Layout Shift (CLS)
0.000

/projets/verity/

Weight transferred
98 kB
Fonts
82 kB
Lighthouse: performance, accessibility, best practices, SEO
100 · 100 · 100 · 100
Largest Contentful Paint (LCP)
0.90 s
Cumulative Layout Shift (CLS)
0.000

+ 04

Accessibility

+ 05

Agents and review

The code, the tests and the first drafts of the texts are written by coding agents (Claude Code), under rules written in the repository: a failing test before every fix, no figure without a source, no success announced without the command that proves it (agent rules).

Every change goes through an independent review (a second agent, without the first one’s context), then I read the report and the preview, with the help of an AI assistant, before merging it myself. I am the only one who merges into the main branch, which GitHub rules protect. What the machine checks better than I do, it checks every time: budgets, accessibility, links, and every figure compared with its source.