This Chrome extension allows users to upload solved coding problems from LeetCode and GeeksforGeeks directly to GitHub. It's a productivity tool for students and developers who want to automatically organize their coding practice in GitHub repositories.
- ✅ Extracts the problem title, code, and language.
- ✅ Supports LeetCode and GeeksforGeeks platforms.
- ✅ Automatically creates a structured folder format on GitHub:
solutions/YYYY/MMMM/DD/problem-title.ext. - ✅ Uses a fine-grained GitHub token for secure API access.
- ✅ Floating draggable button for triggering uploads.
- ✅ Saves GitHub credentials locally for convenience.
.
├── manifest.json # Chrome extension manifest (v3)
├── popup.html # UI for GitHub configuration
├── popup.css # Styling for the popup
├── popup.js # Logic for saving GitHub credentials
├── background.js # Handles API requests and uploads code to GitHub
├── content.js # Injected into problem pages to scrape and trigger uploadBefore using this extension, create a GitHub repository where all your solved problems will be uploaded.
- Go to GitHub Tokens Settings.
- Click on "Generate new token (fine-grained)".
- Set the repository access to your newly created repo.
- Under "Permissions", allow
Contents: Read and Write. - Copy the token and store it somewhere safe.
- Open
chrome://extensions/ - Enable Developer mode (top-right corner).
- Click "Load unpacked".
- Select the folder containing this project (
manifest.jsonshould be inside).
- Click on the extension icon.
- Fill in your GitHub username, repository name, and fine-grained token.
- Click Save Data.
- Visit a problem page on LeetCode or GeeksforGeeks.
- A "Upload to GitHub" button will appear.
- Click the button after solving a problem — it will upload your code to your repo.
Your solutions will be pushed in this format:
solutions/
└── 2025/june/26/
└── two-sum.cpp
- JavaScript (Vanilla)
- Chrome Extensions API (Manifest V3)
- GitHub REST API
- Local Chrome Storage
"permissions": [
"storage",
"identity",
"scripting",
"alarms"
]- Your GitHub token is stored locally only (in
chrome.storage.local). - The extension does not transmit your token to any server except GitHub API.
Made with ❤️ for developers who want to automate and organize their practice smartly.
