OfflineCoder is currently under active development.
Some features mentioned below are implemented, while others are being actively developed and tested.
- β Chrome Extension Problem Scraping
- β React Frontend
- β Express Backend
- β SQLite Storage
- β PWA Setup
- β Offline Caching
- β Problem Library
- π§ Integrated Code Editor
- π§ Judge0 Execution Engine
- π§ Submission Tracking
- π§ Dynamic Playlists
- π§ Revision Analytics
- π§ Cloud Sync
- π AI Revision Assistant
- π Mobile Application
- π Company-wise Tracking
- π Contest Archive
- π Offline Code Runner
OfflineCoder is a full-stack Progressive Web Application (PWA) ecosystem built for developers preparing for coding interviews, competitive programming, and technical assessments.
The platform allows users to save coding problems from LeetCode and continue practicing them completely offline.
No internet.
No interruptions.
Just coding.
Save coding problems directly from LeetCode.
- One-click Save Offline button
- Automatic problem extraction
- Constraint detection
- Difficulty identification
- Starter code generation
- Local persistence
OfflineCoder attempts to analyze problems automatically.
- Arrays
- Strings
- Hash Tables
- Trees
- Graphs
- BFS
- DFS
- Dynamic Programming
- Binary Search
- Greedy
- Backtracking
- Constraints
- Examples
- Function Signatures
- Metadata
Track:
- Problems Saved
- Problems Solved
- Revision Progress
- Recent Activity
Search and filter by:
- Difficulty
- Tags
- Status
- Creation Date
Add personal notes to every problem.
Create collections such as:
- Blind 75
- Dynamic Programming
- Interview Preparation
- Weekly Revision
OfflineCoder behaves like a native application.
- Installable
- Offline Access
- Fast Loading
- Cached Assets
- Mobile Friendly
Built using:
Node.js
Express.js
SQLite- Authentication
- Problem Management
- Notes
- Playlists
- User Profiles
- Admin Routes
ββββββββββββββββββββββββββββββ
β LeetCode Website β
ββββββββββββββββ¬ββββββββββββββ
β
βΌ
ββββββββββββββββββββββββββββββ
β Chrome Extension β
β LeetCode Saver π β
ββββββββββββββββ¬ββββββββββββββ
β
βΌ
ββββββββββββββββββββββββββββββ
β Express Backend API β
ββββββββββββββββ¬ββββββββββββββ
β
βΌ
ββββββββββββββββββββββββββββββ
β SQLite Database β
ββββββββββββββββ¬ββββββββββββββ
β
βΌ
ββββββββββββββββββββββββββββββ
β React + PWA Frontend β
ββββββββββββββββββββββββββββββ
User opens a LeetCode problem.
Extension injects:
Save Offline πbutton.
Problem data is extracted.
OfflineCoder attempts to:
- Identify tags
- Extract constraints
- Detect difficulty
- Generate templates
Data is saved locally and in SQLite.
Users can:
- Browse saved questions
- Read notes
- Create playlists
- Solve problems
even without internet access.
| Layer | Technology |
|---|---|
| Frontend | React 18 |
| Build Tool | Vite |
| Styling | Tailwind CSS |
| Icons | Lucide React |
| Backend | Node.js |
| Framework | Express.js |
| Database | SQLite |
| ORM/Driver | better-sqlite3 |
| Extension | Manifest V3 |
| Offline Support | Service Workers |
OfflineCoder/
β
βββ frontend/
β βββ src/
β βββ public/
β βββ vite.config.js
β
βββ backend/
β βββ routes/
β βββ controllers/
β βββ middleware/
β βββ database/
β βββ server.js
β
βββ extension/
β βββ manifest.json
β βββ content.js
β βββ popup.html
β βββ popup.js
β
βββ README.mdgit clone https://github.com/YOUR_USERNAME/OfflineCoder.git
cd OfflineCodercd backend
npm install
npm startCreate:
PORT=3001cd frontend
npm install
npm run dev- Open:
chrome://extensions-
Enable Developer Mode
-
Click Load Unpacked
-
Select:
extension/-
Open LeetCode
-
Start Saving Problems π
- Monaco Code Editor
- Local Test Cases
- Enhanced Search
- Judge0 Integration
- Submission History
- Progress Tracking
- AI Assistant
- Mobile App
- Cloud Synchronization
- Contest Management
Contributions are welcome.
Fork Repository
Create Feature Branch
Commit Changes
Push Branch
Open Pull RequestMost coding platforms assume internet connectivity.
OfflineCoder focuses on:
β Offline Learning
β Personal Knowledge Base
β Efficient Revision
β Coding Interview Preparation
β Progressive Web Experience
Distributed under the ISC License.
See LICENSE for details.
Computer Engineering Student β’ Full Stack Developer β’ Open Source Enthusiast
If you like this project, consider giving it a β on GitHub.