Live

Personal Site

Portfolio and Newsletter. Rebuilt (Wordpress single site in the past)

Started April 2026
Live at valencorrea.com
Frontend
Astro 5TypeScriptTailwind CSS 4Leaflet 1.9.4Chart.js 4Vanilla JS
CMS
Keystatic (local storage)MarkdocZod
Backend
Supabase (self-hosted)PostgreSQLPostgRESTGoTrueKong API gatewayTraefik
Infrastructure
cPanel shared hostingVPS (Docker Compose)GitHub ActionsFTP deploy

Personal site built as part of a challenge to ship one project per month. The goal was to build something to showcase all those projects, connect my multiple personalities, and test with other technologies.

The site is a fully static Astro build deployed to cPanel. Keystatic runs locally in dev mode and writes content directly to the filesystem, keeping everything in git. In production, Keystatic is stripped and the output is pure HTML, CSS, and JavaScript.

The backend is a self-hosted Supabase instance on a VPS, exposed through Traefik and Kong. Setting up HTTPS for a self-hosted Supabase (getting Traefik to route to Kong via a subdomain, configuring Let's Encrypt, debugging mixed-content errors) was one of the more complex parts.

Work case studies
Password-protected section with detailed case studies per company. Each entry supports images, before/after sliders, Chart.js data visualisations, and multi-section narratives managed through a local CMS.
Project portfolio
Status-tracked portfolio of side projects with tech stack, metrics, screenshots, and lightbox gallery. Cross-links to related blog posts by category.
Photo Portfolio
Leaflet map with all visited places and popups. Each place has a full photo gallery with captions, orientations, and a lightbox. Photos marked as featured appear in the index grid.
Blog
Markdoc-powered blog with category tagging, draft support, and a clean date-first listing. Posts can be written and previewed locally in Keystatic before publishing.
Newsletter
Email subscription form backed by a self-hosted Supabase with Resend API.