# CodeHub — Browser Extension > CodeHub is a free, privacy-first browser extension that automatically syncs your accepted DSA solutions from LeetCode, GeeksforGeeks, Codeforces, CodeChef, NeetCode, public HackerRank challenges, and Code360 (Coding Ninjas) into a single organized GitHub repository. - Website: https://rishijain07.github.io/codehub-extension/ - Chrome Web Store: https://chromewebstore.google.com/detail/codehub/dgjlfbfaepcbokmgpicnngbdfckcloaf - GitHub Repository: https://github.com/rishijain07/codehub-extension - Author: Rishi Jain (beingrishijain@gmail.com) - Current website release: v2.4.0 (Manifest V3) - Pricing: 100% Free & Open Ecosystem ## Overview & Value Proposition CodeHub eliminates the manual friction of copying and committing code after solving Data Structures & Algorithms problems. It converts every accepted solution across competitive programming and interview prep platforms into a structured GitHub repository, building an automated proof-of-work portfolio for software engineering interviews. ## Supported Platforms & Sync Mechanisms - **LeetCode**: Instant client-side DOM hook upon receiving an "Accepted" verdict. Formats code file and generates a complete `README.md` with difficulty, tags, problem description, and performance stats. - **GeeksforGeeks (GFG)**: Instant client-side hook on accepted code submissions. - **Codeforces**: Automatic background polling via the official public Codeforces API using your username handle. Syncs practice submissions and contest solutions. - **CodeChef**: Instant hook on accepted submissions for contests and practice problemsets. - **NeetCode**: Instant hook on NeetCode 150 & NeetCode 75 problem sets. - **HackerRank**: Instant hook for public Practice/Prepare challenges and anonymously public contest challenges. Fullscreen pages fall back to the canonical `/challenges//problem` URL when difficulty is hidden; private hiring assessments, tests, and interview pages are excluded. - **Code360 (Coding Ninjas)**: Instant hook for supported problem pages on naukri.com/code360 and Coding Ninjas. Captures submitted code, verifies final acceptance via same-origin platform API requests using your active session, and commits solutions under `codingninjas/`. ### HackerRank output Accepted HackerRank submissions are written to `hackerrank//solution.` with a generated README and tracked in `hackerrank/stats.json`. CodeHub reads Monaco, CodeMirror, or Ace editor content, preserves source text, retries temporary metadata/GitHub failures, and repairs stored `Unknown` difficulty values when canonical challenge metadata becomes available. ## Architecture & Privacy Model - **Code360 support**: Supported Code360 problem pages on naukri.com and Coding Ninjas problem pages sync accepted submissions under `codingninjas/`. The extension captures submitted code and language, fetches problem metadata and submission verdicts through same-origin platform API requests, and temporarily stores submission tracking data and source code in the problem tab's sessionStorage. Uploaded solutions, documentation, and progress statistics remain in the selected GitHub repository after uninstalling. - **Zero Intermediary Servers**: CodeHub does not use any hosted backend or cloud database. All network requests travel directly from the user's browser to the platform API and the official GitHub REST API. - **OAuth Device Flow**: Uses GitHub's secure Device Flow (`https://github.com/login/device`). The user never enters their GitHub password into the extension. - **Local Storage**: The GitHub OAuth token is stored in extension storage and sent to the official GitHub API to authenticate repository operations. It is not sent to coding platforms. - **Private Repositories**: Supports both public and private GitHub repositories. ## Repository Folder Structure When CodeHub pushes code, it organizes problems into clean platform-based directories: ``` your-dsa-repo/ ├── leetcode/ │ └── 0001-two-sum/ │ ├── solution.cpp (or .py, .java, .js, .ts, etc.) │ └── README.md ├── geeksforgeeks/ │ └── bfs-traversal-of-graph/ │ ├── solution.py │ └── README.md ├── codeforces/ │ └── 4A-watermelon/ │ ├── solution.cpp │ └── README.md ├── codechef/ │ └── START01/ │ ├── solution.java │ └── README.md ├── neetcode/ │ └── neetcode-150/ │ └── ... ├── codingninjas/ │ └── two-sum/ │ ├── solution.cpp │ └── README.md ├── hackerrank/ │ ├── cpp-hello-world/ │ │ ├── solution.cpp │ │ └── README.md │ └── stats.json └── stats.json ``` ## Comparison with LeetHub & Alternatives - **Multi-Platform**: LeetHub and other tools typically only support LeetCode. CodeHub unifies 7 major platforms in a single repository. - **Manifest V3 Native**: CodeHub is built on modern Chrome Extensions Manifest V3 architecture with a service worker, ensuring long-term compatibility. - **Active Maintenance**: Continuously updated to adapt to UI changes on competitive programming websites. ## Setup in 60 Seconds 1. Install CodeHub from the Chrome Web Store: https://chromewebstore.google.com/detail/codehub/dgjlfbfaepcbokmgpicnngbdfckcloaf 2. Click the CodeHub icon in your browser toolbar and select "Authenticate with GitHub". 3. Enter the one-time device code at github.com/login/device to grant repo permissions. 4. Select your target repository or let CodeHub create a clean `DSA-Solutions` repo. 5. Solve problems on any supported platform — on "Accepted", CodeHub automatically commits your solution and documentation. For HackerRank, Firefox 128+ is required for main-world editor access.