Introduction to OpenDSA
See algorithms come to life
OpenDSA is an interactive visualization platform that helps you understand how algorithms and data structures work through step-by-step animations. Whether you’re:
- Learning algorithms for the first time
- Teaching computer science concepts
- Preparing for technical interviews
- Building educational content
OpenDSA makes complex algorithms visual and intuitive.
Features
- Interactive Visualizations - Watch algorithms execute step-by-step with full control
- Multiple Categories - Sorting, searching, graphs, trees, and more
- Code Highlighting - See which line of code corresponds to each step
- Speed Control - Slow down or speed up animations
- Shareable URLs - Share specific visualization states with others
- Dark/Light Mode - Easy on the eyes, day or night
- Keyboard Shortcuts - Power-user friendly controls
- Open Source - Free forever, community-driven
Visualizers
Sorting Algorithms
- Bubble Sort
- Selection Sort
- Insertion Sort
- Quick Sort
- Merge Sort
- More coming soon…
Searching Algorithms
- Linear Search
- Binary Search
- More coming soon…
Data Structures
- Arrays
- Linked Lists, Trees, Graphs coming soon…
Quick Start
Try Online
Visit app.opendsa.dev to start visualizing algorithms immediately - no installation required.
Run Locally
# Clone the repository
git clone https://github.com/soloshun/opendsa.git
cd opendsa
# Install dependencies
pnpm install
# Start development server
pnpm devOpen http://localhost:3000 in your browser.
Tech Stack
| Layer | Technology |
|---|---|
| Framework | Next.js 14 (App Router) |
| Language | TypeScript |
| Styling | TailwindCSS + shadcn/ui |
| Animations | Framer Motion + D3.js |
| State | Zustand |
| Monorepo | Turborepo |
| Package Manager | pnpm |
| Deployment | Vercel |
Contributing
We welcome contributions from everyone! Whether it’s:
- Adding new algorithm visualizers
- Fixing bugs
- Improving documentation
- Suggesting features
See our Contributing Guide to get started.
Community
- Discord: Join our community
- Twitter: @self.solo_shun (currently not active)
- GitHub Discussions: Ask questions
Made with ❤️ by the Solo Shun for the OpenDSA community
Last updated on