This portfolio
Personal site built like a product: content in the database with translations, versioned API, persistent likes, migrations, structured logs and a CLI. The repository is private for now.
Proprietary code, not public
Problem
Present my work on a fast, accessible, privacy-respecting site that is easy to maintain.
Solution
Next.js (App Router) frontend with MUI, FastAPI API, PostgreSQL managed by Alembic, Docker Compose orchestration and the `./portfolio` CLI.
My role
Design, development, security and deployment.
Features
- Projects and experience stored in PostgreSQL, with FR/EN translations
- Persistent likes protected against abuse
- Contact form with server-side validation and anti-spam
- No cookies, tracker-free statistics