Turning nine disconnected campus platforms into one AI orchestration layer.
Last Minute Club began as a team project for UCL's Artificial Intelligence for Business module: could an AI layer sit above the platforms students already use — Moodle, Portico, careers, the students' union, the library, their own calendar — and turn scattered inputs into a conflict-free week and an early warning on burnout? As technical co-founder, I designed the data model, the rule-based orchestration engine, the heuristic scoring layer, and the Claude-powered assistant on top of it, then validated the MVP against simulated schedules and a small live pilot.
Orchestration is missing, not resources
University students juggle up to nine disconnected platforms — Moodle for assignments, Portico for grades, UCL Careers for jobs, the Students' Union for events, the library for research, a personal calendar for everything else. Each one stores data. None of them talk to each other, plan around a deadline, or notice a student heading for burnout before it happens.
The instrument panel
Four connected workstreams
One JSON object, one source of truth
Structured every input — assignments, lectures, events, preferences — into a single state object per session: assignmentObjects[], lectureObjects[], eventObjects[], userPreferences{}. Every module reads from the same source instead of drifting out of sync.
A five-step engine, not a black box
Read deadlines → block fixed time → check capacity → distribute blocks → apply preferences. Deterministic, rule-based logic that outputs a schedule respecting real constraints — not an LLM guessing at a timetable.
Scoring workload before it becomes a crisis
Four heuristic scores layered on the schedule: Burnout Risk (deadline density, study gaps, workload volume → 0–100), Cognitive Load, Workload Trend, Engagement Signal — built and framed as decision-support, not a clinical tool.
Claude on top, not inside, the logic
A conversational layer that reads schedule state via the Claude API and generates plain-language guidance — deliberately kept separate from the orchestration engine so the assistant explains decisions instead of making them.
The AI decision loop
My role vs. not my role
The backend architecture and JSON data model, the orchestration engine's constraint logic, designing the four heuristic scores, integrating the Claude-powered assistant, and running the MVP validation tests.
Pitch narrative and visual storytelling, commercial strategy and revenue modelling, and any live institutional deployment — this stays a course MVP, not a shipped university product.
Before → intervention → outcome
*Self-reported, 4-person pilot signal — see Validation below, not a controlled or clinical result.
The dashboard — everything in one place
Smart Calendar
Multi-week, colour-coded, conflict-free — lectures, study blocks, deadlines and events on one view.
Burnout Risk Gauge
Live 0–100 composite score across six evidence-based dimensions, always visible.
Cognitive Load Score
Live index — deadline proximity, pending hours and active events, rolled into four states.
Trade-Off Simulator
Toggle events on or off and see the scheduling impact instantly, before committing to anything.
AI Assistant Panel
Plain-language recommendations, auto-loaded after each orchestration run.
Watch it work
Last Minute Club — MVP demo.
From a guess to a measured pilot
Before shipping the MVP, performance was a guess — "the orchestration engine should work." There was no structured way to check whether a generated schedule actually reduced pressure for a real student.
We ran two rounds of validation: five simulated student profiles through the orchestration engine to check generation speed and conflict reduction, and a small live pilot — three team members plus one outside student — who logged a self-reported burnout score before and after the tool planned their week.
Evidence & process layer
Data model & object store
The single JSON state object every module reads from — designed so the calendar, the risk gauges and the assistant never fall out of sync with each other.
Orchestration engine
The deterministic, rule-based pipeline that turns raw inputs into a conflict-free multi-week schedule — no LLM in the scheduling loop itself.
Assistant layer
A conversational layer bolted on top of the schedule and scores — built to explain and guide, kept out of the deterministic scheduling logic.
Product screenshots shown are from the team's own pitch deck and MVP demo — illustrative mock data, not real student records.
"Last Minute Club was a 3-person course venture, so my part sat squarely in the technical build — the data model, the orchestration engine's rules, the heuristic scoring, and wiring a Claude-powered assistant on top of it, then proving the MVP actually worked end to end."
The measurable outcomes — ~80% fewer scheduling conflicts, sub-25-second generation, and a ~53% drop in self-reported burnout scores across a 4-person pilot — came from that build. Framed honestly: early MVP signal, not institutional-scale proof.
I can take an ambiguous, human problem — burnout, fragmented systems, competing deadlines — and turn it into a structured data model and a deterministic decision engine, then layer AI on top deliberately instead of by default, and validate it fast with real, if small, test data.
This mirrors the core of building AI products responsibly: separate what should be deterministic from what should be probabilistic, keep the human in the loop by design, and be upfront about what a small pilot can and can't prove.