Cloud · AWS · Serverless

Cloud Resume Challenge

A resume rebuilt as a cloud-hosted website through the AWS Cloud Resume Challenge: a React frontend with routed project pages is done; S3 and CloudFront hosting, a serverless visitor counter, infrastructure as code and CI/CD are the stages ahead.

Status
Frontend done · AWS next
Area
Cloud
Period
2025 to present
Role
Build and document
Stack
React 19ViteReact RouterAmazon S3CloudFrontAPI GatewayAWS Lambda (Python)DynamoDBGitHub Actions
Architecture: a React app built today; S3, CloudFront, API Gateway, a Python Lambda and DynamoDB planned, all defined as code and deployed by GitHub Actions
Where the build stands. Solid is built, dashed is planned. The frontend runs today; everything on AWS comes next, stage by stage. Click to open full size.
4 / 16Challenge steps done
3Routed pages
0AWS resources yet

The challenge

The Cloud Resume Challenge asks you to put your resume on the internet the way a cloud engineer would: a static frontend, a serverless API, a database, infrastructure as code and CI/CD, in sixteen steps. It is small enough to finish and wide enough to touch most of what the job involves day to day. This build follows the AWS version, with the frontend layout taken from Andrew Brown’s course build.

What is built today

  • Home, Resume and Projects pages with client-side routing, and a detail page for every project opened from its card.
  • The resume itself, styled as a printed page with one shared layout for every entry, readable on a phone and in print.
  • Content kept apart from code. Everything the site says lives in two data files, so updating the resume never touches layout code.
  • A clean build. Lint and production build both pass, and dependencies are pinned with a lockfile so a fresh install gets exactly the tested versions.

How it will run on AWS

The diagram above is the target. The built site goes into an S3 bucket, served over HTTPS by CloudFront. The page calls one API Gateway endpoint, which runs a Lambda function written in Python, with its own tests, that keeps the visitor count in DynamoDB. Every one of those resources will be defined as code and deployed by GitHub Actions on each push, so the whole stack can be rebuilt from the repository.

Progress against the sixteen steps

StageStepsStatus
Certification1Done
Resume in HTML, styled with CSS2, 3Done
Source control13Done
Static site on S3, HTTPS with CloudFront, custom domain4 to 6Next
Visitor counter: JavaScript, DynamoDB, API Gateway, Lambda in Python, tests7 to 11Planned
Infrastructure as code, CI/CD for backend and frontend12, 14, 15Planned
A write-up of the build16Planned

The repository README is updated with every change, so it always shows the current step, a screenshot and the diagram.

Related writing

Notes from the same work.

All writing