~/projects/mvhs-nexus

SOFTWARE2026

MVHS Nexus

A collaborative web platform for high school students providing class schedules, per-class workspaces, direct messaging, and read-only sync with the school's Canvas LMS.

ROLE
Backend, database schema, authentication, and OCR/Canvas integration
TIMELINE
Jul 2026 – Aug 2026
TEAM
2 people
CONTEXT
Personal project
[COVER · SCREENSHOT OR LOOPING DEMO VIDEO · 16:9]
4user permission roles

Overview

MVHS Nexus is a student-built web platform for a high school, providing class schedules, per-class workspaces, direct and group messaging, and read-only syncing with the school’s Canvas LMS. Students in the same class share one workspace regardless of which period or section they’re in.

Features

  • OCR-based schedule scanning with a human review step before saving to the database
  • Class workspaces grouped by subject and teacher, combining every section into one shared space
  • Real-time class chat, direct messages, and user-created group chats
  • Read-only Canvas LMS sync — announcements, assignments, and modules — via a per-student API token
  • Crowdsourced assignment entries to cover classes where teachers don’t use Canvas
  • Real-time “who’s studying” status toggles
  • Drag-and-drop, resizable dashboard widgets with per-tab customization
  • Shared resource vault, boards, and calendar per class
  • Installable as a progressive web app with offline support

How it works

The app is a monorepo pairing a Next.js frontend, which talks directly to Supabase for auth, database access, and realtime updates, with a FastAPI service that handles two background jobs: OCR-based schedule parsing (Tesseract plus fuzzy matching against a master course list) and polling the Canvas REST API on each student’s behalf. Supabase Realtime drives live chat, DMs, and status updates without a separate WebSocket server, and Postgres row-level security policies enforce per-role permissions at the database layer.