AlgoNest is a Chrome Extension that automatically captures your accepted LeetCode submissions and syncs them to GitHub — fully organized, documented, and version-controlled with zero manual git commands.
- ⚡ Auto-detect submissions — captures accepted LeetCode solutions in real time
- 📂 Smart organization — classifies problems into topic folders (Arrays, DP, Graphs, etc.)
- 📝 Auto documentation — generates structured markdown for each problem
- 🔁 Version control — handles duplicate submissions (overwrite or versioning)
- 🌙 Silent mode — fully automatic commits without user interaction
- 📊 Progress tracking — maintains stats (topics, difficulty, streaks)
- 🔐 No backend required — uses GitHub REST API directly
-
Solve a problem on LeetCode
-
Submit and get Accepted ✅
-
AlgoNest detects the submission
-
Extracts:
- Code
- Language
- Tags
- Runtime / memory
-
Classifies problem into a topic
-
Generates:
- Solution file
- Markdown explanation
-
Commits everything to your GitHub repo
Frontend (Extension UI): React + Vite + Tailwind CSS
Extension Runtime: Chrome Extension (Manifest V3)
State Management: Zustand
Storage: chrome.storage.local
API Integration: GitHub REST API (v3)
Auth: GitHub PAT (Part 1)
Testing: Vitest + Testing LibraryAlgoNest/
│
├── src/
│ ├── popup/ # React UI for extension popup
│ ├── content/ # Content script (LeetCode detection)
│ ├── background/ # Service worker logic
│ ├── services/ # GitHub + processing logic
│ └── stores/ # Zustand state management
│
├── public/
│ └── manifest.json # Chrome extension config
│
├── dist/ # Built extension (load this in Chrome)
├── package.json
└── vite.config.tsFor now, AlgoNest uses:
👉 GitHub Personal Access Token (PAT)
repo
user:emailOAuth support is planned for future versions.
git clone https://github.com/Krithika1627/AlgoNest.git
cd AlgoNestnpm installnpm run build# Open in browser
chrome://extensions- Enable Developer mode
- Click Load unpacked
- Select the
dist/folder
- Open the extension popup
- Paste your GitHub PAT in the developer option field
- Enter your target repository:
username/leetcode-sub- Connect or create the repo
- Go to LeetCode
- Solve a problem
- Submit solution
- After ~3 seconds:
👉 In normal mode:
- Popup appears → click Save & Commit
👉 In silent mode:
- Auto-commits instantly
- 🧠 Uses MutationObserver + GraphQL intercept to detect submissions
- 🔁 Implements debounce (3s) to avoid duplicate triggers
- 🔐 Uses SHA-256 hashing to prevent duplicate commits
- 📦 Stores data locally via
chrome.storage.local - 🔄 Handles failures with retry logic and offline queue
- ✅ Submission detection
- ✅ GitHub integration (PAT)
- ✅ File generation
⚠️ Repo selection / creation UI (in progress)⚠️ Auto README generation (partial)
- 🔗 Full OAuth flow (with secure backend)
- 📊 Advanced analytics (weak topic detection)
- 🤖 AI-generated explanations
- 🌐 Multi-platform support (Codeforces, AtCoder)
- 🧩 Dashboard UI for tracking progress
Most developers solve DSA problems but don’t maintain a clean, structured repository.
AlgoNest makes it:
- automatic
- organized
- portfolio-ready
Krithika