
Every student knows the most important part of school: Your schedule.
It determines when you wake up, what friends you make, and what professor covers your paper in red marks. Not to mention, many students have external factors like work hours.
It's not easy.
While I was making my own schedule for 2025, I ran into this exact problem. The night before my registration time, I was stuck manually iterating through hundreds of schedule combinations. Needless to say, it seemed like a clear use case for automation.
So I started
I started by learning how to make Chrome extensions. I then made a basic scraping script that pulls all the class course data from my school's registration page, then parses it into a data map. With this data, I ran code to generate every possible schedule including the user's desired classes.
And never stopped
This first version was slow. Hillariously slow, in fact. It had lots of redundancy and duplicate removal, which in an exponential algorithm is very potent. Generating 30,000 schedules took 16 minutes. The sorting algorithm and filter options were bare bones.
I'm sharing this because it's important to remember Rome wasn't buit in a day - Every project starts with a poorly-made proof of concept.
My latest version can generate the same 30,000 schedules in only 56 milliseconds (0.0009 minutes). That's a 17,000x improvement in this case. As another point of reference, my newest version can find 1,600,000 schedules in 2.6 seconds.
If you're interested, you can check it out at
make-my-schedule.com
That's all.
Get in touch!