An all-in-one Chrome extension that automatically syncs your accepted competitive programming solutions to GitHub and keeps your DSA repository meticulously organized.
PushHub is a Chrome extension built to eliminate friction for developers preparing for coding interviews and competitive programming.
It connects major coding platforms directly with GitHub and automates the repetitive, manual chores of maintaining a Data Structures and Algorithms repository.
Instead of manually:
- Copying accepted code across tabs
- Creating topic directories
- Naming files and matching extensions
- Pasting problem links and problem statements
- Organizing problems by category
- Writing solution documentation
- Tracking streaks across fragmented platforms
PushHub handles it all behind the scenes.
Solve Problem โโโบ Get Accepted โโโบ Sync with One Click โโโบ Structured GitHub Repo
๐ฏ Why PushHub? Competitive programmers often solve problems across LeetCode, GeeksforGeeks, CodeChef, Codeforces, and HackerRank. However, keeping a clean, showcase-ready GitHub repository usually turns into a chore that interrupts your problem-solving flow.
PushHub bridges that gap.
The Manual Grind vs. PushHub
Without PushHub With PushHub
โโโโโโโโโโโโโโโ โโโโโโโโโโโโ
Solve Problem Solve Problem
โ โ
Submit Submit
โ โ
Copy Code Accepted โ
โ โ
Open GitHub Sync to GitHub ๐
โ โ
Find Repository Done (Clean & Organized!)
โ
Create Folder
โ
Create File
โ
Rename File
โ
Add Problem Link
โ
Repeat hundreds of times...
The goal is simple: Spend more time mastering algorithms, and zero time managing files.
| Platform | Accepted Detection | Automated GitHub Sync |
|---|---|---|
| ๐ LeetCode | โ | โ |
| ๐ข GeeksforGeeks | โ | โ |
| ๐ฉ HackerRank | โ | โ |
| ๐ค CodeChef | โ | โ |
| ๐ Codeforces | โ | โ |
๐ One-Click GitHub Synchronization After submitting and receiving an accepted verdict, PushHub triggers a seamless sync action to push the clean solution directly into your designated repository.
Accepted Submission โโโบ "Sync to GitHub" โโโบ GitHub Repository
๐ค Automatic Solution Extraction PushHub intercepts and extracts metadata accurately from the page DOM and network events:
Problem title and problem ID Target programming language Final submitted source code Source platform tag Direct problem URL Topic tags and categories
๐๏ธ Automatic Topic-Based Organization
Instead of dumping every single file into the root folder, PushHub arranges problems into dedicated DSA topic categories.
๐ง Topic Classification Categories
Whenever platform tags are available, PushHub maps the problem into one of the following curated DSA categories: Data Structures: Array, String, Linked List, Stack, Queue, Tree, Binary Tree, Binary Search Tree, Heap, Matrix Algorithms & Techniques: Dynamic Programming, Greedy, Recursion, Backtracking, Hashing, Sorting, Searching, Bit Manipulation, Mathematics, Sliding Window, Two Pointer, Prefix Sum Fallback: Other/ (ensures zero misplaced solutions when category tags are ambiguous)
๐ Standardized Problem Layout Every synced problem receives its own dedicated directory with clean file naming and auto-generated documentation:
Topic/
โโโ ProblemIdentifier-ProblemName/
โโโ ProblemIdentifier-ProblemName.ext-(platform)
โโโ README.md
๐ DSA Progress Dashboard & Streak Tracking PushHub includes an integrated overview dashboard built right into the extension popup.
Metrics Tracked: Total Problems Solved Platform Breakdown: LeetCode, GeeksforGeeks, HackerRank, CodeChef, Codeforces Current Solving Streak: Consecutive days actively solving problems Best Solving Streak: Longest recorded active solving streak
Don't just solve more. Solve consistently.๐ GitHub Integration & Security PushHub connects directly via GitHub OAuth, following secure authorization best practices.
Authorization Workflow:
โโโโโโโโโโโโโโโโโ
โ PushHub โ
โโโโโโโโโฌโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโ
โ GitHub OAuth โ
โโโโโโโโโฌโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโ
โ User Confirms โ
โโโโโโโโโฌโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโ
โ Select / Link โ
โ DSA Repositoryโ
โโโโโโโโโฌโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโ
โ Sync Solution โ
โโโโโโโโโโโโโโโโโ
Architecture Separation: PushHub keeps the extension engine distinct from your personal DSA portfolio:
PushHub Project Repository: Contains the Chrome extension code, Node.js backend, bridge scripts, and extension assets.
Your Personal DSA Repository: The destination repository where your solutions, markdown notes, and topic directories live.
๐งฉ How PushHub Works
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Coding & Contest Platforms โ
โ LeetCode โ GeeksforGeeks โ HackerRank โ CC โ CF โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโ
โ Accepted Detection โ
โโโโโโโโโโโโฌโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโ
โ Solution Extraction โ
โโโโโโโโโโโโฌโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโ
โ Problem Metadata & โ
โ Classification โ
โโโโโโโโโโโโฌโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโ
โ PushHub Backend โ
โ & GitHub API โ
โโโโโโโโโโโโฌโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโ
โ Organized GitHub โ
โ DSA Repository โ
โโโโโโโโโโโโโโโโโโโโโโโ
PushHub/
โ
โโโ assets/
โ โโโ codechef.png
โ โโโ codeforces.png
โ โโโ gfg.png
โ โโโ github.png
โ โโโ hackerrank.png
โ โโโ leetcode.png
โ โโโ pushhub-logo.png
โ
โโโ github/
โ โโโ auth.js
โ
โโโ platforms/
โ โโโ leetcode.js
โ โโโ gfg.js
โ โโโ gfg-bridge.js
โ โโโ hackerrank.js
โ โโโ hackerrank-bridge.js
โ โโโ codechef.js
โ โโโ codechef-bridge.js
โ โโโ codeforces.js
โ โโโ codeforces-bridge.js
โ
โโโ popup/
โ โโโ popup.html
โ โโโ popup.css
โ โโโ popup.js
โ
โโโ screenshots/
โ โโโ dashboard-top.png
โ โโโ dashboard-bottom.png
โ โโโ sync-button.png
โ โโโ sync-success.png
โ โโโ github-organization.png
โ
โโโ server/
โ โโโ server.js
โ โโโ package.json
โ โโโ package-lock.json
โ โโโ .env
โ
โโโ background.js
โโโ manifest.json
โโโ README.md
Extension Framework: Chrome Extension API (Manifest V3)
Frontend / Popup: JavaScript (ES6+), HTML5, CSS3
Backend: Node.js, Express.js
Authentication: GitHub OAuth 2.0
APIs & Storage: GitHub REST API, Chrome Storage API
Scraping & Injection: Content Scripts, DOM Mutation Observers, Platform Bridge Injectors
Prerequisites Node.js (v16 or higher)
Google Chrome or any Chromium-based browser
A registered GitHub OAuth Application
- Clone the Repository
git clone https://github.com/Khushii75/PushHub.git cd PushHub
- Set Up the OAuth Backend
cd server npm install
Create a .env file inside the server/ directory: PORT=5000 GITHUB_CLIENT_ID=your_github_client_id GITHUB_CLIENT_SECRET=your_github_client_secret
Start the server: npm start
-
Load the Extension into Chrome
-
Open Chrome and navigate to
chrome://extensions/. -
Toggle on Developer mode in the top right corner.
-
Click Load unpacked in the top left corner.
-
Select the root
PushHubfolder. -
Pin PushHub to your browser toolbar.
-
Click the extension icon, connect your GitHub account, and select your destination DSA repository.
No Passwords Stored: PushHub utilizes official GitHub OAuth workflows; your raw GitHub password is never requested or stored. Environment Isolation: The OAuth client secret remains securely on the backend server and is never committed to version control. Minimal Scopes: Requests only the permissions necessary to manage files in your authorized repository.
[ ] Chrome Web Store official publication [ ] Support for Codeforces Gym and AtCoder [ ] Custom user directory mapping (configure folder names per topic) [ ] Multi-language solution versioning (grouping Python, C++, and Java under one problem folder) [ ] In-depth analytics: problem difficulty distributions (Easy, Medium, Hard) [ ] Automated daily streak reminders and browser notifications
Contributions are always welcome! If you have suggestions or improvements:
Fork the Project Create your 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
Khushi Kunwar kunwarkhushi75@gmail.com
Building tools to make DSA practice, algorithmic mastery, and GitHub tracking effortless.


