Interactive algorithm playground
Algo Studio
A React and TypeScript playground backed by a Go API for exploring search, graph, and randomized verification algorithms.
Explore Algo StudioWhy I built it
I wanted to make search and graph algorithms easier to understand by giving people a place to explore how they behave interactively.
Engineering approach
A React and TypeScript frontend connects to a Go API built with Echo. Routes and controllers handle HTTP requests, services select the problem and algorithm, and dedicated problem packages own validation rules, computation, and result construction.
The backend implements A*, breadth-first search, and iterative-deepening DFS for sliding puzzles, Karger's minimum-cut algorithm, Freivalds' matrix verification, and Schwartz–Zippel polynomial identity testing. Each lab returns structured results that the frontend can explain visually.
Strict JSON validation, request-size limits, a five-second execution deadline, and bounded concurrency keep computational work under control. Request IDs and structured logs support diagnostics, while Docker Compose and Nginx provide the backend deployment setup.
How Algo Studio works
Explore the main parts of the project and how they fit together.
Inside the system
Users configure puzzle boards, graphs, matrices, or polynomials. The frontend sends generation and solve requests to the Go API.
The Go API validates input, selects the requested lab, and limits request size, execution time, and concurrent work.
Problem-specific Go packages run search, minimum-cut, matrix verification, or polynomial identity algorithms and build structured results.
The frontend turns solution paths, graph partitions, and verification results into visual explanations and playback.