Back to Projects

Graph Labs

A visual graph theory lab for drawing graphs and following 17 classic algorithms step by step.

1 / 11

About the Project

Graph Labs is a visual graph theory lab I created for the Graph Theory teaching assistantship in the Software Engineering program at PUC Minas. During office hours, the question was almost never about the statement of an algorithm, but about what happens at each iteration. In the tool, you draw the graph directly on the canvas, pick one of 17 classic algorithms, and follow the execution step by step, with the same tables, queues, and notation used in class.

Everything runs in the browser, with no back end, database, or sign-up. The algorithms are pure TypeScript modules, separated from the React interface, and each run produces the complete list of steps, which the interface simply navigates. Pages are prerendered in Portuguese, English, and Spanish, with their own SEO metadata.

Key features:

  • A canvas graph editor with directed or undirected edges, optional weights, and automatic layout
  • 17 algorithms covering traversal, connectivity, Eulerian graphs, minimum spanning trees, shortest paths, maximum flow, topological sorting, matching, and coloring
  • Step-by-step execution, with autoplay at up to 4× and the reasoning behind every decision
  • Validation of each algorithm's constraints before running
  • 12 sample graphs and a pseudocode page with invariants and common pitfalls
  • Light and dark themes, a responsive layout, and the graph saved in the browser

A tool built to turn static pseudocode into something students can inspect, pause, and replay at their own pace.

Technologies Used

ReactTypeScriptViteTailwind CSSReact RouterLucide ReactVercel

© 2026 Artur Bomtempo. All rights reserved.