AlgoLens is an interactive visualization playground for Computer Science, Mathematics, Physics, and Games. It bridges the gap between abstract theory and intuition by letting you see algorithms run, tweak parameters, and experiment with simulations.
🚀 Live Demo | 🎥 Watch Demo Video
- Pathfinding & Graph: A* Pathfinding, Dijkstra, Bellman-Ford, Floyd-Warshall, BFS, DFS, MST (Prim's & Kruskal's), Flood Fill.
- Sorting & Searching: Visual Sorting Algorithms, Binary Search, Jump Search.
- Mathematics: Factorial, Fibonacci, Prime Factorization, Sieve of Eratosthenes, Exponentiation.
- Optimization & Others: N-Queens, Tower of Hanoi, Huffman Coding, Traffic Simulation, Peak Finding, Palindrome Check.
- Trees: Binary Tree, B-Tree, B+ Tree, Red-Black Tree, Trie (Prefix Tree), Min/Max Heap.
- Linear Structures: Arrays, Linked Lists, Stacks, Queues.
- Others: Disjoint Set Union, Hash Lookup, Randomized Graphs, Sets.
- Physics: Solar System Simulation, Double Pendulum (Chaos), Wave Interference, Projectile Motion, Simple Harmonic Motion, Simple Pendulum, Rolling Motion, Circular Motion.
- Mathematics Utilities: 2D & 3D Equation Plotters, Advanced Calculator, Number Systems Converter, Pythagoras Theorem Visualizer.
- Classic Games: Chess, Sudoku, Tetris, Tic Tac Toe, Rock Paper Scissors.
- Puzzles: Prisoner's Dilemma, Match Tiles.
- Frontend: React.js
- Styling: Bootstrap 5, Styled Components
- Visualization: Three.js (
@react-three/fiber,@react-three/drei), Chart.js - Logic: Math.js, Chess.js, Web Workers (
worker-loader) - Routing: React Router
- Build tooling:
react-app-rewired(CRA overrides)
- Node.js:
16.16.0 - npm:
8.11.0
These match the versions declared in
package.jsonunderengines.
-
Clone the repository
git clone https://github.com/mnarulabuilds/AlgoLens.git cd AlgoLens -
Install dependencies
npm install
-
Start the development server
npm start
The application will run at
http://localhost:3000. -
Build for production
npm run build
npm start: run locally (development)npm run build: production buildnpm test: run tests (CRA)npm run serve: serve the production build athttp://localhost:3000npm run deploy: deploy to GitHub Pages (usesgh-pages)
src/routing/: site routes + feature pages (algorithms, games, physics, etc.)src/base/: shared layout componentssrc/common/: shared UI/componentspublic/: static assets and entry HTML
Contributions are always welcome!
- 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.
- If you see source-map warnings from dependencies during development, they are typically safe to ignore and do not affect runtime behavior.
This project is open source.