#
AlgorithmAce: AI-Powered LeetCode Companion 🚀
Enhance your LeetCode experience with AI assistance, friend comparisons, and daily problem notifications
⭐ Star on GitHub |
Live Demo: https://algorithmace.0xarchit.is-a.dev
#
🌟 Overview
AlgorithmAce is a production-ready Chrome Extension (Manifest V3) that supercharges your LeetCode journey with:
- 🤖 AI-powered explanations for problem-solving logic
- 👥 Friend comparisons to track progress with peers
- 📅 Daily notifications with Problem of the Day
- 🔔 Smart reminders and motivational messages
- ⭐ GitHub star gating for premium features
Built with React, TypeScript, and Tailwind CSS, AlgorithmAce provides a sleek, modern interface. Core features (AI chat, problem search, stats) run locally in the extension; GitHub OAuth and star verification are handled securely by a minimal Cloudflare Worker backend.
Tip
For first‑time users, start with Releases (CRX/ZIP) to try AlgorithmAce quickly. Developers can use the source install below.
#
✨ Features
#
1. 🧩 LeetCode Integration
- Problem of the Day (POTD): Automatically fetch and display the daily coding challenge
- User Stats Dashboard: View your solving stats, ranking, streak, and active days
- Problem Search: Search by keyword, difficulty, or topic tags
- Smart Caching: Efficient data caching using
chrome.storage.local
#
2. 👥 Friend Comparison
- Multi-User Tracking: Add multiple LeetCode usernames to compare
- Visual Analytics: Beautiful radar charts showing comparative stats
- Real-time Stats: Easy/Medium/Hard problems solved, streaks, and more
- Persistent Storage: Friends list synced across devices via
chrome.storage.sync
#
3. 🤖 AI Assistant Panel
- Multi-Provider Support: Choose from Gemini and OpenAI‑compatible providers (OpenAI, Groq, etc.), or set a custom base URL
- Logic-Focused: Get explanations without code (promotes learning)
- Custom Prompts: Tailor the AI behavior to your learning style
- Chat History: Maintains conversation context per problem
- API Key Validation: Built-in verification system
#
4. 🪄 GitHub Star Gating
- Premium Feature Lock: AI and friend comparison require GitHub star
- Automatic Verification: Hourly checks using GitHub REST API
- Smooth UX: Non-intrusive modal with easy verification flow
- Star Count Display: Shows repo popularity
#
5. 🔔 Notifications & Engagement
- Daily POTD Alerts: Get notified at 9 AM every day
- Motivational Quotes: Random coding inspiration with each notification
- Click-to-Solve: Notifications link directly to LeetCode problems
- Smart Reminders: Periodic GitHub star reminders (max 1/day)
#
6. ⚙️ Comprehensive Settings
- Profile Configuration: Set your LeetCode username
- AI Configuration: Manage provider, API keys, models, and prompts
- Friend Management: Add/remove friends easily
- GitHub Verification: Link and verify your GitHub account
#
👁️ Preview
#
🛠️ Tech Stack
#
📦 Installation
#
Option A: Install from Releases (CRX / ZIP)
The easiest way to try AlgorithmAce without building locally is via GitHub Releases:
- Go to the latest release: https://github.com/0xarchit/AlgorithmAce/releases
- Download one of the assets:
- CRX:
AlgorithmAce.crx(drag-and-drop install) - ZIP:
AlgorithmAce-dist.zip(unzip and Load unpacked)
- CRX:
CRX install (Chrome/Edge):
- Open
chrome://extensions/(oredge://extensions/on Edge) - Enable “Developer mode” (top-right)
- Drag the downloaded
AlgorithmAce.crxonto the page to install
Notes:
- If Chrome blocks the CRX due to security policy, use the ZIP method below.
- Manually installed CRXs don’t auto-update. Check Releases for updates.
Note
Side‑loaded CRX installs may be blocked by enterprise policies. Use ZIP (Load unpacked) if CRX fails.
ZIP install (Load unpacked):
- Unzip
AlgorithmAce-dist.zip - Open
chrome://extensions/and enable “Developer mode” - Click “Load unpacked” and select the unzipped
distfolder
#
Option B: Install from Source
Prerequisites
- Node.js 18+ and npm/yarn/pnpm
- Google Chrome browser
- A GitHub account (for premium features)
#
Install from Source
Clone the repository
git clone https://github.com/0xarchit/AlgorithmAce.git cd AlgorithmAceInstall dependencies
npm installBuild the extension
npm run buildLoad in Chrome
- Open Chrome and go to
chrome://extensions/ - Enable "Developer mode" (toggle in top-right)
- Click "Load unpacked"
- Select the
distfolder from the project
- Open Chrome and go to
Pin the extension
- Click the puzzle icon in Chrome toolbar
- Find "AlgorithmAce" and pin it
#
🔧 Development
#
Development Mode
Run the extension in development mode with hot reload:
npm run dev
Then load the extension from the dist folder as described above (Load unpacked).
#
Project Structure
AlgorithmAce/
├── public/
│ ├── manifest.json # Chrome extension manifest
│ └── icons/ # Extension icons (16, 48, 128)
├── src/
│ ├── background/
│ │ └── background.ts # Service worker for alarms & notifications
│ ├── services/
│ │ ├── leetcode.service.ts # LeetCode GraphQL API
│ │ ├── github.service.ts # GitHub REST API
│ │ └── ai.service.ts # Multi-provider AI service
│ └── popup/
│ ├── components/
│ │ ├── Dashboard.tsx
│ │ ├── FriendComparison.tsx
│ │ ├── AIAssistant.tsx
│ │ ├── Settings.tsx
│ │ └── GitHubStarModal.tsx
│ ├── App.tsx
│ ├── main.tsx
│ └── index.css
├── popup.html
├── vite.config.ts
├── tailwind.config.js
├── tsconfig.json
└── package.json
#
Build for Production
npm run build
The production-ready extension will be in the dist folder.
#
⚙️ Configuration
#
1. Profile Setup
- Click the extension icon
- Go to Settings → Profile
- Enter your LeetCode username
- Click "Save Profile Settings"
#
2. AI Configuration
- Go to Settings → AI Config
- Select your AI provider (Gemini, OpenAI‑compatible like OpenAI or Groq, or Other for a custom base URL)
- Enter your API key
- Click "Check" to verify the key
- Customize the model and prompt (optional)
- Click "Save AI Configuration"
#
Getting API Keys
- Gemini: Google AI Studio
- OpenAI: OpenAI Platform
- Groq: Groq Console
#
3. GitHub Verification
- Go to Settings → GitHub
- Enter your GitHub username
- Click "Star on GitHub" button
- Star the AlgorithmAce repository
- Return to extension and click "Verify Star"
#
📱 Usage
#
Dashboard
- View today's Problem of the Day
- Check your LeetCode stats and progress
- Quick access to solve POTD
#
Friend Comparison
- Add friends' LeetCode usernames
- View comparative stats in a radar chart
- Track who's solving more problems
#
AI Assistant
- Ask questions about problem logic
- Get reasoning without actual code
- Learn problem-solving patterns
- Maintain conversation context
#
Settings
- Configure all extension preferences
- Manage AI providers and keys
- Verify GitHub star status
- Add/remove friends
#
🔐 Privacy & Security
- ✅ Local-first: Chat history and configuration are stored locally in your browser
- ✅ AI Keys: Stored securely in
chrome.storage.sync(encrypted at rest by Chrome) - ✅ Secure GitHub OAuth: Sign-in and star verification run via our Cloudflare Worker backend (
git-auth.0xarchit.is-a.dev). Your GitHub access token remains on the server; the extension only stores a short‑lived JWT. Tokens can be revoked server‑side. - ✅ Minimal Permissions: Only the Chrome APIs necessary for core features
- ✅ No Analytics by Default: Completely opt‑in if added later
- ✅ Open Source: Full transparency of code and Worker implementation
#
🤝 Contributing
Contributions are welcome! Please follow these steps:
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
#
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
#
🙏 Acknowledgments
- LeetCode for the amazing platform
- Lucide for beautiful icons
- Tailwind CSS for utility-first CSS
- Chart.js for data visualization
#
📧 Support
- 🐛 Report Issues
- 💬 Discussions
- 📦 Releases
- ⭐ Don't forget to star the repo!
Made with ❤️ by 0xArchit