Skip to main content

EdinburghAI Flip the Script

Describe the week.Choose the legal year.

No 9ams, Fridays free, King's Buildings days together. Aperture finds course sets that fit, then checks every degree rule.

BSc Computer Science · Year 3
Interactive preview · Demo data
Friday kept free

Courses in this plan · 7 · 120 cr

4 compulsory lectures still land on Friday.

Sample timetable

MonTueWedThuFri
100671002210059100590905110022

Preview updated

Interactive preview · Demo data

The sequence is backwards.

The week becomes the input. Degree rules and timetable clashes become checks, not surprises.

Old way

Pick courses, then discover the timetable they produce.

Aperture

Describe the week, then get the legal course sets that can produce it.

Three moves, one legal year.

Describe the week. Check the rules. Choose a timetable that survives both.

Describe the week

Write the shape you want: no early starts, Friday afternoon free, one campus day, courses you want or will not take.

Simulated preview
Aperture
Simulated preview

Describe a change

Every constraint stays visible and removable.

No 9ams, Fridays free, and keep King's Buildings days together.

Try a sentence

Applied

No classes before 10:00Friday kept freeCampus days grouped

Preview updated

Simulated preview

Check the degree rules

Compulsory courses, option credits, 120 credits, prerequisites and semester balance are checked against the programme table.

Demo data

Why this plan works

Each check keeps the source sentence beside it.

Interactive preview · Demo data
Compulsory courseINFR09051 Informatics Large Practical
DRPS source

Year 3 compulsory: Informatics Large Practical (INFR09051)

Open source
Group ASelect exactly 50 credits
DRPS source

Select exactly 50 credits in this group.

Open source
Semester 2 optionsChoose 20 to 40 credits
DRPS source

These are Computer Science courses in Semester 2 open to third-year undergraduate students.

Open source
PrerequisiteMachine Learning requires Foundations of Data Science
DRPS source

Students MUST have passed: Informatics 2 - Foundations of Data Science (INFR08030)

Open source
Interactive preview · Demo data

Choose the legal year

Compare legal course sets, choose tutorial groups, and see every unavoidable miss in the published timetable.

Demo data
BSc Computer Science · Year 3
Interactive preview · Demo data
Campus days grouped

Courses in this plan · 7 · 120 cr

No avoidable preference misses.

Sample timetable

MonTueWedThuFri
100671002210052100670905110052

Preview updated

Interactive preview · Demo data

The demo is grounded.

Every number comes from the committed programme data and timetable export.

68course records2026/27 DRPS scrape for UTCMPSI
570timetable slotsCTB export across 66 courses
4programme yearsBSc Computer Science, years 1 to 4
1end-to-end programmeUTCMPSI with committed data

Built to be checked.

The language model handles language. The solver makes the decision.

App

Next.js 16 and React 19

One App Router codebase for the page, planner and API routes.

Types

TypeScript 5 and zod

Shared domain types and validated API inputs. Server code never trusts the client.

Rules

Deterministic TypeScript solver

Legal-year search and scoring stay fast, inspectable and outside the language model.

Data

Mongoose 9 and MongoDB Atlas

Persistent programme data when available, with committed JSON as the demo fallback.

Sources

Cached DRPS and CTB exports

The committed scrape runs the demo without a live university request.

Interface

Tailwind 4 and scoped CSS

Utility layout for the page and a landing-specific visual system without global overrides.

Deploy

Vercel

The Next.js app ships without a separate frontend or hosting layer.

AI coding tools were used to build this project. The rule checks and timetable decisions remain deterministic.

What is real, and what is not.

The boundary is explicit because a timetable tool should earn trust before it earns a click.

One programme

UTCMPSI Computer Science, years 1 to 4. No other degree programme is loaded.

Cached data

The demo reads committed 2026/27 scrape and timetable files. It does not pull live university data.

Timetable coverage

66 of 68 course records have timetable events. Two catalogue courses do not.

Not enrolment

Plans suggest course sets and tutorial groups. The university allocates groups and enrolment.

Parser boundary

Live sentence parsing needs a configured LLM endpoint. The previews on this page are simulated from fixed demo data.

Published clashes

If compulsory lectures clash in the published timetable, Aperture shows the forced miss.