Automatically sync your LeetCode & NeetCode solutions to GitHub with a built-in spaced repetition review system.
- โ LeetCode (leetcode.com, leetcode.cn)
- โ NeetCode (neetcode.io)
- ๐ More platforms coming soon!
- Detects successful submissions automatically (100% test cases passed)
- Syncs code and problem descriptions to GitHub
- Creates organized folder structure (
problem-slug/) - Preserves all metadata (difficulty, tags, language, platform)
- Smart README updates (skips if difficulty unknown and folder exists)
- Built-in review scheduler
- Helps you retain problem-solving patterns
- Smart intervals based on SuperMemo SM-2 algorithm
- Only syncs 100% passed solutions
- 3-second delay before detection (avoids false positives)
- Badge notification for sync status (โ success, โ error)
- Platform detection in popup
- Minimal permissions required
- Visit the Chrome Web Store (link coming soon)
- Click "Add to Chrome"
- Follow the setup instructions
-
Clone this repository:
git clone https://github.com/yjaw/leetcommit.git cd leetcommit -
Open Chrome and navigate to
chrome://extensions/ -
Enable "Developer mode" (toggle in top right)
-
Click "Load unpacked" and select the
leetcommitfolder
- Go to GitHub Settings โ Developer settings โ Personal access tokens โ Tokens (classic)
- Click "Generate new token (classic)"
- Give it a name (e.g., "LeetCommit")
- Select scope:
repo(Full control of private repositories) - Click "Generate token"
- Copy the token (you won't see it again!)
- Click the LeetCommit icon in your Chrome toolbar
- Click on the status card to open settings
- Paste your GitHub Personal Access Token
- Enter your repository name (format:
username/repo) - Click "Connect GitHub"
- Go to LeetCode or NeetCode
- Solve a problem
- Submit your solution
- Wait for 100% test cases to pass
- See the green โ badge on the extension icon
- Check your GitHub repo!
Your GitHub repository will be organized like this:
your-repo/
โโโ two-sum/
โ โโโ README.md # Problem description with badges
โ โโโ two-sum.py # Your solution
โโโ add-two-numbers/
โ โโโ README.md
โ โโโ add-two-numbers.js
โโโ ...
# [1. Two Sum](https://leetcode.com/problems/two-sum/)
 
Given an array of integers nums and an integer target...Just solve problems normally! The extension will:
- Detect when you click "Submit"
- Wait 3 seconds
- Check if 100% test cases passed
- Sync to GitHub automatically
- Show a badge (โ or โ) for 5 seconds
Open the browser console on a problem page and run:
leetcommitManualTrigger()- Click "View Reviews" in the popup
- See your scheduled reviews
- Click on a problem to review it
- Rate your recall (Easy/Good/Hard)
- System adjusts next review interval
See DEBUG.md for detailed debugging instructions.
Quick tips:
- Content Script Console: Right-click page โ Inspect โ Console
- Service Worker Console: chrome://extensions โ LeetCommit โ Service worker
- Popup Console: Right-click popup โ Inspect
submission_observer_lc.js- LeetCode detectionsubmission_observer_nc.js- NeetCode detection
github_client.js- GitHub API integration, sync logic
popup.html/js- Configuration UI
review.html/js- Spaced repetition review system
See docs/multi_platform_architecture.md for more details.
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a PR
See docs/multi_platform_architecture.md for instructions.
LeetCommit respects your privacy:
- โ No data collection
- โ No analytics
- โ No external servers
- โ All data stored locally
- โ Direct sync to YOUR GitHub
See PRIVACY_POLICY.md for full details.
MIT License - see LICENSE file for details.
- Inspired by the coding community's need for better solution tracking
- Built with love for interview preparation
- ๐ Bug Reports: Open an issue
- ๐ก Feature Requests: Open an issue
- ๐ง Email: [Your Email]
- Support for more platforms (HackerRank, CodeForces, etc.)
- Statistics dashboard
- Export to PDF
- Team collaboration features
- VS Code extension
Made with โค๏ธ for the coding community
โญ Star this repo if you find it helpful!