The Cloud Resume Challenge was something I thought was a basic project to host to a resume on a cloud provider but it is a practical demonstration of real-world cloud engineering skills. Over several weeks, I built, automated, tested and deployed a fully serverless application using AWS and modern DevOps practices.
This post breaks down the journey end to end.
I built a simple HTML and CSS resume and hosted it on Amazon S3. The site was fronted by CloudFront for global distribution and HTTPS, with Route 53 managing DNS. This stage focused on core cloud fundamentals such as object storage, content delivery, and secure public access. The easiest part of the project.
To introduce dynamic functionality, I added a visitor counter powered by AWS Lambda, API Gateway, and DynamoDB. The frontend consumes a REST API endpoint that increments and returns the visit count. This demonstrated full frontend to backend integration in a serverless architecture.
Now I was completely new to AWS Lambda and boto3, so used the following udemy course which I followed through updating a database using boto3.
The static site is served through CloudFront and on page load, JavaScripts calls an API Gateway endpoint, triggers a lambda function, updates a counter in DynamoDB and displays the results all with proper CORS configuration and no console errors.
This part focused on fronted and backend integration, a core skill for cloud engineers.
To get started with JavaScript which once again I haven’t touched in my work environment I used the following resources:
What is JSON? (Explained in 5 minutes) - https://www.youtube.com/watch?v=cj3h3Fb10QY
JavaScript Course for Beginners - https://www.youtube.com/watch?v=Zi-Q0t4gMC8
JavaScript DOM Crash Course - Part 1 - https://www.youtube.com/watch?v=0ik6X4DJKCc
Learn Fetch API in 6 minutes - https://www.youtube.com/watch?v=cuEtnrL9-H0
JavaScript Promises In 10 Minutes - https://www.youtube.com/watch?v=DHvZLI7Db8E
JavaScript Async Await - https://www.youtube.com/watch?v=V_Kr9OSfDeU
All cloud resources were recreated using Terraform. This ensured the entire environment was version controlled, repeatable, and easy to rebuild. Infrastructure changes could now be reviewed, tracked, and safely destroyed or redeployed when needed.
This was my first time getting my hands dirty with infrastructure as code, opted for Terraform over Cloud Formation due to Terraform wide popularity, vendor neutral and no one wants to be locked to a single provider which would be the case with cloud formation.
Easy to follow resource used was on the Terraform website, if you do not have cloud environment setup you can use the sandbox option provided.
The frontend was fully automated with a CI/CD pipeline that builds and deploys the site to S3 on every push. This completed an end to end automated delivery workflow.
The CI/CD pipeline for the backend on the other hand failed due to the automated smoke tests to validate API availability. As I wanted to wrap this project up, I didn’t dwell too much into fixing this, something to come back to at a later stage :)
The Cloud Resume Challenge bridged the gap between theory and practice. It required designing, deploying, breaking, and fixing real cloud infrastructure that mirrors production workflows.
Getting hands on skills with Lambda, Terraform, CI/CD pipelines were the biggest wins for me.
I have omitted code snippets and steps for a purpose as the project is something you need to figure out yourself, but don’t get me wrong I did use Claude for assistance. If you want to view the video series you can check it out here
And lastly here is my Cloud Resume