
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 UMD course registration pages 24/7 and sends Telegram alerts when seats become available. The best part is that it's powered by AI agents, so you don't need to configure heuristic filters. You just tell it what you're looking for in plain English. e.g. "Check if Professor Herman 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-nano for analysis.
Pydantic AI handles the LLM integration with structured outputs by validating responses against Pydantic models, so the agent returns type-safe Python objects instead of raw text that needs parsing. Logfire provides OpenTelemetry based tracing for the full agent execution pipeline: prompts, model calls, validation steps, and tool usage. The system polls every 5 minutes and sends Telegram notifications on seat availability.
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.