Performance & Reliability
Build discipline and ruthless measurement. Below are production scores, budgets, and live vitals from your device.
Runtime & Build
- Next.js (App Router) + TailwindCSS.
- Images via
next/image(optimized & responsive). - CI: lint, unit tests (Vitest), and e2e (Playwright).
- Accessibility: keyboard nav, skip-nav, contrast checks.
Budgets (home & playground)
- LCP ≲ 2.5 s on a typical laptop.
- CLS < 0.1 (no unexpected layout movement).
- Initial JavaScript ≈ 180 kB for first view.
- Interactions respond in < 200 ms in the playground.
JS payload (kB)
▼ 29kB
181kB
Last 5 deploys
Median LCP (ms)
▼ 640ms
2210ms
Synthetic desktop
Lighthouse-tested on every PR
Lighthouse CI runs against five routes (/, /about, /research, /publications, /contact) on every push tomain and on every pull request. The build fails if any category drops below the thresholds below. Configuration lives inlighthouserc.json at the repo root.
≥ 90
Performance
≥ 95
Accessibility
≥ 90
Best Practices
≥ 95
SEO
Reports upload to temporary public storage; the URL is in the GitHub Action log for each run.
Live Core Web Vitals (this device)
LCP
—ms
Largest Contentful Paint
CLS
0
Cumulative Layout Shift
INP
—ms
Interaction to Next Paint
Values update in real time as you interact. Supports modern browsers; gracefully degrades where PerformanceObserver isn’t available.
Test status
- Unit (Vitest): core utilities pass.
- E2E (Playwright): smoke paths—navigation, theme toggle, preview drawer.
- CI: GitHub Actions runs build + tests on
mainbefore deploy.