Skip to content

Repository files navigation

ClassPilot

ClassPilot is a local-first student learning workspace for organizing course materials, class notes, schedules, quizzes, flashcards, and study planning.

Overview

ClassPilot brings daily class workflow and study tools into one browser-based workspace. Students can keep schedules, notes, materials, quiz banks, flashcards, practice attempts, progress, and study plans connected by course while the current MVP keeps data local.

Screenshots

Home — Next Class & Today

Home — Next Class & Today

Notes Workspace

Notes Workspace

Quiz Bank

Quiz Bank

Progress

Progress

Problem

Students often split important learning work across different tools:

  • notes
  • calendars
  • PDFs and transcripts
  • quizzes
  • flashcards
  • study plans

ClassPilot connects those pieces by course so notes taken during class can become review material after class.

Current Status

Active Development - Local-first web MVP

The app runs entirely in the browser with localStorage persistence. No backend, authentication provider, payment service, messaging service, or external AI API is connected in this version.

Implemented Features

  • Courses with local create, edit, search, archive, restore, delete, and active-course selection
  • Class Schedule with recurring meetings, instructor, location, room, weekday, time, semester dates, enable/disable, validation, and duplicate warnings
  • Home dashboard with Next Class, Today schedule, current-class state, after-class note review suggestion, course metrics, and recent activity
  • Class Notes workspace with search, course/date filters, master/detail editor, tags, date/time/location capture, and local persistence
  • Note-to-study workflows: link notes to Materials, generate quiz previews, generate flashcards, and add note review sessions to Study Plan
  • Materials intake for pasted notes, local text files, PDF-like local text extraction, SRT, VTT, pasted transcripts, and YouTube URL metadata with user-provided transcript text
  • Quiz Bank generation from pasted notes or selected materials, including review, approval, archive, practice, print, answer-key mode, and JSON export
  • Flashcards with manual creation, generation from materials or missed questions, due-card study sessions, confidence ratings, and local scheduling
  • Study Plan generation from course test dates, available days, quizzes, flashcards, weak topics, and missed-session rescheduling
  • Progress summary with practice accuracy, weak topics, due flashcards, study completion, print, CSV export, and JSON export
  • Agent Tasks approval queue for local draft suggestions with audit notes
  • Local JSON export/import, reset demo data, settings, demo course data, and legacy question-bank migration

Tech Stack

  • React
  • Vite
  • JavaScript
  • CSS
  • Browser localStorage repository
  • Node-based domain tests

Architecture

ClassPilot is organized as a small local web MVP:

  • src/App.jsx contains the React screens, local UI state, and workflow orchestration.
  • src/domain/classpilot.js contains normalization, migration, generation, validation, scheduling, study-plan, flashcard, and progress logic.
  • src/repositories/localRepository.js contains import/export and localStorage persistence.
  • tests/run-tests.js covers core domain and repository behavior with Node assertions.
  • docs/ contains migration, architecture, privacy, roadmap, and manual test notes.

The local storage schema is versioned. Current data saves to classpilot.snapshot.v3; the repository still reads classpilot.snapshot.v2 and classpilot.questionBanks.v1 so existing local MVP data can migrate without a reset.

Privacy

  • The current prototype is local-first and stores data in the browser.
  • No service secrets are required in the frontend.
  • Do not use real student records, grades, private course documents, private transcripts, or credentials in demo data.
  • Users should only upload or paste course materials they are allowed to use.
  • ClassPilot stores YouTube URL metadata only; it does not scrape or retrieve YouTube transcripts automatically.

Local Setup

npm install
npm run dev

Open the local Vite URL printed in the terminal.

Test / Build

npm test
npm run build

For repeatable manual coverage, use docs/MANUAL_TEST_CHECKLIST.md.

Roadmap

Planned work:

  • Calendar integration
  • Backend sync
  • Authentication and role-based permissions
  • Mobile companion experience
  • Authorized file storage
  • AI generation backend with reviewed teacher/student controls
  • Optional notifications

Why I Built It

I built ClassPilot to explore what happens when the daily rhythm of class is connected to the study tools students already need. The core idea is simple: a class schedule should open into notes, notes should become materials, and materials should become quizzes, flashcards, and a study plan without forcing the student to rebuild context in five separate apps.

License

All Rights Reserved.

About

Local-first student learning workspace for course materials, class notes, schedules, quizzes, flashcards, and study planning.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages