The Competitive Programming Operating System for Obsidian
Build a structured, distraction-free DSA workflow inside your Obsidian vault.
DSA-OS is an open-source Obsidian plugin and vault ecosystem designed to help students master Data Structures & Algorithms.
Instead of juggling spreadsheets, browser tabs, scattered notes, and revision schedules, DSA-OS turns your Obsidian vault into a complete learning operating system.
Everything lives in one place:
- 📚 Problems
- 📈 Progress
- 🧠 Revision
- 📝 Notes
- 🎯 Patterns
- ❌ Mistakes
- Overall completion percentage
- Topic-wise progress
- Live sidebar dashboard
- Automatic progress updates
- One-click Solved / Not Started toggle
- Revision metadata
- Confidence tracking
- Frontmatter-based workflow
- Complete Striver A2Z organization
- Topic folders
- Templates
- Pattern Library
- Mistake tracking
- Sidebar View
- Ribbon Icon
- Command Palette
- Markdown-first workflow
DSA-OS
│
├── plugin/
│ ├── src/
│ ├── manifest.json
│ ├── styles.css
│ └── package.json
│
├── generator/
│ ├── importer/
│ ├── templates/
│ ├── dataset/
│ └── cli.py
│
├── vault/
│ ├── Dashboard/
│ ├── Daily Notes/
│ ├── Striver A2Z/
│ ├── Pattern Library/
│ ├── Revision/
│ ├── Mistakes/
│ └── Templates/
│
└── datasets/
Markdown Notes
│
▼
VaultService
│
▼
ProgressService
│
▼
DSA Sidebar
- VaultService
- ProgressService
- ProblemToggleService
- RevisionService
- ProblemStatusService
- EventService
Clone the repository
git clone https://github.com/Pranavgitty/DSA-OS.gitInstall dependencies
cd DSA-OS/plugin
npm installBuild
npm run buildDevelopment
npm run dev- Sidebar Dashboard
- Progress Tracking
- Topic Progress
- Solved Workflow
- Obsidian Integration
- Revision Metadata
- Pattern Library
- Mistake Tracker
- Better Dashboard
- Search
- Analytics Dashboard
- GitHub-style Heatmap
- Weekly Statistics
- Topic Mastery
- Daily Planner
- Revision Queue
- AI Assistance
- Plugin Marketplace Release
Contributions are welcome!
- Fork the repository.
- Create a feature branch.
git checkout -b feature/my-feature- Commit your changes.
git commit -m "feat: add awesome feature"- Push your branch.
git push origin feature/my-feature- Open a Pull Request.
Licensed under the MIT License.
Made with ❤️ using Obsidian, TypeScript and lots of DSA.
⭐ If you like the project, consider starring the repository!




