I Built My Cloud Resume with Terraform, Amplify, Lambda & API Gateway — Here’s How



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!

🧑‍💻 My GitHub

🌐 My Resume Site

💼 LinkedIn


This content originally appeared on DEV Community and was authored by rabie