Google Cloud Platform Website
The very website that you are reading this text from is being hosted on my own personal GCP Server.
This website is a passion project because I always wanted to make my own website since I was a kid.
- I wanted to focus on the budget of this project as a case-scenario, so I hosted on a Google Compute Engine e2-micro VM (us-central1) running nginx, within GCP's Always Free tier with budget alerts configured to monitor usage.
- Security was a big focus point of my website, which is why I secured my HTTPS from end-to-end via Cloudflare in Full SSL mode. This means my website is encrypted from visitor to Cloudflare, and from Cloudflare to the origin VM.
- Self-managed infrastructure where I handle OS updates, nginx configuration, and server security directly, rather than relying on a managed platform.
End to End ETL Pipeline
I like to drive, but I'm getting tired of driving on public roads. I started using Houston's public transportation system, the METRO, to get me to where I need to go and I'm loving the reliability of the transit system.
I wanted to learn more about Houston's METRO, so I decided to create an end-to-end Extract, Transform, and Load (ETL) pipeline to where the most common delays occur
- Extracted real-time and historical transit data from https://api.ridemetro.org/data/FullRouteInfo[?routeId] using an authenticated API key, pulling arrival times, delay reports, route data on a 5 minute basis via a scheduled GCP CloudRun job.
- Built a transform layer in Python to clean and structure the raw data like handling missing timestamps, deduplicating records, standardizing route/stop IDs before loading in a GCP BigQuery dataset.
- After loading into a BigQuery database, results were fed directly into the Looker Studio dashboard below for visualizing delay patterns by route and time of day.