This content originally appeared on DEV Community and was authored by rabie
Hi Devs!
As part of leveling up my cloud skills and showcasing my portfolio, I completed the Cloud Resume Challenge — and automated the entire infrastructure using Terraform, AWS Amplify, Lambda, and API Gateway. Here’s the journey, the stack, and what I learned.
Project Goals
Host a static resume website
Add a dynamic visitor counter using a serverless backend
Deploy everything as code
Automate deployment with CI/CD
Add a custom domain using Route 53
Tech Stack
Component Service / Tool
Frontend HTML, CSS, JavaScript via AWS Amplify
Backend AWS Lambda (Python) + API Gateway
Database AWS DynamoDB
Infra as Code Terraform
CI/CD Jenkins
Architecture Overview
[ Amplify (HTML/CSS/JS) ]
|
[ API Gateway ]
|
[ Lambda (Python) ]
|
[ DynamoDB Table ]
I used the front end from frontend
The frontend is hosted on AWS Amplify.
A Lambda function (written in Python) updates a visitor count in DynamoDB.
The API Gateway serves as the public endpoint for the frontend to call the Lambda.
All infrastructure is defined using Terraform and deployed via Jenkins.
Note: The project is ready to be fully run by Terraform alone
CI/CD Automation
I configured a local Jenkins server to deploy both the frontend and backend automatically:
Terraform deploys the backend (Lambda, API Gateway, DynamoDB, etc.).
The output API Gateway URL is passed directly to Amplify using build-time environment variables.
This avoids hardcoding API URLs and keeps everything dynamic and reusable.
Custom Domain + CORS
I registered a free domain on DigitalPlatDev
hosted it on route 53 (0.5$/month)
I used Route 53 to configure my custom domain.
To make frontend-backend communication seamless, I added CORS configuration directly in the Lambda URL and API Gateway.
I debugged CORS issues using browser dev tools and made sure requests worked cross-origin.
What I Learned
Deep dive into AWS Amplify for static hosting and CI/CD.
Building and deploying serverless applications with Python Lambda.
Understanding how API Gateway integrates with Lambda.
Using Terraform to manage backend as code — repeatable and version-controlled.
Managing CORS headers and debugging with browser tools.
Tying everything together into a fully automated DevOps workflow.
Repos
Frontend (Amplify)
Infrastructure & Backend (Terraform + Lambda)
Let’s Connect!
If you’re working on similar projects or hiring for DevOps/cloud roles, I’d love to connect!
This content originally appeared on DEV Community and was authored by rabie