Interactive visualizations to help you understand how different algorithms work. Explore, learn, and see algorithms in action.
Live demo: algo.mmalekrais.com
Source aligns with the live website content: Algorithm Visualizer – interactive learning for sorting and pathfinding algorithms. See the deployed experience here:
https://algo.mmalekrais.com/.
- Sorting algorithms: Bubble Sort, Merge Sort, Quick Sort, Heap Sort
- Pathfinding algorithms: Dijkstra's Algorithm, A* Search, Breadth-First Search, Depth-First Search
- Interactive controls: adjust input size, speed, and parameters; step-through animations
- Comparative learning: visualize performance trade‑offs and algorithm mechanics side‑by‑side
- Modern UI: accessible, responsive interface with smooth animations
Reference: https://algo.mmalekrais.com/
- Framework: Next.js 15 (App Router)
- UI: React 19, Tailwind CSS, Radix UI primitives
- Language: TypeScript
Prerequisites: Node.js 18+ and npm (or yarn/pnpm/bun).
Install dependencies:
npm installRun the development server:
npm run devOpen http://localhost:3000 in your browser.
Build for production:
npm run buildStart the production server:
npm startScripts are defined in package.json:
npm run dev: start the Next.js dev servernpm run build: build the applicationnpm start: start the production servernpm run lint: run lint checks
High‑level layout (key files only):
my-project/
public/ # Static assets
src/ # Application source
next.config.ts # Next.js configuration
tailwind.config.* # Tailwind configuration
package.json # Scripts and dependencies
README.md # You are here
Pages and components may live under src/app and src/components depending on the setup.
The project can be deployed to any Node-compatible host. For best results with Next.js:
- Vercel: Seamless deploys, image optimization, and edge support.
- Configure environment variables and build command (
next build) per your host.
Learn more: Next.js Deployment Guide (https://nextjs.org/docs/app/building-your-application/deploying).
- Learn by seeing: Visual representations make complex algorithms intuitive
- Compare efficiency: Observe behavior and time/step differences across algorithms
- Experiment: Tweak inputs to see how algorithms adapt in different scenarios
Content inspired by the live experience: https://algo.mmalekrais.com/.
Contributions are welcome! If you have ideas for new algorithms, UI improvements, or performance tweaks:
- Fork the repo
- Create a feature branch
- Commit your changes with clear messages
- Open a pull request with context, screenshots, and rationale
No license is currently specified. If you plan to distribute or accept contributions, add a LICENSE file (e.g., MIT) and update this section.
- Built with Next.js, React, TypeScript, Tailwind CSS, and Radix UI
- Algorithm education inspiration from classic CS curricula and visual tools
—
For an overview and demo, visit: https://algo.mmalekrais.com/