After a decade in insurance operations, I decided to make my pivot into cloud engineering official by doing the Cloud Resume Challenge! I wanted to build it according to real-world best practices, so in addition to the steps the challenge provides, I incorporated a private S3 bucket secured with CloudFront Origin Access Control, a dedicated least-privilege IAM user scoped to only the permissions my CI/CD pipeline needed, and mocked unit tests with moto so nothing touches real AWS resources during testing.

The site is live at derekjackson.click. It's a static resume served over HTTPS through CloudFront, backed by a Lambda-powered visitor counter, fully codified in Terraform, and deployed automatically via GitHub Actions.

Here's how I built it and, more importantly, everything that went wrong along the way.

The Architecture

Frontend: