13

Testudo Crawler

The registration hack I desperately needed last semester

If you've ever tried registering for classes at any university, you know the pain. That one section with the good professor fills up in seconds, and the other professor has a 1.5 star rating and some type of allegation. I've been at UMD for a semester and its so bad I decided to do something about it.

Testudo Crawler monitors course registration pages 24/7 and sends Telegram alerts when seats become available. The best part? It's powered by AI agents, so you just tell it what you're looking for. Like: "Check if Professor Kauffman has seats open for classes after 5pm"

How It Works

The crawler uses Playwright for headless browser automation, getting past JavaScript rendered content. The extracted DOM is cleaned and passed to GPT5-mini for analysis.

Under the hood, each course runs in its own async monitoring loop with configurable intervals and timezone aware check windows, so I could control when checks happen and avoid unnecessary polling. The Playwright layer is optimized to load fast by blocking non-essential assets and retrying with exponential backoff when requests fail. I wrapped the crawler in a FastAPI service with health endpoints for deployment on Render, and added structured logging so I could debug failures and see exactly when checks, alerts, and retries happened in production.

Self-Hosted

Everything is set up so you can run your own instance locally or on a server. Fork the repo, add your Telegram bot token, and tell it what classes to watch.

Never miss a seat again.