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
Log in or sign up for Devpost to join the conversation.