Portfolio V2: PostgreSQL, Admin Panel, and Enhanced Security

A few weeks ago I posted about launching V1 of my portfolio. Since then I've completely rebuilt it from the ground up. 🚀 Same URL, very different site - not in the way you may expect. What changed: 🔹Migrated from SQLite to PostgreSQL 🔹Added a full admin panel with RBAC, audit logging, and server-side session management 🔹Built a blog and project management system with Markdown support 🔹Moved to a self-managed Hetzner VPS with Nginx + Gunicorn 🔹Kept Cloudflare Tunnels, origin IP still never exposed Security was a big focus this time around: 🔹HSTS, CSP, Permissions-Policy headers 🔹Scrypt password hashing, rate limiting, magic bytes image validation 🔹fail2ban, UFW, SSH key-only on a non-standard port 🔹107 automated tests covering auth, CRUD, XSS, and security headers It is not just a portfolio anymore. It is a live project I will keep building on as I work toward running everything from my own home lab. Check it out: www.charles-thomas.dev #python #flask #cybersecurity #homelab #networking #buildinpublic

To view or add a comment, sign in

Explore content categories