AutomataVerse
Theory of Computation, but you can see it — draw a machine, run a string, watch it execute. Dynamic ideas, finally in a dynamic medium.
A DFA moves — the textbook shows the graph and hides the walk. Students trace by hand (and fail silently) or memorize patterns. The fix: make execution visible, make feedback immediate.
the loop every other tool was missing
One canvas reshapes itself per family: PDA brings up a live stack, TM a tape, Moore puts outputs on states. Nondeterminism = watching the machine be in four places at once.
- No signup wall — canvas is already there
- Execution paced at ~500ms — the pause is the pedagogy
- Duplicate edges merge: a + b → one arrow "a,b"
- ⌘K palette · chrome-style tabs · 3 themes
- PNG @2× + JSON export · localStorage autosave
- Verdict names the symbol and state where it died
Client-heavy, thin server. Simulation never touches the network: works offline, zero-latency feedback, ~free hosting.
One DTO serializes everything: autosave, export, cloud save, assignments, submissions. Labels are plain strings — what you type is what's stored is what's drawn.
Engines are async and narrate themselves through injected setters. One implementation per machine — no trace-and-replay layer to drift. Bounded everywhere: MAX_STEPS 1000, MAX_CONFIGS 2000.
Arrowheads offset by node radius, labels on measured plates, drag-vs-pan made mutually exclusive. Small trig; the entire difference between "graph library" and "editor."
Roles: admin > mentor > member. Grading by execution, with points + markdown feedback. Never in the original plan — instructors showed up and asked for the missing half. Now ~half the product.
Built with toy defaults; then real classrooms with grades arrived. Membership docs were client-writable — anyone could self-promote to admin.
Identity from the verified token, never the body. Rules and routes agree. Client checks demoted to optimistic UI. Audited exhaustively, not incrementally.
"DFA simulator online", at midnight, before the assignment is due → one click, no signup → the group chat. Usage tracks the academic calendar; every post-v1 feature came from watching real use: PNG export (homework), tabs (comparison), step cap (frozen tabs), dark theme (1 a.m.).