Inspiration

Who it's for: every student and teacher on Canvas. Why I built it: I have ADHD, and when all my classes move at a fast pace, it's hard to keep track of everything happening at once.

Canvas has everything a student needs, but it's a filing cabinet, not an assistant. A deadline buried in a module, an announcement that moves a quiz, a professor's message offering a second chance: it's all there, and it's easy to miss. Writing a "professional" email to a professor can feel harder than the assignment itself.

I wanted an assistant that already knows your semester, one you can just ask: "What should I work on tonight?"

What it does

Students sign in with their school's Canvas login, and Cuss takes it from there:

  • What matters, at a glance. A Today view shows what's due, missing work, grades and new messages. Reminders go out before anything unsubmitted is due.
  • Your inbox, handled. Cuss summarizes what professors need from you and drafts replies. It checks for new replies about every minute and alerts you.
  • Emails to professors. Ask "email my bio professor about office hours" and Cuss finds the right instructor and drafts a polite, specific message. Nothing sends until you press Send.
  • Study from your real course files. Cuss reads your actual pages and files (PDF slides with diagrams, PowerPoint with speaker notes, Word documents) and builds practice quizzes and flashcards from them.
  • Every class organized. Each class has its own files and notes, plus readings like "chapter 4 is due next class" even when they aren't Canvas assignments, with reminders.
  • Calendar and Reminders. Subscribe to a private calendar feed of deadlines and readings, and share any item to iPhone Reminders.
  • Voice mode. Talk to Cuss instead of typing.
  • It shows its work. Every step appears live ("Checked deadlines ✓", "Read 'Lecture 15' ✓"), so you can see where answers come from.
  • Cuss for Professors. The same login switches to professor mode: who's falling behind, what needs grading, reply drafts, and announcements the professor approves before posting.

It installs like an app: open the link on your phone and tap Add to Home Screen.

Claude for Public Benefit

  1. Community: Cuss is for every student. For this track, the community I'm starting with is students with ADHD and other disabilities at SF State, for whom keeping track of fast-moving classes is hardest.
  2. The problem I live with: I have ADHD. When all my classes move at a fast pace, it's hard to keep track of everything happening at once.
  3. Measuring impact: the app already counts, anonymously, missing assignments over time, reminders generated, emails and replies actually sent, and practice quiz scores (live at /impact). Proposed pilot: 20–30 SF State students, including students with ADHD and other disabilities, for 4 weeks, with before and after surveys on deadline stress, feeling on top of classes and confidence emailing professors. On-time submission outcomes are planned for the pilot.
  4. Use of Claude: Claude runs the product as an agent that decides which Canvas data to fetch, reads course PDFs natively, drafts emails in the student's voice and builds quizzes from their own material, with every step shown. Cuss was also built with Claude Code during the hackathon.

Where Claude could go wrong, and what I built

  • Made-up deadlines or facts: Cuss is instructed to fetch course information with Canvas tools and shows every step, so students can see the source. Important dates should still be checked in Canvas.
  • A wrong email: messages are drafts by default. Sending right away requires both an auto-send opt-in and an explicit request, and a draft is delivered only once, even if Send is pressed repeatedly.
  • Academic integrity: Claude is instructed to teach and quiz, and to refuse graded work or live exams.
  • Privacy: Claude sees only what the student can already see in Canvas. Tokens are encrypted, and students can delete their data and revoke access anytime. Professors' student data is never shown to other students.
  • Cost and abuse: per-student and overall daily AI request limits, shared by chats and daily briefings.

How I built it

  • Backend: Node.js and Express. Sign-in uses Canvas OAuth2 through the school's own login page, so Cuss never sees a password.
  • AI agent: Claude with tool use over the Canvas REST API: planner, missing work, announcements, modules, pages, files, instructors, the Canvas Inbox, and roster and grading data for professors. Claude chooses the tools, and every step streams to the browser.
  • Interactive cards: tools like make_quiz, draft_email and draft_reply return structured data that the app shows as quizzes, flashcards and editable email drafts.
  • Demo University: a built-in mock Canvas that speaks the same OAuth2 and REST API as real Canvas, so anyone can try it without a school account and no real student data is shown.
  • Frontend: vanilla JavaScript, HTML and CSS with an Apple-style, accessible design (light and dark mode, keyboard and screen-reader support), installable as a web app. Voice uses the browser's Web Speech API.
  • Quality: 45 automated tests run on every push. Hosted on Render. Built with Claude Code.

Challenges I ran into

  • Schools lock down Canvas access. SF State disables personal API tokens, so I built proper OAuth2 sign-in plus a full mock Canvas to demo end to end before official approval.
  • Safety with real email. An AI that can message professors needs guardrails: drafts by default, explicit consent to send, and protection against sending the same message twice.
  • Making an agent feel fast and trustworthy: streaming text and showing each step live.
  • Voice on iPhone: Safari stops listening at the first pause, so Cuss keeps every word and waits for a real pause before sending.

Accomplishments that I'm proud of

  • One loop in a single app: what's due → study from real lecture files → ask a professor for help → get alerted when they reply.
  • Quizzes built from the student's actual course material, with the source shown.
  • A professor mode that closes the loop, so struggling students get reached sooner.

What I learned

  • How Canvas's OAuth2, planner, modules and inbox APIs fit together, and why schools gate API access.
  • How to design agent tools so results become real UI, not just text.
  • That trust matters most in student-facing AI: show the steps, cite the material, and never send anything without consent.

What's next for Cuss

  • An SF State pilot once Canvas developer-key approval comes through.
  • A database for reliable storage at scale, and a React frontend.
  • iOS and Android apps with push notifications (a native wrapper scaffold is prepared).
  • More Canvas schools: each school approves Cuss once.

Built With

Share this project:

Updates

Submission history