Skip to content

Fullstack · 2026

Personal Portfolio

This bilingual portfolio: React + Vite, Express + Prisma API, PostgreSQL and Docker.

TypeScriptReactExpressPrismaPostgreSQLDockerCaddyGitHub Actions
Abstract browser window with a portfolio layout

Project

A bilingual personal site built as a production-minded monorepo: React and Vite on the frontend, an Express and Prisma API on the backend, PostgreSQL for contact messages.

The public pages are prerendered at build time with canonical URLs, hreflang, JSON-LD, a sitemap and structured content. The contact form validates on both sides and stores messages with a salted IP hash.

Dockerfiles, Compose, Caddy, CI workflows and backup scripts are included so the site can run on a single VPS.