Inspiration
With the number and variety of classes offered on the UT course schedule website, planning a balanced schedule can quickly become overwhelming. Previous tools such as "UT Registration Plus" have been developed to make this task easier, but they still require navigating back and forth through the UT catalog to test out different class combinations. What if there was a way to visualize how one's schedule would change by adding/removing courses without even having to leave a browser extension's popup window?
What it does
Our project is a browser extension that allows users to select courses directly from the UT catalog and form a comprehensive list of classes they are considering. Then, through a convenient popup window, they are able to toggle any of these courses in and out of a prospective schedule until they reach a layout that best fits their academic needs.
How we built it
We used a combination of HTML, CSS, and Typescript (which was then compiled to Javascript) to create a Chrome Extension with two main components. First, a web scraper that gathers class data from the UT registration website. Second, an interactive pop-up window that allows users to adjust their schedules in real time.
Challenges we ran into
Parsing data from a complex website while accounting for a number of special cases was at times difficult, so we had to carefully plan how our web scraper would tackle each edge case. Additionally, since users can select an arbitrary number of courses, it was tricky to design a planner that would be both intuitive and functional across different course list sizes. We overcame this design challenge by testing different layouts and trying to visualize them from the perspective of students using our product.
Accomplishments that we're proud of
Our main accomplishments were finding a product idea that could be very useful to us and other students, successfully integrating the different components of our codebase while efficiently sending data between them, and handling the complexities of dynamically updating an HTML webpage.
What we learned
None of us had worked on browser extensions before, so we learned a lot about their design and web development in general. Also, some of us had experience with Javascript but not Typescript, so this project gave us a chance to consider the practical differences between strongly and dynamically typed languages.
What's next for UT Schedule Planner
We are eager to add more features to improve the user experience. First, we will allow users to rate different courses to make the planning process even easier. Next, we will display maps of the routes between buildings (and their associated walk times) to allow users to get a sense of what their daily routine would look like under different schedule options.
Log in or sign up for Devpost to join the conversation.