Inspiration

We wanted to build an application that could reliably survive the real-world chaos. The MLH Production Engineering track challenged us to think about a URL shortener from the perspective of a SREs: not just "does it work?" but "what happens when things break?"

What it does

URLPulse is a production-grade URL shortener that shortens links, tracks analytics, and proves it can handle load, recover from failures, and alert when things break. It features load balancing across 3 app instances, Redis caching, full observability with Grafana dashboards, and automated Discord alerts for incidents.

How we built it

We set up a Discord channel for real-time communication and maintained a central Google Doc to coordinate testing and track progress. Each team member tackled different components Flask backend, observability stack, chaos engineering scripts, and cloud deployment. We used Docker Compose to orchestrate everything locally before deploying to GCP.

Challenges we ran into

Many of our members were completely new to hackathons, and the learning curve was steep. Most of these tools Prometheus, Grafana, k6, Alertmanager were ones we'd never even heard of before this weekend. Debugging container networking, understanding PromQL queries, and wiring up the full alerting pipeline all pushed us outside our comfort zones. But it was also extremely rewarding to complete

Accomplishments that we're proud of

  • Load balancing across 3 instances with automatic failover
  • A complete observability stack with real-time dashboards
  • Chaos engineering scripts that prove our system recovers gracefully
  • Automated CI/CD pipeline that deploys on every merge to main

What we learned

This hackathon was a crash course in production engineering: Docker, Nginx, Prometheus, Grafana, Alertmanager, k6 load testing, GitHub Actions, and GCP deployment. We learned that building software is one thing keeping it running reliably is another challenge entirely.

Built With

Share this project:

Updates