ClassPilot is a local-first student learning workspace for organizing course materials, class notes, schedules, quizzes, flashcards, and study planning.
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.
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.
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.
- 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
- React
- Vite
- JavaScript
- CSS
- Browser
localStoragerepository - Node-based domain tests
ClassPilot is organized as a small local web MVP:
src/App.jsxcontains the React screens, local UI state, and workflow orchestration.src/domain/classpilot.jscontains normalization, migration, generation, validation, scheduling, study-plan, flashcard, and progress logic.src/repositories/localRepository.jscontains import/export andlocalStoragepersistence.tests/run-tests.jscovers 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.
- 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.
npm install
npm run devOpen the local Vite URL printed in the terminal.
npm test
npm run buildFor repeatable manual coverage, use docs/MANUAL_TEST_CHECKLIST.md.
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
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.
All Rights Reserved.



