Back to path
SmallWeekend build ~6h· 4 milestones

Ship a global static site, defined entirely in code

A team keeps hand-uploading a marketing site to a server and it keeps breaking. You replace it with a CDN-backed static site that deploys from a Git push and is reproducible from Terraform, no console clicking.

S3 / object storageCDN & cachingDNSTLS certificatesTerraform / IaCCDN observability & cost

What you'll build

A fast, HTTPS, globally-cached static site fronted by a CDN, with DNS and certificates all managed in Terraform you can destroy and recreate at will.

See how we teach, before you sign up

You don't just get code dumped on you. Every starter file and every solution is explained line-by-line, in plain English. Here's one real file from this project:

variables.tfhcl
variable "domain_name" {
  type        = string
  description = "The domain the site will be served on, e.g. example.com"
}

variable "region" {
  type        = string
  description = "Primary AWS region for the S3 bucket"
  default     = "eu-west-1"
}

Reading this file

  • variable "domain_name"Declares an input so the same code can deploy any domain, you set the real value once instead of hard-coding it everywhere.
  • type = stringTells Terraform the value must be text, catching mistakes like passing a number before anything is built.
  • default = "eu-west-1"A fallback region used when you do not set one, so the stack still works out of the box.

The two inputs the whole stack is parameterised on.

That's 1 of 8 explained code blocks in this single project.

The build, milestone by milestone

  1. 1

    Host the assets

    5 guided steps

    A private bucket reachable only through the CDN is the baseline secure pattern, a public bucket is how data leaks make the news.

  2. 2

    Put a CDN in front

    6 guided steps

    The CDN is what makes the site fast worldwide and gives you free, auto-renewing TLS, the difference between a demo and something you would ship.

  3. 3

    Codify it

    5 guided steps

    Reproducibility is the whole point of IaC. If you cannot destroy and rebuild from zero, you do not actually have infrastructure as code, you have a documented click-ops session.

  4. 4

    See it and price it

    5 guided steps

    A site you cannot observe is a site you find out is down from a customer, and a bill you never modeled is the one that surprises you. Both are one-line additions at this scale, there is no excuse to skip them.

What's inside when you start

4 starter files, ready to clone
4 guided milestones
4 full reference solutions
8 code blocks explained line-by-line
4 "is it working?" checks
4 interview questions it prepares you for

You'll walk away with

A Terraform repo that stands up the whole site with one command
A live HTTPS URL on your own domain
A README documenting the one-command deploy and the estimated monthly cost
A CloudWatch 5xx alarm and CDN access logs, both defined in Terraform

This is portfolio-grade. Build it free.

Sign up to unlock every milestone step-by-step, the code skeletons, full reference solutions, and checkable tasks, with your progress saved as you build.

Start building