How I built this site on AWS S3
This site you're reading was built as part of my Cloud Computing course (ITSS 4371) at UT Dallas. The goal was simple: put my AWS knowledge into practice by deploying a real working website on Amazon Web Services. I chose to build a static site hosted on Amazon S3, and here's why.
Why static hosting on S3
Amazon S3 is one of the original AWS services, and static website hosting is one of the cleanest use cases for object storage. Instead of running a web server on EC2, paying for it 24/7, and patching the OS, you upload your HTML and CSS files directly to an S3 bucket and let AWS serve them. There's no server to manage, no operating system to update, and the storage is highly durable by default.
The build
I wrote eight HTML pages by hand: a home page, about, resume, projects, skills, a blog index, this blog post, and a contact page. Every page shares the same top navigation bar, so visitors can move freely across the site. I styled everything with a single CSS file using flexbox for the nav and grid for the project listings.
Deploying to AWS
The deployment was four steps: create an S3 bucket with a globally unique name, enable static website hosting in the bucket properties, upload all the site files, and attach a bucket policy that grants public read access to the objects. After that, the bucket's website endpoint URL serves the site.
What I learned
The biggest takeaway was how much AWS abstracts away. The same architecture pattern โ S3 plus a public bucket policy โ scales from a personal portfolio to sites serving millions of users without changing the underlying setup. The principle of least privilege also applies cleanly here: my bucket policy grants public read access only, so visitors can load pages but no one can upload, modify, or delete anything.
What's next
For a future iteration, I'd like to add a Lambda-backed contact form and a DynamoDB-powered visitor counter to make the site partly dynamic. I'd also put CloudFront in front of the bucket so the site loads over HTTPS and benefits from edge caching.