Projects

Personal Cloud Portfolio Website

Designed and deployed a static portfolio website using AWS cloud infrastructure. The site is hosted in an Amazon S3 bucket and distributed globally through CloudFront for low latency and improved performance.

A custom deployment script using the AWS CLI allows the site to be updated instantly from a local development environment. The script synchronises files with S3 and automatically invalidates the CloudFront cache to ensure updates propagate globally.

Technologies: AWS S3, CloudFront, AWS CLI, Static Site Hosting, CDN

AWS Cloud Deployment Automation

Developed a streamlined deployment workflow to manage updates to a static website hosted on AWS. The process automates file synchronisation with S3 and triggers CloudFront cache invalidation through a local command script.

This workflow reduces manual steps in the AWS console and enables fast iteration when developing and updating the website.

Technologies: AWS CLI, Bash, S3 Sync, CloudFront Invalidation

Cloud Architecture Learning Lab

Actively building hands-on experience with AWS infrastructure by experimenting with common cloud architecture patterns including secure storage, content delivery networks, and infrastructure deployment workflows.

These experiments are focused on developing practical understanding of cloud services and operational workflows used in modern infrastructure environments.

Technologies: AWS, IAM, S3, CloudFront, Networking

AWS Serverless Visitor Counter

Built a serverless visitor counter for this website using AWS Lambda, API Gateway, and DynamoDB. The goal of this project was to implement a simple backend service for a static site while gaining hands-on experience with AWS infrastructure and deployment workflows.

The frontend of this site is hosted as a static website using Amazon S3 and delivered globally through CloudFront. A small JavaScript script on the page calls a public API endpoint to retrieve and update the visitor count.

The backend consists of an HTTP API built with Amazon API Gateway that invokes an AWS Lambda function. The Lambda function updates a DynamoDB table using an atomic increment operation and returns the updated count to the browser.

All infrastructure components were created and configured using the AWS CLI, including IAM roles, API Gateway routes, Lambda deployment, and DynamoDB table configuration.

This project demonstrates practical experience with serverless architecture, API design, IAM permissions, and integrating backend services with a static frontend.

Architecture

  Browser
     ↓
  CloudFront
     ↓
  S3 Static Website
     ↓
  API Gateway
     ↓
  AWS Lambda
     ↓
  DynamoDB