Skip to content

Repository files navigation

Course Load

Every syllabus makes sense alone. Your course load is all of them at once.

Drop in your syllabi. Course Load extracts every deliverable, budgets the effort each one takes, spreads that effort backward across the days leading up to it, and aggregates the result across all your courses into a single term-wide view — so the week with two midterms and a paper is visible in September, not discovered in October.

Live: https://week7-tawny.vercel.app

Built for the Stellic hackathon · Category 02, Overcoming Obstacles.

Running it

npm install
echo "ANTHROPIC_API_KEY=sk-ant-..." > .env.local
npm run dev

npm test runs the unit tests for the analysis pipeline.

No API key? Click Load demo data — the whole app works on sample syllabi.

How it works

Extraction. claude-opus-5 with structured outputs pulls deliverables out of syllabus text. Every item carries the verbatim syllabus line it came from, so nothing the tool claims is unverifiable — click any item to see its source.

Effort budgeting. Hours come from credit load, not guesswork. The Carnegie standard puts one credit hour at 1 hour in class plus 2 hours out of class per week, so a 3-credit course carries ~84 out-of-class hours a term and a 4-credit course carries more. In-class time is excluded deliberately: it is already fixed on your timetable, so it can never collide with anything. That budget is then split across the course's assignments in proportion to how much of the grade each one carries.

Spreading. A midterm does not cost twenty hours on the day of the exam; it costs twenty hours across the week and a half before it. This is the part that makes collisions visible — without it, effort sits as isolated spikes on due dates and overlapping work never registers.

Academic calendar. Paste your school's academic calendar link and Course Load reads it: your real withdraw deadline replaces the estimate, published term bounds replace the inferred ones, and holidays and breaks are marked on the grid. Calendars that render their dates in JavaScript can't be scraped, so pasting the dates works too.

Planning a term. The same engine runs one step earlier. Pick the courses you are considering and see the semester before you register — total workload, the heaviest week, how many collision weeks, and the fragility score. Your syllabi come from whatever terms you took them in, so each course is re-dated onto one shared term keeping its week-offset and weekday: the comparison is about the shape of the work, not which year it happened in.

Fragility. Three things nobody tells you about a semester until it is too late: how concentrated your grade is on a few high-stakes moments, how much of it is decided after the withdraw deadline, and how far your worst week runs above a typical one.

Every estimate is editable, and edits stick.

Scope

Modelled: dated, schedulable work. Not modelled: steady background reading and lecture review, which has no deadline and therefore cannot collide. Scanned PDFs with no text layer are rejected with a clear message rather than parsed badly.

Holidays and breaks are shown but do not redistribute effort. Whether a student works through fall break is a fact about that student, not about the calendar, and guessing either way would make the estimate worse rather than better.

Privacy

Syllabus text is sent to the Anthropic API for extraction and is not stored on a server. Everything else — your courses, edits, and settings — stays in your browser's localStorage. There are no accounts and no database.

About

Reads all your syllabi together and shows you the week that will break you — while you can still do something about it.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages