How to Add Custom Courses to Your NTU Timetable
When you plan a semester, registered modules are only part of the picture. Gym sessions, CCA meetings, part-time work shifts, and long lunches all take real time — and if they do not appear on your timetable grid, it is easy to accidentally schedule a tutorial right over them.
NTUMods now lets you add custom courses: named time blocks that sit on the timetable grid alongside your registered modules. They show up visually, flag clashes, and persist per plan so each of your five timetable plans can have a different set.
What custom courses are for
Custom courses are useful any time you have a recurring commitment that is not in the NTU module database:
- CCA and sports — weekly training, rehearsals, or committee meetings
- Gym or fitness — time you want to protect before it gets crowded out
- Lunch windows — marking off the time you actually need to eat and travel
- Part-time work — shifts that recur on specific days
- Off-campus courses — language classes, external certifications, or enrichment programmes
- Buffer time — commute windows or recharge blocks between heavy classes
Anything you would pencil into a physical planner can go here.
How to add a custom course
- Open the Timetable page.
- In the right sidebar (or via the mobile modifier button), scroll to Custom Courses.
- Click Add custom course.
- Fill in the details:
- Name — what this block is (e.g. "Gym", "Badminton CCA", "Lunch") - Day — Monday through Sunday - Start time and End time — select from the standard 30-minute slots - Venue — optional, but useful for planning commutes - Colour — pick from six options to visually distinguish blocks at a glance
- Click Save.
The block appears on the timetable grid immediately.
Editing and removing custom courses
Click any custom course in the list to expand an inline editor. Change the name, time, venue, or colour, then click Save. To remove a block, click the trash icon on the right of the row.
Clash detection
Custom courses participate in the same grid layout as registered modules. If a custom block overlaps with a tutorial or lecture, the cells appear side by side in the same column — the same way registered modules clash with each other. There is no separate warning; the visual overlap makes it immediately obvious.
This is useful during planning. You can add a gym block, then try different indexes for a module to find one that does not clash with it — without any manual time arithmetic.
Custom courses are per-plan
Each of your five timetable plans has its own independent set of custom courses. Switching plans switches the blocks shown on the grid. If you duplicate a plan, the custom courses in that plan are copied to the new one with fresh IDs, so editing one does not affect the other.
Limitations to keep in mind
Custom courses are stored locally in your browser alongside your timetable. They are not synced to a server and are not included in shared timetable links. If you share your timetable via the share button, recipients will see your registered modules but not your custom blocks.
Screenshots taken via the screenshot button do include custom courses as they appear on screen.
Example: planning around a gym schedule
Suppose you want three gym sessions per week before your first class. You might add:
- Monday Gym — 08:00–09:00, Sports Hall
- Wednesday Gym — 08:00–09:00, Sports Hall
- Friday Gym — 08:00–09:00, Sports Hall
With those blocks in place, you can switch between module indexes and immediately see whether any option starts at 08:30 — which would clash. You find an index that starts at 09:30, and your gym sessions are safe.
The same approach works for CCA commitments, work shifts, or anything else with a fixed weekly rhythm.