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!
π§βπ» My GitHub
π My Resume Site
πΌ LinkedIn
Top comments (0)