A web application designed to help students at the University of Central Florida find open classrooms for studying.
With more than 70,000 students, UCF is the largest university by enrollment in Florida and one of the largest universities in the nation. With traditional study spots often overcrowded, ucfSpots leverages real-time data to offer alternative solutions.

The frontend shows a map with color-coded building markers, based on availability, and a searchable sidebar with building details. Users can select any date/time via a picker, and clicking a room shows an hourly schedule timeline.
A pre-computed cache stores schedules per date for faster queries. The cache is refreshed daily after new events are scraped. For uncached dates, the system falls back to real-time SQL calculation.
A Python pipeline scrapes the UCF Class Search page via Selenium. The scraper iterates through subject codes, extracts class sections, and records meeting times, days, locations, and date ranges.
The pipeline then transforms and enriches the data:
Daily events are scraped from events.ucf.edu and loaded into the database. This job runs daily to keep event data current.