Inspiration

As a Frontier Airlines Go Wild pass holder, I wanted a way to
actually take advantage of the pass. Go Wild fares drop roughly 24 hours before departure — too short a window to manually check the app every day. I built Runaway to do that watching for me.

What it does

Runaway is a flight search and alert app for Frontier Airlines
Go Wild pass holders. It scrapes available F9 flights across a rolling 3-day window, stores them in DynamoDB, and surfaces them through a clean web dashboard. Users can search flights by origin, destination, direction, and date.

How we built it

  • Python scraper that queries SerpAPI for Frontier flights,
    filters to F9-only, and writes records to DynamoDB with automatic TTL expiration
  • Go web frontend built with Fiber, featuring a destinations dashboard and flight search
  • Go pipeline that polls DynamoDB on a schedule and monitors flight data throughput
  • AWS infrastructure: DynamoDB (central data store), ECS Fargate (containerized deployment), ECR (image registry), Secrets
    Manager, CloudWatch
  • GitHub Actions for CI/CD on the scraper; manual deploy script for the frontend

Challenges we ran into

  • Google OAuth requires a registered domain with a valid TLD —
    raw IP addresses aren't allowed as redirect URIs. We ran out of time to get DNS propagation sorted during the hackathon, so auth didn't make it into the live demo
  • DynamoDB scan queries failing when no filter values were provided — required a conditional fix to only set
    ExpressionAttributeValues when filters are present
  • SerpAPI doesn't mirror Frontier's internal API structure,
    requiring careful filtering to ensure every leg of a flight is
    actually operated by F9

Accomplishments that we're proud of

  • End-to-end working pipeline: scraper → DynamoDB → frontend,
    fully deployed on AWS and accessible at a public IP
  • Mobile-responsive UI with a destinations dashboard showing
    cheapest available fares
  • Containerized, production-grade deployment on ECS Fargate from scratch during a hackathon

What we learned

  • ECS Fargate has sharp edges around networking, IAM roles, and Secrets Manager integration that eat time fast
  • Google OAuth's domain requirements force you to think about
    production infrastructure from day one — a raw IP just won't cut it
  • Go Wild fares are genuinely hard to track manually — this tool solves a real problem

What's next for Runaway

  • Fix Google OAuth: point a proper domain at the server so login actually works
  • Watchlist & SMS alerts: let users flag origin→destination
    pairs and get texted when a flight appears
  • Round-trip pairing: select an outbound flight and see next-day returns from that destination
  • Replace SerpAPI with Frontier's internal
    /GetLowFareAvailability API to cut costs and get real-time data
  • Reduce TTL to 18 hours to optimize for the Go Wild fare release window
Share this project:

Updates