Why I built it this way
I already had a server running at home, so hosting my portfolio there was a useful way to put it to work and learn more about publishing a site.
The main architectural choice was publishing through a Cloudflare Tunnel instead of opening inbound firewall ports. That keeps the home IP hidden, avoids open ports on the router, and sidesteps the dynamic-IP mess that comes with residential internet.
The result is a static portfolio running on my own hardware. I manage the frontend, server and deployment.
Outcome: A public site that runs from my own hardware, with no open inbound ports and no third-party hosting dependency.
Infrastructure decisions
Published site