We were in a similar situation a few months ago when Mitro announced that they were shutting down their service.
Mitro's owner being really nice, they open-sourced the browser extensions, server and mobile applications so we used them to run our own: https://passopolis.com/
We plan to keep the code open-source and we're working hard at the moment to introduce the organisation feature useful for start-ups. We plan to make the organisation feature a premium service so we can justify running and improving Passopolis for as long as it stays useful.
A slight tweak to draw the pendulums too makes the simulation look much nicer:
function draw (Ls, t, h) {
// only for in the program, needed?
for (var i = 0; i < Ls.length; i++) {
...
ctx.lineTo(h * L, 0)
ctx.arc(h * L, 0, 6, 0, 360)
ctx.stroke()
ctx.fill()
...
}
}
to do it right you really need to start another path, but this works fine in Chrome (looks little wonky in Firefox)