Skip to content
← Back to The Lab

Uni-Plan

Check a semester for clashes and GPA impact before you register, not after.

SPEC-0022026
ReactExpressTypeScriptSHIPPED

What I built

Built the scheduling engine, conflict-detection logic, and GPA prediction, plus the full React/Express app.

Registration makes you answer two questions at once: does this timetable actually work, and what will it do to my GPA. Uni-Plan answers both before you commit to anything.

You enter your courses with credits, grade, day and time slot. It compares every pair of courses on the same day and tells you exactly which ones overlap, instead of just warning that something somewhere is wrong. Alongside that it computes a credit-weighted GPA, so you can add an elective, see the effect, and change your mind while changing your mind is still free.

It is a small app, deliberately: a React and TypeScript frontend against an Express API with two endpoints, one for conflicts and one for GPA. The logic is the product and the rest is plumbing.

The demo on this page is the real thing. I ported the actual conflict-detection and GPA functions into the browser, so what you are poking at is the same logic the app runs, not a mock-up of it.

Live demo

Schedule

  • Data Structures

    Mon · 9:00 AM-10:30 AM · 4 cr · 3.7

    Conflicts with another course

  • Calculus II

    Mon · 10:00 AM-11:30 AM · 3 cr · 3.3

    Conflicts with another course

  • Technical Writing

    Fri · 9:00 AM-10:00 AM · 2 cr · 4.0

  • Physics I

    Wed · 1:00 PM-2:30 PM · 4 cr · 3.0

    Conflicts with another course

  • Intro to AI

    Wed · 2:00 PM-3:30 PM · 3 cr · in progress

    Conflicts with another course

Add a course

Conflicts

  • Data Structures conflicts with Calculus II
  • Physics I conflicts with Intro to AI

Predicted GPA

3.44

Weighted across graded, active courses only.