Uni Pilot

A small team of AI agents that quietly runs the busywork of college, and gets smarter every time another student uses it.

Inspiration

Every college student loses hours each week to the same low-value busywork: decoding a syllabus to figure out how grades actually work, drafting the "can I get an extension?" email for the fifth time, manually copying due dates into a calendar, doing the mental math on "what do I need on the final to keep my A," and re-asking a question in the class forum that fifty people before you already answered.

None of it is hard. All of it is friction. And it's the same friction for everyone in the class, which is the part that always bothered us.

We wanted to build something that felt less like another productivity app you have to manage, and more like a small team of people working quietly on your behalf in the background.

What it does

Uni Pilot is a platform where students activate single-purpose AI agents, each owning one slice of academic life. You browse a gallery, see what agents you'd like to use, add them to your homepage, and they start working away for you. Helping pilot your university life.

The agents:

📅 Briefer: every morning, a rundown of what's due, what classes you have, and a ranked list of what to actually work on next.

✉️ Messenger: emails your prof for extensions, absences, regrade requests, or intros — with the right tone every time.

🗓️ Scheduler: turn "midterm Friday March 14 at 2pm in Wheeler 150" into a real Google calendar event, with conflict detection.

🔍 FAQ Finder: surfaces answers from your emails, Reddit, and Piazza so you're not digging through threads.

📖 Syllabus Summarizer: distills any course into a clean overview — grading breakdown, key dates, and Rate My Prof insights all in one place.

📊 Grade Evaluator: tracks your current average, breaks down performance by category, and tells you exactly where to focus your studying.

📝 Assignment Planner: reads the prompt so you don't have to panic — then gives you a concrete game plan for tackling it.

And more to come!

How we built it

Backend: Node.js + Express with an embedded SQLite database — a single-origin server that serves both the API and the frontend, so there's zero CORS/proxy setup. Frontend: A lightweight TypeScript app with a hash router, built around a calm, minimal aesthetic where agent activity always reads like a plain English sentence.

AI: Anthropic's Claude Sonnet 4.6 powers the agents through a single choke-point LLM module. We lean on forced tool calls for reliable structured output (syllabus extraction, calendar parsing) and plain completions for narrative tasks (briefs, emails, grades). A strict division of labour: the LLM handles language and judgment; deterministic code handles anything that must be correct. Grades are computed by code, not the model. Backward scheduling is code. The model never invents a number or a link.

Privacy by design: sensitive fields like grades and email content are encrypted at rest, and the whole app degrades gracefully — pull the API key and every agent falls back to deterministic behaviour instead of breaking.

Live integrations: Canvas LMS (auto-import courses and grades), with scaffolding for Ed Discussion, Google Calendar, and email via Canvas.

Challenges we ran into

Trust boundaries. An agent that emails your professor or writes to your calendar is terrifying if it acts on its own. We made a hard architectural rule: agents draft and propose, humans confirm and send. The email agent literally cannot send unless you explicitly tell it to.

Keeping the AI in its lane. Early on, the model would happily "compute" a grade — and sometimes get it wrong. We redesigned so the LLM only ever narrates numbers that deterministic code produced.

No embeddings endpoint. The Anthropic API doesn't offer embeddings, so for the FAQ's retrieval we built a fully-offline, deterministic bag-of-words hashing embedder — RAG with zero external dependencies.

Graceful degradation. Making every single agent work without an API key (so a demo never hard-fails) meant writing a deterministic fallback for each one.

Accomplishments that we're proud of

Three working agents, each genuinely useful on its own, sharing one clean data backbone. An LLM architecture where the model never touches anything that has to be correct — so we get AI flexibility without AI unreliability.

A setup flow that gets a student from "never seen this" to "active agent" in under two minutes. It actually feels calm. The dashboard makes coursework feel handled.

What we learned

The best place for an LLM in a high-stakes workflow is often narrow: parsing messy human input into structure, and turning structured data back into friendly language — with deterministic code owning everything in between. That boundary is what makes the agents feel trustworthy instead of scary.

What's next for Uni Pilot

Fully wire the collective-intelligence layer so cross-student answers surface automatically. An agent marketplace where students publish agents for their own courses. Proactive nudges — the brief that messages you when something's about to slip.

Share this project:

Updates