This portfolio
The site you are reading: designed, tested, deployed and monitored like a real infrastructure project.
- Year
- 2026
- Context
- Personal project
- Tech stack
- React
- TypeScript
- GitHub Actions
- Docker
- Prometheus
- Grafana
01 · Context
The challenge
My old site, built in 2024 at university from a template, no longer felt like mine. I rebuilt it from scratch to be both my showcase and a real infrastructure project: designed, tested, automatically deployed and monitored from my homelab.
02 · Architecture
How it's built
Key points
- Fully prerendered React and TypeScript site: static, fast pages that remain readable without JavaScript
- Bilingual content in YAML, validated on every build (schemas, FR/EN parity, images)
- Continuous integration: lint, types, tests, a containerised Apache test of the .htaccess, link checks and Lighthouse with blocking thresholds
- Automatic SFTP deployment to OVH: pinned host key, protected staging, uninterrupted uploads and a smoke test after every release
- Strict Content Security Policy, generated page by page
- Monitoring from my NAS: Blackbox probes, Prometheus, Grafana, alerts on my phone through ntfy, and a heartbeat in case the monitoring itself goes down
03 · In pictures
Gallery

From the old template to the current site 
Every change goes through these checks before going live 
Performance, accessibility, best practices and SEO, checked on every build 
Monitoring from the homelab (illustration) 
An outage detected, notified, then resolved (illustration)
Click an image to open it full screen and browse through the screenshots.
04 · Takeaways
What I took away from it
Updating my site used to mean uploading files by hand to the host. Now a single push is enough: the CI checks everything, the site goes to staging and then to production, and a smoke test confirms it responds. Automating the deployment made every update quick, safe and far more enjoyable than before.