finds.dev← search

// the find

piyushgarg-dev/leetcode-whisper-chrome-extension

★ 236 · TypeScript · updated Nov 2024

A Chrome extension that injects an AI chat panel into LeetCode problem pages, letting you ask questions about the current problem without leaving the tab. It supports OpenAI (GPT-3.5, GPT-4) and Gemini 1.5 Pro, stores conversation history in IndexedDB, and keeps your API key in Chrome storage. Aimed at developers who want hints or explanations mid-session rather than switching to ChatGPT.

The model abstraction in src/modals/ is clean — adding a new LLM is a matter of implementing BaseModal.ts, which is the right call for a repo that started with two providers. Using IndexedDB for chat history is sensible for a browser extension; it survives page reloads and doesn't need a backend. The content script injection approach (src/content/content.tsx) is straightforward and the util.ts for scraping problem text from the DOM is a reasonable separation of concerns.

The README is the Vite template default — completely untouched. There are zero instructions for installation, no screenshots, no explanation of what the extension actually does. Someone hitting this cold has no idea what they're looking at until they dig through the code. The background script (src/background.js) is a plain .js file in an otherwise TypeScript codebase, which means it has no type safety and will quietly break if the message contract changes. Last commit was November 2024 and it's missing Claude and newer GPT-4o models, so you'd need to fork it to use anything current. Storing API keys directly in chrome.storage.local is fine for personal use but the extension has no warning about this, which will bite anyone who loads it on a shared machine.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →