Carlos Alers-Fuentes

AWS Cloud Portfolio Project demonstrating serverless architecture, Infrastructure as Code with Terraform, secure static hosting, and AWS cloud services.

View GitHub Repository View LinkedIn
Visitor Count: Loading...

Architecture Diagram

The diagram below shows the high-level architecture used in this project. CloudFront securely delivers the static site from a private S3 bucket while AWS Lambda retrieves and updates the visitor count stored in DynamoDB. The contact form is handled through API Gateway and Lambda, with validation and basic abuse protections applied at the application layer.

AWS Architecture Diagram

High-level architecture for the AWS Cloud Portfolio Project

About This Project

This portfolio website was built to demonstrate hands-on AWS cloud engineering skills. The frontend is served through Amazon CloudFront from a private S3 bucket, while a serverless backend powers the visitor counter and contact form functionality.

Infrastructure is provisioned using Terraform to demonstrate Infrastructure as Code, repeatable deployments, and cloud resource management using best practices.

Architecture Highlights

  • Static website hosted in Amazon S3
  • Content delivered globally via CloudFront CDN
  • Visitor counter powered by AWS Lambda
  • Visitor count stored in DynamoDB
  • Contact form submitted through API Gateway
  • Message handling secured with validation and basic anti-bot protections
  • Infrastructure provisioned using Terraform
  • GitHub Actions used for CI/CD automation

Technology Stack

Terraform AWS S3 CloudFront API Gateway Lambda DynamoDB Python HTML CSS JavaScript

What I Practiced

  • Infrastructure as Code using Terraform
  • Deploying secure static websites on AWS
  • Building serverless backends with Lambda and API Gateway
  • Integrating DynamoDB with backend services
  • Adding basic protections against spam and abuse
  • Documenting cloud architecture for a professional portfolio

Contact Me

Send a message through this serverless contact form. Submissions are validated before being sent, and a hidden honeypot field is included to reduce basic bot traffic.

Please keep your message under 2000 characters.