Page integrity

/health.

The operational state of challa.io — published, not asserted. This site argues that fundamentals like observability, determinism, and trust should be architecturally verifiable, not claimed. This page is the receipt.

Every number below is checkable against the repo or your browser’s DevTools. If anything here is wrong, it’s a bug — tell me.

Page weight

HTML
38 KB
CSS (13 files, loaded in parallel)
97 KB
JavaScript (single file, deferred)
26 KB
Total page weight (uncompressed source)
160 KB

These are raw source bytes. In production (Netlify, Vercel, GitHub Pages, Cloudflare) the files are gzip or brotli compressed in transit, so a visitor typically downloads roughly 40–50 KB on first visit. main.js is deferred and doesn’t block render. Author portrait (30 KB) loads lazily on scroll; favicon (192 KB PNG) is cached by the browser, not re-downloaded per page view.

Runtime state

Third-party scripts
0
Analytics / trackers
0
Cookies set
0
localStorage keys
1 (theme preference only)
External font requests
0 (system font stack)
Service workers
0

Observed performance

First Contentful Paint Good: < 1.8s
2.7sneeds work
Largest Contentful Paint Good: < 2.5s
2.7sneeds work
Cumulative Layout Shift Good: 0.1 or less
0.028good
Total Blocking Time Good: < 200ms
0msgood
Lighthouse Performance Good: 90 or more (out of 100)
89needs work

Thresholds are Google’s Core Web Vitals. Measurements are from mobile Lighthouse (slow-4G throttling, mid-tier emulated phone) — the stricter test. Values are transcribed into scripts/perf.json after each run and stamped here by the build script, which also computes the verdict against threshold. means not measured yet.

Critical render path

Render-blocking HTML
1 document (the page itself)
Render-blocking CSS
13 files, parallel-fetched from head
Render-blocking JavaScript
0 (main.js uses defer)
External fonts blocking paint
0 (system font stack — no Google Fonts, no Adobe, no self-hosted webfonts)
Images blocking paint
0 (author portrait is loading="lazy"; favicon is cached)

“First paint” in the browser waits for: HTML + CSS only. Every other asset is deferred, lazy-loaded, or cached. That’s the whole story of why FCP is fast.

Dependencies

NPM packages
0
Framework
none (hand-coded HTML + CSS + vanilla JS)
Build step
none (source is what’s served)
CSS preprocessors
none (plain CSS with custom properties)

Accessibility

Skip-to-content link
present
Semantic HTML landmarks
header, nav, main, article, section, footer
Reduced-motion support
respected (prefers-reduced-motion)
Theme
dark + light, persisted to localStorage
Focus-visible rings
present on all interactive elements

Provenance

Site version
v3
Last receipt regenerated
2026-04-19
Recent edits
Statement stripped to pure typography · Journey converted to static map · Analytics removed · Nav logo resized

Verify these claims

Don’t take my word for any of this. Open DevTools on this page, open the Network tab, hard-reload. Every byte above will match. Or run Lighthouse on the live site and compare the Observed performance numbers to what’s stamped here.

The build script itself is scripts/update-health.js — one file, zero dependencies, roughly 140 lines. It scans the source, stamps the numbers, prints a report. If a scan ever finds something that breaks a zero-claim, the script prints a warning rather than silently passing.