ClassPilot Mobile is an Expo + React Native companion app for turning lesson notes into quick study practice. The current build is a local-first MVP that has been tested end-to-end on a physical iPhone with Expo Go.
| Home | Lesson |
|---|---|
![]() |
![]() |
| Practice |
|---|
![]() |
The mobile app is intentionally focused on three student-facing screens:
- Home: shows lesson count, generated question count, practice accuracy, the next action, and the latest lesson.
- Lesson: captures subject, lesson title, notes, lesson date, and optional test date.
- Practice: presents generated starter questions, reveals reference answers, and records "Got it" or "Needs review" attempts.
The full teacher/admin question-bank editor remains a separate web workflow.
- Enter lesson notes in the Lesson tab.
- ClassPilot generates a small starter question bank locally from those notes.
- Practice questions in the Practice tab by revealing the answer and rating recall.
- Return to Home to see lesson totals, question totals, practice accuracy, and the latest lesson summary.
Prototype data is stored on the device with AsyncStorage through a repository boundary. The current storage snapshot includes lessons, questions, and practice attempts, and the storage key/data shape should be preserved until the web and mobile data models are reconciled.
AsyncStorage is not encrypted. Do not enter real student names, grades, medical information, credentials, or sensitive school records in this prototype.
- File-based navigation lives in
app/with Home, Lesson, and Practice tabs. - Shared app state is provided through
ClassPilotProvider. - Persistence is isolated behind a repository interface so a future backend can be added without replacing the local prototype first.
- Expo SDK 54
- React Native
- Expo Router
- TypeScript
- AsyncStorage
- Expo Go for iPhone testing
Install dependencies:
npm install

