Open the dashboard password-gated · runs on my own coursework
Problem
Coursework for eight courses lived behind Brightspace's click-through UI, with no way to see everything due at once — and D2L doesn't hand students API access.
Decision
Reach the D2L Valence API through my own authenticated browser session, sync it to Postgres every two hours, and let Claude rank the backlog and brief each task.
Result
One dashboard that ranks assignments by urgency and grade weight, estimates effort, tracks what's submitted, and explains what each assignment is asking for.
Under the hood
A Python agent authenticates to Purdue's Brightspace with my live session cookies and pulls assignments, quizzes, grades, submission status, and announcements through the D2L Valence REST API. It syncs to Neon Postgres on a schedule, diffing each run for what changed.
A second pass hands the new and upcoming items to Claude, which writes a priority score and reason, an effort estimate, a grade-impact note, a per-assignment briefing, and a rolling seven-day plan. A Next.js dashboard on Vercel reads the database; an MCP server exposes the same data to Claude so I can ask "what's due this week?" from anywhere.
Python / D2L Valence API / Neon Postgres / Claude / Next.js / Vercel / MCP
The honest part
It runs on my own session cookies, which is fragile by design — a working proof that the demand is real. The next step is asking Purdue to register a sanctioned OAuth2 application so a tool like this can run on official credentials instead.