Skip to main content

Command Palette

Search for a command to run...

Portfolio

Project 8 - Polyglot Pipeline

Think of this stack as a fully automated, multilingual static‑site machine. Whenever we push to main on GitHub, an event shoots through a CodeStar Connection and wakes up an AWS CodePipeline. The pipeline pulls the repo, then hands the code to CodeBuild, which runs a lightweight build container (defined in Terraform) to bundle the HTML/CSS/JS and call Amazon Translate to turn the base English pages into Spanish, Hindi, French, etc. The translated and original files are pushed into a versioned pipeline‑artifacts S3 bucket, and finally copied to the public website‑assets bucket that CloudFront sits in front of.

At the edge, a tiny Lambda@Edge function watches every viewer request. It decides which language folder a visitor should get, based on a cookie or the browser’s Accept‑Language, and issues a fast redirect so the right HTML lands in the browser. Because the bucket is private, CloudFront uses an Origin Access Control(OAC) key to read the files; the world sees only CloudFront’s HTTPS endpoint, secured by a cert from AWS Certificate Manager and wired to the domain through Route 53.

Developers never touch the AWS console. All the plumbing—buckets, policies, CloudFront distro, Lambda versions, IAM roles, the CI/CD pipeline itself, is declared in Terraform and lives in the same repo. Push code, get a refreshed, multilingual site in a few seconds. Logs from both the build and edge runtime flow into CloudWatch, so we can trace a failing translation or catch 404s in real time.

In short: commit → pipeline translates & ships → CloudFront + Lambda@Edge serve language‑aware pages at global speed, all scripted with Terraform so we can tear it down or spin it up with one command.

For more info, please visit the repo

Project 7 - LinkedIn Profile Picture Analyzer

This project is a LinkedIn Profile Picture Analyzer that uses Amazon Rekognition and other services to analyze and process profile pictures. The application is designed to be serverless, scalable, and cost-effective. It leverages AWS Lambda, Amazon S3, Amazon Rekognition, and Amazon DynamoDB to provide a seamless user experience.

For more info, please visit the repo

Project 6 - Disposable NAT Gateway

This project provides a disposable NAT Gateway solution designed to lower costs and improve security in AWS environments. The NAT Gateway is created only for a defined time window and automatically destroyed afterward. This model fully utilizes AWS’s pay-as-you-go pricing, ensuring that you only pay for the NAT Gateway while it’s actually needed.

Motivation
The idea for this solution came from a discussion with a colleague about the high ongoing costs of NAT Gateways in AWS, alongside the operational risks of self-managed NAT Instances. Instead of keeping a NAT Gateway active at all times, this project enables you to spin up the gateway temporarily—reducing your attack surface and cutting unnecessary costs.

How It Works
To use this disposable NAT Gateway effectively, the developer must configure their application to perform updates within a specified time window. This time window should include a small buffer period at the beginning to allow the NAT Gateway to be deployed and become fully operational before the application’s update process starts.

For example, if your app's update is scheduled to begin at 02:10 AM, you might define the NAT Gateway’s availability window from 02:00 AM to 03:00 AM. This ensures that the NAT Gateway is ready when the update begins and is safely removed afterward.

Who Is This For?
This solution is ideal for developers and teams who need outbound internet access (via NAT) during specific operations like nightly updates or scheduled batch jobs—but do not require NAT availability around the clock. It helps keep your infrastructure lean, secure, and cost-effective without manual intervention.

For more info, please visit the repo

Project 5 - Recipe Sharing App: Serverless Edition

The goal of this project is to create a serverless version of the recipe sharing app using AWS Lambda and API Gateway and deploy it using a GitHub Actions CI/CD pipeline with AWS CloudFormation.

For more info, please visit the repo

Project 4 - Recipe Sharing App

The goal of this project is to deploy a recipe sharing application made by fastapi using AWS services. The application will allow users to share their favorite recipes and view recipes shared by others. The project will be deployed using AWS CloudFormation, which will automate the deployment process and ensure that all resources are created in a consistent manner.

For more info, please visit the repo

Project 3 - Email Database

The goal of this project is to automate the deployment of a Flask application on AWS using CloudFormation. The application is a simple email database that allows users to add and retrieve email addresses. The application uses AWS RDS for the database and AWS Secret Manager for storing the database credentials.

For more info, please visit the repo

Project 2 - Roman Numerals Converter Application

This project showcases how to automate the deployment of a Flask-based Roman Numeral Converter application on an AWS EC2 instance using AWS CloudFormation. The app is served using Gunicorn as the WSGI server and is fronted by Nginx acting as a reverse proxy. The entire infrastructure — including instance provisioning, package installation, and service configuration — is managed through a single CloudFormation template for seamless reproducibility and scalability.

For more info, please visit the repo

This project demonstrates deploying a static website on an AWS EC2 instance using AWS CloudFormation. The website features a carousel of kitten images and is hosted on an Apache web server.

For more info, please visit the repo.


Full-Stack Web Development Projects

PDFPal-Backend

A CLI-based, user-friendly PDF manipulation tool

PDFPal-Frontend

The frontend of the PDFPal website