I've spent the last few weeks working on the backend, I completely forgot how much work I put into making it able to render enough unique monkeys. Mostly a custom implementation built around THREE.js InstancedMesh to add animations, and support egonomically instancing lots of small types of objects