Interactive Dissection Platform for deep learning, generative AI, and quantum algorithms
Interactive, step-by-step visualizations with synchronized code highlighting,
plain-language explanations, and educational content β in the browser and in Python.
Live App Β· Documentation Β· PyPI Β· npm Β· GitHub
Understanding algorithms requires building spatial and temporal intuition that textbooks and static diagrams cannot provide. Existing tools are domain-specific β one for sorting, another for attention mechanisms, yet another for quantum circuits. None offer a unified visual language across these domains, and none bridge web-based exploration with programmatic workflows.
Eigenvue solves this with:
- One platform, four domains β classical algorithms, deep learning, generative AI, and quantum computing under a single interaction model.
- Dual distribution β explore in the browser at eigenvue.web.app, or
pip install eigenvuefor Jupyter notebooks and research scripts. - Real code, not config β algorithms are defined as TypeScript and Python functions, making them testable, debuggable, and contributor-friendly.
|
Classical (7)
|
Deep Learning (5)
|
|
Generative AI (5)
|
Quantum Computing (5)
|
22 algorithms with step-by-step animated visualizations, synchronized code highlighting (pseudocode, Python, JavaScript), key concepts, common pitfalls, quizzes, and further resources.
Browse the full catalog: Algorithm Reference β
Explore all visualizations instantly β no installation required:
π eigenvue.web.app
pip install eigenvueimport eigenvue
# List all available algorithms
eigenvue.list()
# Open an interactive visualization in your browser
eigenvue.show("binary-search")
# Get step data programmatically
steps = eigenvue.steps("self-attention")
# Use in a Jupyter notebook (pip install eigenvue[jupyter])
eigenvue.jupyter("transformer-block")npm install eigenvueimport { list, steps, show } from "eigenvue";
// List all available algorithms
list();
// Get step data programmatically
const result = steps("binary-search");
// Open an interactive visualization in your browser
show("self-attention");| Feature | Description | |
|---|---|---|
| Step-by-Step Playback | Play, pause, step forward/back through every algorithm state | |
| ποΈ | Synchronized Code | See exactly which line executes at each step β in pseudocode, Python, or JavaScript |
| ποΈ | Custom Inputs | Provide your own arrays, graphs, or parameters and watch the algorithm adapt |
| π | Educational Content | Key concepts, common pitfalls, quizzes, and curated external resources per algorithm |
| π | Jupyter Integration | Embed interactive visualizations directly in notebooks with eigenvue.jupyter() |
| π | Shareable URLs | Every visualization state is URL-encoded β share a specific step with a link |
| β | Cross-Language Parity | TypeScript and Python generators produce identical step sequences (CI-enforced) |
| π¦ | Minimal Dependencies | npm package: zero runtime deps. Python package: only Flask |
Eigenvue follows a clean three-layer architecture:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Generator Layer TypeScript & Python functions β
β that produce Step sequences β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β Step Format Universal JSON contract (v1.0.0) β
β between generators & renderers β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β Rendering Layer Canvas 2D engine with layouts, β
β animation, and playback controls β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Adding a new algorithm never requires modifying the rendering engine. Improving the renderer never requires touching algorithm logic. Cross-language parity is CI-enforced to Β±1e-9 tolerance.
eigenvue/
βββ algorithms/ # Shared algorithm definitions (meta.json per algorithm)
β βββ classical/ # Binary Search, Bubble Sort, QuickSort, β¦
β βββ deep-learning/ # Perceptron, Feedforward Network, β¦
β βββ generative-ai/ # Tokenization, Self-Attention, β¦
β βββ quantum/ # Grover's Search, Quantum Gates, β¦
βββ web/ # Next.js web application (Canvas 2D, Tailwind CSS)
βββ python/ # Python package (pip install eigenvue)
βββ node/ # npm package (zero runtime dependencies)
βββ shared/ # Shared types, schemas, and constants
βββ docs/ # Documentation site (Astro / Starlight)
βββ scripts/ # Build, codegen, and maintenance scripts
βββ tests/ # Cross-platform integration tests
βββ .github/ # CI/CD workflows
Prerequisites: Node.js 22+, Python 3.10+, Git
Web Application
cd web
npm install
npm run dev # β http://localhost:3000Python Package
cd python
pip install -e ".[dev]"
pytestNode Package
cd node
npm install
python ../scripts/bundle-node-data.py
npm run build
npm testDocumentation Site
cd docs
npm install
npm run buildFull documentation is available at eigenvue.web.app/docs.
| Section | What's Inside |
|---|---|
| Getting Started | Web app, Python package, Jupyter integration |
| User Guide | UI controls, playback, sharing & URLs, FAQ |
| API Reference | Python API, TypeScript API, Step Format, Layout System |
| Architecture | System overview, design decisions, rendering engine |
| Algorithm Reference | All 22 algorithms with detailed documentation |
| Contributing | Dev setup, adding algorithms, Generator API, style guide |
| Research & Citation | Project overview, comparison, how to cite |
Contributions are welcome! Please read the Contributing Guide for development setup, branching strategy, and commit conventions.
Adding a new algorithm? Follow the step-by-step guide: Adding an Algorithm β
| Resource | Link |
|---|---|
| Development Setup | Docs β |
| Generator API | Docs β |
| Step Format Spec | Docs β |
| Code Style Guide | Docs β |
| Writing Tests | Docs β |
| Cross-Language Parity | Docs β |
| Layer | Technology |
|---|---|
| Web App | Next.js 15 Β· React 19 Β· Canvas 2D Β· Tailwind CSS 4 |
| Python Package | Python 3.10+ Β· Flask Β· hatchling |
| Node Package | TypeScript Β· tsup Β· zero runtime deps |
| Testing | Vitest Β· pytest Β· JSON Schema validation |
| CI/CD | GitHub Actions β lint, typecheck, test, build, deploy |
| Docs | Astro + Starlight |
| Hosting | Firebase |
If you use Eigenvue in research or teaching, please cite:
@article{eigenvue2026,
title = {Eigenvue: A Visual Learning Platform for Algorithms,
AI Architectures, and Quantum Computing},
author = {Mishra, Ashutosh},
year = {2026},
url = {https://eigenvue.web.app}
}See the full Citation guide β
MIT Β© 2026 Ashutosh Mishra
Website Β· Docs Β· Report a Bug Β· Request a Feature