It's extremely similar to Tailscale, and they are a major source of inspiration for a lot of the functionality.
The main difference is I am using a controller-less setup where each node maintains the state of their mesh via raft consensus. If a controller server goes down, another node will pick up the leader responsibilities. When requests come in that need to mutate network state, nodes will automatically forward the request to the leader node for you.
So kinda like a Tailscale - where you can disconnect and branch off at any time. Think...federated networks.
Almost certainly. At its core - everything happening could be accomplished with just regular configuration files. It's just a suite around maintaining the state basically.
I was considering adding FRR or BGP to the mix at some point - but it hasn't proven necessary yet.