DSAMastery is a no-login, browser-only Data Structures & Algorithms learning platform. It delivers structured modules, interactive drills, real-time code tracing, checkpoints, an AI learning prompt generator, and a searchable cheat sheet — all running completely locally in your browser.
- Guided Roadmap: Sequential lesson unlocks tailored for logical progression.
- Interactive Playground: Visualize algorithms dynamically (e.g. Sorting algorithms with playback controls, Binary search steppers).
- AI-First Learning: Integrated "Go Deeper with AI" section in every lesson with curated, copy-paste ready prompts for tools like ChatGPT and Claude.
- Drill Runner: Test your knowledge using multiple-choice, multi-select, scenario, tracing, and interactive widget drills.
- Theme Engine: Fully customizable aesthetic themes using a shop system powered by earned credits.
- Local Persistence: Zero backend required. Your progress, themes, and settings are saved locally to your device.
- React 18 + Vite
- React Router v6
- Tailwind CSS v3
- LocalStorage state management
To get a local copy up and running, follow these simple steps:
-
Clone the repository
git clone https://github.com/JeraldPascual/DSAMastery.git cd dsamastery -
Install dependencies
npm install
-
Start the development server
npm run dev
Open
http://localhost:3000to view it in your browser.
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
To contribute:
- 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.
Please read our CONTRIBUTING.md file (if present) for detailed guidelines on adding new modules, writing curriculum JSON, or developing new interactive widgets.
DSAMastery is built as a static, client-side application to ensure it remains free, fast, and easy to host (e.g., via GitHub Pages). This architecture leads to a specific design choice:
- Publicly Exposed Lessons: All curriculum content, markdown docs, and quiz drills are stored in the
/publicfolder. These are fetched by the browser at runtime. - Client-Side Grading: Because there is no backend, all grading and answer-checking happen in the user's browser.
- Intentional Visibility: A tech-savvy user can inspect the network tab or browse the repository to find the
drills-module-*.jsonfiles and see the correct answers.
This is intended. DSAMastery is a tool for self-guided learning, not a high-stakes examination platform. The visibility of the content makes the platform easier to contribute to and allows users to learn how the interactive widgets and drills are structured.
The core learning materials are completely decoupled from the React code and exist as static files:
public/content/curriculum.json- Roadmap module datapublic/content/drills-module-*.json- Quiz and interactive drill data split by modulepublic/content/checkpoints-module-*.json- End-of-module assessment datapublic/content/ai-learning/module-*.json- AI prompts for lessonspublic/content/cheatsheet.json- Searchable definitions and complexitiespublic/content/docs/*.md- Full lesson markdown content
Distributed under the MIT License. See LICENSE for more information. This means you are free to use, modify, distribute, and even use this software for commercial purposes, provided the original copyright notice is included.