A Chrome extension for practicing Data Structures & Algorithms. Generates original interview-style questions and intuition-first explanations via either OpenAI GPT or Anthropic Claude — bring your own API key and switch providers any time.
Manifest V3 · no build step · vanilla JS.
Coming soon — link will be added after first review approval.
chrome://extensions and toggle Developer mode on.manifest.json).If no key is configured the popup still works against a small offline question bank.
Keys are stored in chrome.storage.sync. Only the active provider’s key is
ever sent, and only to that provider’s API.
manifest.json
background/service-worker.js all API traffic goes through here
popup/ 400x600 popup UI
options/ settings page (provider + keys + defaults)
lib/
ai-provider.js routes to the active provider
gpt-client.js OpenAI wrapper
claude-client.js Anthropic wrapper
question-bank.js offline fallback questions + intuitions
utils/
constants.js topics, models, endpoints, temperatures
prompts.js single source of truth for prompts
storage.js chrome.storage helpers
assets/
icons/ extension icons (16, 48, 128 px)
styles/global.css shared CSS tokens + dark-mode
No servers, no analytics, no telemetry. Settings and keys live in your browser. Prompt content goes directly from your browser to the provider you selected. Full detail in PRIVACY.md.
anthropic-dangerous-direct-browser-access: true
— required when calling api.anthropic.com from an MV3 extension.utils/prompts.js; both
clients wrap the same text into their own request shape.DEBUG in utils/constants.js to log requests/responses in the
service-worker console.MIT.