Skip to content

WilliamHoltsdalen/algviz

Repository files navigation

AlgViz Logo

Interactive Algorithm Visualizer


About

AlgViz is an interactive algorithm visualizer that brings algorithms to life through step-by-step animations. Built with modern web technologies, it provides an intuitive way to understand how algorithms work by visualizing their execution in real-time.

Step through animations that bring algorithms to life, and watch them work their magic.

Features

  • Interactive Visualizations: Step-by-step animations for sorting and graph algorithms
  • Multiple Algorithm Types: Bubble Sort, Merge Sort, Quick Sort, BFS, Dijkstra's Algorithm & more coming soon!
  • Playback Controls: Play, pause, step forward/backward through algorithm execution
  • GIF Export: Export algorithm animations as shareable GIFs
  • Customizable Data: Generate different datasets and graph structures, or choose from presets
  • Modern UI: Clean, responsive design with smooth animations
  • Mobile Friendly: Works on all devices
  • Fast Performance: Built with Next.js and optimized for speed

Tech Stack

  • Frontend: Next.js, React, TypeScript
  • Styling: Tailwind CSS
  • Animations: Motion
  • Icons: Lucide React & Tabler Icons
  • Notifications: Sonner
  • GIF Generation: gif.js
  • Development: ESLint, Turbopack

Contributing

Contributions are welcome! Please see the Contributing Guide for details on how to:

  • Set up project locally
  • Report bugs
  • Suggest new features
  • Submit pull requests

Roadmap

  • Additional sorting algorithms (Heap Sort, Radix Sort)
  • More graph algorithms (A*, DFS, Minimum Spanning Tree)
  • Algorithm complexity analysis
  • Save & share algorithm animations
  • Educational mode with explanations

Why I Built This

Algorithms are fundamental to computer science, but understanding how they work can be challenging. Traditional learning methods often rely on static diagrams or code walkthroughs that don't capture the dynamic nature of algorithm execution. I wanted to create something that:

  • Visualizes algorithms: Makes complex algorithms approachable through visual step-by-step animations
  • Improves learning: Helps users understand algorithm behavior by seeing exactly how data is processed
  • Enhances comprehension: Provides interactive controls to explore algorithms at your own pace

This project was also a personal challenge to level up my web development skills. Building an interactive visualization tool with smooth animations and real-time controls pushed me to learn new technologies and tackle complex state management challenges.

License

This project is licensed under the MIT License - see the LICENSE file for details.


About

Step through animations that bring algorithms to life

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Languages