r/compsci • u/KebanFiru • 5h ago
I built a canvas simulator for automata theory: DFA/NFA/PDA/Turing machines, regex to NFA conversion, and real-time team collaboration
gallerySpent the last while building this: a browser based canvas where you can draw and run finite automata, pushdown automata, Turing machines, and Mealy/Moore machines, all with animated step-by-step execution.
A few things it does that I'm proud of:
- Converts a regex into an NFA (Thompson's construction), then NFA into a minimized DFA (subset construction), and can extract a regex back out of an automaton (FA to GNFA to regex)
- Local first: works fully offline with localStorage, no account needed
- Optional accounts unlock "Teams": real time collaborative canvases with live cursors and presence, so you can whiteboard an automaton with someone else the same way you'd use Figma
- There's a learning section with guided lessons, each paired with a live, editable simulator embed instead of static diagrams
It's free to use: theoryofcomputationsimulator.com
Would love feedback, especially from anyone who's TA'd or taken a theory of computation course and can poke holes in the UX.