ISIS enrolment, redesigned

A full-stack prototype of ANU course enrolment, rebuilt around what a student is actually trying to do: find the course they want to study, understand it, and enrol. The ISIS version asks for administrative detail up front. It wants a numeric Class Number, it makes you know which course code belongs to your academic career, and its search results say too little about a course to decide from. In this version the student picks the subject and the semester, and the system works out the rest.

Design principle: students choose what they want to study; the system handles program eligibility, course variants and administrative details (course code, offering, class number) automatically, from their student profile.

The flow

Sign in with a Student ID → (first time) set study level and program → choose semester → search by name, code or topic (or browse the Courses catalogue) → course details → Add → confirm → enrolled.

What good looks like here

Good means a student can enrol in the right course without knowing anything administrative, and can see why when a course isn’t for them.

What this prototype doesn’t do

The course catalogue

pnpm catalogue:import runs a one-time importer (scripts/import-anu-catalogue.ts). It lists 2026 COMP courses from the public ANU Programs & Courses catalogue, reads each course page (code, title, units, academic career, description, requisites, indicative assessment, mode of delivery, and 2026 offerings with class numbers) and writes a normalised snapshot to src/lib/catalogue/anu-2026-comp.json. The app loads that snapshot into SQLite when it boots; it never fetches from ANU while serving pages. Only sessions the app models (2026 Summer, First Semester, Winter, Second Semester) are imported, and ANU publishes timetables separately, so imported courses show no class times.

A handful of courses are hand-curated in src/lib/seed.ts and take priority over imported ones with the same code: they carry this prototype’s topic for COMP4020/COMP8020 and illustrative timetables. The catalogue is prototype data, not authoritative ANU data: it’s a snapshot, and the hand-curated timetables and assessment are made up.