🗓️ Class Schedule Builder

Add your classes with day and time to build a weekly timetable. Overlapping classes on the same day are automatically flagged.

How a clash is detected

Classes are grouped by day, sorted by start time, then each one is compared with the class immediately before it on that day:

conflict when  start(next) < end(previous)

Mon  Calculus 101   09:00 - 10:15
     Chemistry Lab  10:00 - 12:00    10:00 < 10:15  ->  15 minute clash

The comparison is strict, so a class ending at 10:15 and the next starting at 10:15 is not flagged - back-to-back lectures are treated as fine even when the rooms are ten minutes apart. Rows with a blank start or end time are ignored entirely, and a row with no name is listed as "Untitled Class".

Reading the weekly list

Only neighbouring pairs are checked. One long block that swallows two shorter classes - a 09:00 to 12:00 lab with classes at 10:00 and 11:00 - reports the first overlap but not the second, because after sorting, the 11:00 class is compared against the 10:00 one. Fix the clash you are shown, then look again.

Frequently asked questions

Does the schedule save when I close the tab?

No. Everything lives in the page while it is open, so a refresh returns you to the three sample classes. Copy the finished timetable into a document or calendar before you leave.

How do I add a class that meets on several days?

Add one row per day. A Monday, Wednesday and Friday lecture needs three rows with the same name and times, which is also what lets each day be checked for clashes on its own.

Can I put in a class that runs past midnight?

Not as a single row. Times are compared as minutes within one day, so an end time earlier than the start time produces a negative span and silently breaks the overlap check. Split it into two rows on consecutive days.