That is pretty neat. Improvements on the analytic side (if you are interested in the opinion of a random person on the internet) would be to scale your coordinate system (e.g. scale the distance and time to make average velocity and radius equal 1) and look into using a symplectic integrator. Better for these types of systems.
Thanks. I remember in the course, keeping the energy constant is the big issue. They used the symplectic integrator to improve it. In the game, if you let it run long enough, the error visibly shows up.
https://github.com/madengr/nbody
While it was a good course, I wish it covered the analytic portion, rather than dive straight into numerical solutions.