This site is built to host my short stories as a static site deployment using AWS.

I specifically chose to cloud host and use AWS to gain real-world experience building on AWS to help my career progression.


Deployment Flow

  1. Local Development: Code & content edited locally using Hugo.
  2. Version Control: Pushed to GitHub repository main branch.
  3. Automated CI/CD: GitHub Actions triggers, builds static assets with hugo --minify, syncs to Amazon S3, and invalidates CloudFront cache.
  4. Global CDN: AWS CloudFront serves cached content over HTTPS with low latency.

Key Architectural Highlights

1. Edge Delivery & Content Distribution

  • Static Site Generator: Built using Hugo for rapid static page rendering and zero server runtime overhead.
  • Storage & CDN: Static assets are stored in a private AWS S3 bucket and distributed globally via AWS CloudFront edge locations for low-latency delivery.
  • SSL/TLS & DNS: SSL certificates managed via AWS Certificate Manager (ACM) and DNS routed through AWS Route 53.

2. Edge Security & Access Control

  • Origin Access Control (OAC): Direct S3 bucket access is blocked to the public; assets are strictly served through CloudFront.
  • Security Headers: Enforced edge security headers via CloudFront SecurityHeadersPolicy including:
    • Strict-Transport-Security (HSTS)
    • X-Frame-Options (Clickjacking protection)
    • X-Content-Type-Options (MIME sniffing prevention)
    • Content-Security-Policy (CSP)

3. Serverless Reader Feedback Pipeline

  • Decoupled API: Reader feedback forms submit payloads asynchronously to an AWS API Gateway REST endpoint (POST /feedback).
  • Event Execution: Triggers an isolated AWS Lambda function processing contact details and story titles.
  • Notification System: Routes validated reader messages directly to the author inbox using Amazon SES.

4. CI/CD Pipeline & Operational Governance

  • Automated Workflow: Pushes to main trigger a GitHub Actions pipeline that compiles Hugo assets, syncs output to S3, and invalidates the CloudFront cache (/*).
  • Cost Governance: Tracked via AWS Budgets alerts to maintain minimal operational overhead within the AWS Free Tier.