https://github.com/ampourmand/anthropic-hackathon

Inspiration

Every semester, UMD students waste 30+ minutes manually entering class schedules into their calendars. We thought: there has to be a better way. One click should be enough.

What it does

A browser extension that scrapes your Testudo schedule and instantly converts it to a downloadable ICS calendar file. Works with Google Calendar, Apple Calendar, Outlook—anywhere, for the entire schedule.

How we built it

Pure JavaScript browser extension with DOM scraping, ICS format generation, and Chrome APIs. We built a text-based fallback parser for Testudo's Angular interface, added comprehensive error handling, and created a standalone HTML version as backup. Built and deployed in under 45 minutes.

Challenges we ran into

Testudo's Angular-based interface was tricky—dynamic content loading and inconsistent class names made DOM scraping unpredictable. Each course has multiple meeting types (Lec, Dis) that needed separate calendar entries. We solved it with a multi-layered approach: DOM selectors, pattern matching, and ultimately a text-based fallback parser.

Accomplishments that we're proud of

Built a production-ready tool in 45 minutes that actually works! The fallback parser ensures it works even when Testudo's HTML changes. Clean, well-documented code with comprehensive guides. Most importantly: it solves a real problem for 40,000+ students.

What we learned

Rapid prototyping requires planning—we spent time upfront designing the architecture. Fallback strategies are crucial for web scraping. The ICS calendar format is more powerful than we thought. And sometimes the simplest solutions (text parsing) are more reliable than complex ones (DOM manipulation).

What's next for Testudo Class Schedule -> Your Calendar in one download

Auto-detect semester dates from UMD's academic calendar. Add exam schedules and finals week. Support for professor office hours. Chrome Web Store and Firefox Add-ons publication. Integration with Rate My Professor. Eventually expand to other universities—every college has this problem.

Built With

Share this project:

Updates