A bilingual developer portfolio that treats personal infrastructure as seriously as production — privacy-first analytics, WCAG AAA accessibility, 29 automated tests, and a full CI pipeline with Lighthouse audits.

A full-stack portfolio with blog, photography gallery, project showcases, privacy-first analytics, and production-grade infrastructure — all bilingual.
Umami Cloud provides accurate, cookie-free analytics with proper bot filtering, device/browser detection, and a REST API. The Stats page fetches aggregated data from the Umami API — no custom tracking code or database tables needed.
All color tokens are AAA compliant (13:1+ contrast ratios in both themes). The OkLCh color space keeps perceptual consistency across light/dark modes. Every page runs axe-core checks in the E2E suite — accessibility regressions fail the build.
With only 2 languages, a full translation table with foreign keys is overhead. Nullable _zh suffix columns on each table keep queries simple — one fetch, one locale check, no JOINs.
Every page, the command palette, keyboard navigation, security headers, and accessibility all have dedicated test files. Overkill for a portfolio — but the CI pipeline itself is part of what the portfolio demonstrates.