The biggest difficulty was making sure the scene was optimized.
The final version ended up being 2.4mb and is fully responsive on all screen sizes.
For an added degree of realism, the shadow is a flat-plane texture instead of the native ThreeJS shadow.