Note

Teams & Collaboration

Accounts, teams, a real time shared canvas, project submissions with deadlines, and an MCP toolkit for agents automata theory is no longer a solo activity.

Computation Theory Simulator started as a solo tool: draw a DFA, watch it run, save it to your browser, close the tab. That's still exactly how it works if you never sign in. But starting with this release, it's also something a class or study group can build together in real time, in the same canvas.

Accounts

Sign up with an email and password and you get a personal, cloud-synced automaton library. Save something while signed in and it follows you to your next device no export/import, no copying files around. Everything you had saved locally in this browser before signing in isn't lost either: the first time we detect it, we offer to bring those automatons into your new account.

Prefer to stay anonymous? Nothing changes. Signed-out use still runs entirely in your browser via localStorage, same as always.

Teams

Create a team, or join one with an invite code. Every team has a roster with three roles owner, admin, and member. Owners and admins can promote or demote members, remove them, or ban them outright (a ban is remembered, so a banned user can't just rejoin with the invite code and the person banning them can choose whether to also clear out that user's contributions to the team). Owners and admins also get a settings page to rename the team and cap how many members or projects it can have.

One canvas, live, for everyone

This is the part we're most excited about: a team's canvas is collaborative. When a teammate adds a state or draws a transition, it appears on your screen too synced in real time over a private channel scoped to that specific team, so no other team can see or touch it. No refresh button, no "did you save?", no merge conflicts. You switch between your personal canvas and any team you belong to with a single switcher in the toolbar, and the view picks up right where the group left off.

Projects, for actual assignments

Not every automaton belongs on the shared canvas forever sometimes you want to hand in work. Teams can organize projects (optionally grouped into folders), and members join a project before submitting an automaton to it from the shared pool. Owners and admins review what comes in, and can configure a project with a hard submission deadline and a member cap, so it behaves like a real assignment rather than an open free for all.

Built for agents too

The MCP endpoint (POST /api/mcp) that already let AI agents simulate and build automata now speaks Teams as well. It's grown from 17 tools to 26: the original 17 stateless simulate/convert/build tools still need no authentication, and 9 new tools list your teams, create or join one, list members and projects, create a project, list and save automatons, submit work to a project are available to anything authenticated with a personal access token.

A better place to read

Alongside the collaboration features, the blog and landing page got a redesigned long-form reading layout a proper header, a table of contents rail, margin notes, and inline figures for showing an automaton mid-explanation instead of just linking away to the simulator. Long write-ups about automata theory should feel like reading a well-typeset chapter, not a wall of text.

Under the hood

None of this is user-facing, but it's worth saying: the canvas page used to be driven by a single 1,300+ line component. It's now a composition of small, focused hooks one per concern (teams, projects, canvas sync, scope switching) which is what made it possible to add all of the above without the page turning into a tangle. 352 unit tests now cover the app, up from 231.

As always, this project is open source feedback and contributions welcome.

← All notesOpen Simulator →
On this page
← All notes