DSAverse is an interactive web platform that brings computer science to life through step-by-step visualizations. It started with Data Structures and Algorithms and now also covers the CS core every software engineer needs โ operating systems, computer networks and databases โ the mathematics underneath it: counting, probability, vectors, linear algebra and calculus, and AI and machine learning, from a fitted line to neural networks and transformers, with real models running in your browser. Whether you're a student learning your first sorting algorithm or a developer preparing for technical interviews, DSAverse makes complex concepts intuitive and engaging.
- ๐จ Beautiful Visualizations - Watch algorithms and systems run step by step with smooth animations
- ๐ฎ Interactive Learning - Control playback speed, step forwards and backwards, and change the input
- ๐ Comprehensive Coverage - From basic sorting to TCP congestion control and database recovery
- ๐ง Built for Recall - Quizzes, spaced-repetition review and "what happens next?" prompts, not just animations
- ๐ฑ Responsive Design - Learn anywhere, on any device
- ๐ Open Source - Community-driven development and contributions
242 interactive pages across 29 sections, in four subjects.
| Section | Pages | Highlights |
|---|---|---|
| Basics | 9 | Stacks, queues, lists, singly/doubly/circular linked lists |
| Recursion | 9 | Factorial, Tower of Hanoi, N-Queens, Sudoku solver, permutations |
| Graph Algorithms | 9 | BFS, DFS, Dijkstra, Prim, Kruskal, Floyd-Warshall, topological sort |
| Indexing | 9 | Hash tables, B-trees, B+ trees, red-black, splay, radix, ternary search |
| Dynamic Programming | 9 | LCS, 0/1 Knapsack, Edit Distance, Matrix Chain, Kadane's |
| Sorting | 8 | Bubble, Selection, Insertion, Merge, Quick, Heap, Radix, Bucket |
| Searching | 8 | Binary, Linear, Jump, Interpolation, Exponential, Fibonacci, Ternary |
| Two Pointers & Sliding Window | 7 | 3Sum, Container With Most Water, Minimum Window Substring |
| Trees | 5 | BST, AVL rotations, traversals, segment tree, trie |
| Heap-like Structures | 5 | Binary, binomial, Fibonacci, leftist and skew heaps |
| Divide and Conquer | 4 | Recursion trees, Strassen's algorithm, closest pair of points |
| Union-Find | 4 | Quick find, quick union, path compression, union by rank |
| Backtracking | 3 | N-Queens, Word Search, Rat in a Maze |
| Bit Manipulation | 3 | XOR single number, Brian Kernighan's bit count, power of two |
| String Algorithms | 3 | KMP, Rabin-Karp, Z-Algorithm |
| Section | Pages | Highlights |
|---|---|---|
| Under the Hood | 26 | CPU caches, virtual memory, TLS, garbage collection, how Git works |
| Operating Systems | 10 | CPU scheduling, page replacement and Belady's anomaly, Banker's algorithm, deadlock detection, disk scheduling, race conditions, producer-consumer, dining philosophers |
| Computer Networks | 10 | OSI and TCP/IP layers, TCP handshake, sliding window protocols, congestion control, DNS, subnetting, distance-vector and link-state routing, ARP, HTTP/1.1 vs 2 vs 3 |
| Database Systems | 10 | Isolation levels, serializability, two-phase locking, MVCC, write-ahead logging, normalization, join algorithms, SQL query order, relational algebra, LSM trees |
| Section | Pages | Highlights |
|---|---|---|
| Linear Algebra | 10 | Span, matrices as transformations, determinants in 2D and 3D, Gaussian elimination, eigenvectors, least squares |
| Probability and Statistics | 9 | Conditional probability, Bayes' theorem, expectation, the normal distribution, the central limit theorem, the birthday paradox |
| Differential Calculus | 9 | Limits, the derivative, optimization, Newton's method, Taylor series, gradient descent on a 3D surface |
| Combinatorics | 8 | Permutations, combinations, Pascal's triangle, the binomial theorem, stars and bars, inclusion-exclusion |
| Integral Calculus | 8 | Riemann sums, the fundamental theorem, substitution, integration by parts, volumes of revolution |
| Vectors | 7 | Dot and cross products, projection, norms, lines and planes in 3D |
Math pages are built to be manipulated, not just watched: drag a vector or slide a parameter and the numbers and formulas update with it, and 3D ideas get an orbitable scene.
| Section | Pages | Highlights |
|---|---|---|
| Machine Learning | 11 | Linear and logistic regression, loss functions, overfitting, cross-validation, k-NN, decision trees, k-means, PCA, ROC curves |
| Neural Networks | 11 | The perceptron, activation functions, forward pass, backpropagation, optimizers, vanishing gradients, normalization, a full playground |
| Transformers | 10 | Query, key and value, self-attention, causal masking, multi-head attention, positional encoding and RoPE, a whole tiny GPT |
| Deep Learning Architectures | 8 | Convolution, a CNN reading your handwriting, RNNs, LSTM and GRU, sequence-to-sequence, residual connections, autoencoders |
Every number on an AI page is computed: networks train live in your browser, and the transformer pages run a small GPT with real trained weights (195,136 parameters, trained for this site) one matrix at a time. Each page has a "break it" control, such as dropping the causal mask or the รทโd, so you can watch what fails and undo it. Language Models and RAG and Vector Search are coming next.
Plus a searchable complexity cheatsheet covering time and space bounds for every major data structure and algorithm.
Alongside the step-by-step simulations, CS Core includes 26 animated CS-internals explainers โ multi-act walkthroughs of what actually happens inside a computer:
- Language runtimes: Python and C++ execution pipelines, JIT compilation, garbage collection, floating point and IEEE 754, Unicode and UTF-8
- Concurrency: processes vs threads, multithreading, async/await and the event loop
- The web: what happens when you search a URL, HTTPS and TLS, packet routing, browser rendering, REST APIs
- Object orientation: classes and memory, inheritance and MRO, virtual dispatch, composition vs inheritance
- Systems: system calls and kernel mode, virtual memory and paging, CPU cache hierarchy, containers, file systems, database query execution, Git internals
The Operating Systems, Computer Networks and Database Systems sections link to these explainers wherever a topic is already covered, so nothing is taught twice.
- โฏ๏ธ Play/Pause/Reset - Full control over animation playback
- โก Speed Control - Adjust animation speed from slow-mo to lightning fast
- ๐ Step-by-Step Mode - Step forwards and backwards through every operation
- ๐ฏ Custom Input - Randomize, pick a preset, or test algorithms with your own data
- ๐ฑ Touch-Friendly - Optimized for mobile and tablet interactions
- ๐ Step Explanations - A written explanation for every single step, not just the end result
- ๐ฎ Predict the Next Step - Turn on Predict on 127 pages and the animation pauses at each decision so you can guess what happens before it does
- ๐ง Active Recall Quizzes - A 3-question quiz on every page โ 726 questions in all
- ๐ Review - Spaced-repetition practice over every quiz on the site, by subject or by section. Questions come back just before you would forget them. Progress stays in your browser โ no account, nothing sent anywhere
- โ๏ธ Compare - Put any two or three pages side by side: complexity, difficulty, pattern and approach
- ๐ Search - Press โK / Ctrl+K anywhere to jump to any page
- ๐งญ See Also - Every page ends with related pages, including links across subjects โ Dijkstra and link-state routing point to each other, and serializability points to topological sort
- โฑ๏ธ Complexity Analysis - Time and space complexity on every page and in the cheatsheet
- ๐ก Code Examples - Clean, commented implementations: Python on most pages, plus JavaScript and SQL where they fit
Ensure you have the following installed:
- Node.js 18.18 or higher (required by Next.js 15)
- npm
- Git
- Clone the repository
git clone https://github.com/Archit1706/DSAverse.git
cd DSAverse- Install dependencies
npm install- Start the development server
npm run dev- Open your browser Navigate to http://localhost:3000 to see DSAverse in action!
npm run build
npm startnpm run build first regenerates the learning data in data/ (the quiz bank, page index, related links and page counts) from the pages themselves, so Review, Compare, search and See also always match what is on the site.
npm run lintDSAverse/
โโโ app/ # Next.js App Router
โ โโโ page.js # Homepage
โ โโโ layout.js # Root layout, site-wide metadata, JSON-LD
โ โโโ globals.css # Global styles and theme tokens
โ โโโ sitemap.js # Generates /sitemap.xml for all routes
โ โโโ robots.js # Generates /robots.txt
โ โโโ favicon.ico # Served at /favicon.ico
โ โโโ cheatsheet/ # Searchable Big-O reference table
โ โโโ compare/ # Side-by-side comparison of any two or three pages
โ โโโ review/ # Spaced-repetition practice over every quiz
โ โโโ contact/ # Contact / GitHub page
โ โโโ under-the-hood/ # CS-internals explainers
โ โโโ [section]/ # One directory per section (sorting, operating-systems, ...)
โ โโโ layout.js # Navbar + Footer + section metadata
โ โโโ loading.js # Section loading animation
โ โโโ page.js # Section index (server component)
โ โโโ [algorithm]/
โ โโโ layout.js # Per-page metadata, canonical and See also links
โ โโโ page.js # The visualizer ("use client")
โโโ components/ # Shared React components
โ โโโ Navbar.jsx # Subject tabs and mega-menu
โ โโโ CommandPalette.jsx # โK / Ctrl+K search
โ โโโ RelatedPages.jsx # "See also" links at the foot of every page
โ โโโ PredictStep.jsx # "What happens next?" prompts
โ โโโ CodeBlock.jsx # Syntax-highlighted code block
โ โโโ GraphCustomizer.jsx # Custom graph input modal
โ โโโ BinaryTreeCanvas.jsx # Shared binary-tree layout
โ โโโ BTreeCanvas.jsx # Shared B-tree / B+ tree layout
โ โโโ ml/ # Heatmaps, token strips and network diagrams for the AI pages
โ โโโ Hero.jsx, AlgorithmsGrid.jsx, Footer.jsx, ... # Homepage sections
โโโ data/
โ โโโ subjects.js # Subjects โ sections (DSA, CS Core, Math, AI & ML)
โ โโโ algorithmCategories.js # Nav structure: sections โ page names
โ โโโ quizBank.js, pageIndex.js,
โ related.js, learningStats.js # Generated on every build โ do not edit by hand
โโโ lib/
โ โโโ ml/ # Plain-JS ML engine: tensors, autograd, MLPs, RNNs, a tiny GPT
โ โโโ progress.js # Visited pages and the review schedule (localStorage)
โโโ scripts/
โ โโโ ml/ # Dev-only: trains the models the AI pages load
โ โโโ build-learning-data.mjs # Generates the data files above (runs before every build)
โโโ public/ # Static assets, plus trained models and word vectors for the AI pages
โโโ AGENTS.md / CLAUDE.md # Architecture guide for coding agents
โโโ CONTRIBUTING.md # Contribution guide
โโโ eslint.config.mjs # ESLint configuration
โโโ jsconfig.json # Path aliases
โโโ next.config.mjs # Next.js configuration
โโโ postcss.config.mjs # PostCSS configuration
โโโ package.json # Dependencies and scripts
| Technology | Purpose | Version |
|---|---|---|
| React Framework | 15.x | |
| UI Library | 19.x | |
| Styling | 4.x | |
| Icons | 0.5x | |
| Deployment | - |
Looking for structured learning and practice problems? Check out DSA-30, my comprehensive 30-day program to master Data Structures and Algorithms!
๐ Links:
- Website: dsa30.vercel.app
- GitHub: DSA-30 Repository
DSA-30 Features:
- ๐ 30-Day Structured Curriculum
- ๐ช Hands-on Coding Challenges
- ๐ฏ Interview Preparation
- ๐ Detailed Solutions & Explanations
- ๐ Progress Tracking
Perfect Combination: Use DSAverse for visual learning and DSA-30 for structured practice!
We welcome contributions from developers of all skill levels! Whether you want to:
- ๐ Report bugs or suggest improvements
- โจ Add new algorithms, data structures or CS topics
- ๐จ Improve visualizations and animations
- ๐ Enhance documentation and tutorials
- ๐ง Optimize performance and code quality
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
๐ Read our detailed Contributing Guide for how pages are built, the checklist for adding one, and the coding conventions.
If DSAverse has helped you learn and understand algorithms better, consider:
- โญ Starring the repository
- ๐ด Forking and contributing
- ๐ข Sharing with friends and colleagues
- ๐ Reporting bugs and suggesting features
Built with โค๏ธ by Archit Rathod
Questions? Suggestions? Collaboration ideas? Feel free to reach out - I'd love to hear from you!
This project is licensed under the Apache 2.0 License - see the LICENSE file for details.
- Thanks to all contributors who help make DSAverse better
- Inspired by the amazing computer science education community
- Built with modern web technologies and best practices
- Special thanks to open source libraries and tools that make this possible
โญ Star this repository if you found it helpful! โญ
Happy Learning! ๐