A Chrome extension designed for AP students that automatically analyzes multiple-choice questions on College Board AP Classroom using Chrome's built-in Gemini Nano AI. It identifies student misconceptions and provides Socratic guidance to help students self-correct their errors.
- Subject Detection: Automatically identifies 13 AP subjects, AI uses subject-specific terminology and frameworks
- Misconception Identification: Deep analysis based on College Board official explanations (A-D options)
- Socratic Guidance: Guides students to think independently rather than giving direct answers
- LaTeX Rendering: Perfect display of mathematical formulas and physics symbols
- Smart Deduplication: Automatically merges identical questions and tracks error counts
- Subject Classification: Filter mistakes by AP subject
- One-Click Export: Export as JSON/CSV format
- Local Storage: Data saved locally in browser for privacy
- Feedback System: 👍 👎 feedback on analysis quality
- Community Recommendations: View analyses with high approval ratings (helpful ratio > 60%)
- Auto-Scan: Automatically analyzes when visiting question pages (can be disabled via popup)
- Result Caching: Same questions won't be re-analyzed (1-hour validity)
- Floating Panel: Non-intrusive analysis panel that doesn't interfere with webpage content
This extension supports automatic detection of 13 AP subjects:
| AP Subject ID | Subject Name | Icon |
|---|---|---|
| 7 | AP Chemistry | 🧪 |
| 8 | AP Computer Science A | 💻 |
| 11 | AP Microeconomics | 💹 |
| 13 | AP English Literature and Composition | 📖 |
| 26 | AP Calculus BC | ∑ |
| 29 | AP Physics C: Mechanics | 🧲 |
| 30 | AP Psychology | 🧠 |
| 33 | AP Statistics | ∑ |
| 78 | AP Physics C: Electricity and Magnetism | 🧲 |
| 93 | AP Physics 2 | 🧲 |
| 94 | AP Seminar | 📖 |
| 103 | AP Computer Science Principles | 💻 |
| 117 | AP Precalculus | ∑ |
Subject detection is based on AP Classroom URL (e.g., apclassroom.collegeboard.org/93/... corresponds to AP Physics 2)
- Chrome Browser Version: 138 or higher
- Enable Gemini Nano:
- Visit
chrome://flags - Search for "Prompt API for Gemini Nano"
- Set to "Enabled"
- Restart browser
- Visit
- Download or clone this repository
- Open
chrome://extensions/ - Enable "Developer mode" in the top right
- Click "Load unpacked extension"
- Select the
dist/folder - Extension installed!
The extension works perfectly without any configuration. However, if you want to enable cloud sync features (recommended analyses, user feedback statistics), you can configure Supabase:
- See SETUP_SUPABASE.md for detailed instructions
- Copy
supabase-config.example.jstosupabase-config.jsand fill in your credentials - Run
npm run buildto rebuild the extension
Note: Without Supabase configuration, the extension runs in local-only mode with all core features available.
- Visit an AP Classroom question page (e.g.,
apclassroom.collegeboard.org/93/...) - Extension automatically detects subject, extracts question, and calls AI analysis
- Floating panel displays analysis results:
- Subject icon (e.g., 🧲 AP Physics 2)
- Misconception diagnosis
- Feedback buttons (👍 👎)
- Save button (☆ Save)
- Click extension icon to open popup
- Turn off "Auto-scan" toggle
- Visit question page, then click "Analyze Current Question" button
- Click extension icon to open popup
- Click "View Misconceptions"
- View all saved mistakes in a new tab
- Filter by subject, export, or delete
┌──────────────────────────────────────┐
│ 🧲 AP Physics 2 − ↻ × │
├──────────────────────────────────────┤
│ 💡 Misconception Identified │
│ │
│ If the magnet were removed, the │
│ paper clip would no longer attract │
│ others, so the clip is only │
│ temporarily magnetized rather than │
│ a permanent magnet. │
│ │
│ 👍 👎 ☆ Save │
└──────────────────────────────────────┘
- ✅ Local AI: Uses Chrome's built-in Gemini Nano, all analysis done locally on device
- ✅ No Network Requests: Core functionality doesn't depend on external servers
- ✅ Local Data: Misconception bank stored locally in browser (
chrome.storage.local) - ✅ Anonymous Feedback: Supabase only stores URL hashes (SHA-256), not original URLs
# Install dependencies
npm install
# Build extension (outputs to dist/)
npm run build- Open
chrome://extensions/ - Find "Question Analyzer" → Click "background page"
- View
[AI Prompt]collapsed logs in Console - Verify subject detection and A-D explanation extraction
- ARCHITECTURE.md - System architecture (detailed AI processing pipeline)
- TECHNICAL_DOCS.md - Technical documentation (detailed prompt engineering)
- CODE_STRUCTURE.md - Code structure (AI-related files highlighted)
Issues and Pull Requests are welcome!
Apache 2.0