[ ] React rendering speedup - react app perf, use Profile and react-perf, React.memo and useCallback
[ ] Use web workers to run pose detection code, and to stop running the pose detection code when the component unmounts - see todo comments in webcam.js and AssessmentInProgress.js
[x] Otherwise, to cancel it, wrap webcam.js in a cancellable promise
Reduce bundle size, currently consuming 0.5Mb - https://create-react-app.dev/docs/code-splitting/ and https://create-react-app.dev/docs/analyzing-the-bundle-size/Make PWA, so that website can be cachedReact rendering speedup - react app perf, use Profile and react-perf, React.memo and useCallbackFirestore queries create local cache - https://cloud.google.com/firestore/docs/manage-data/enable-offline#disable_and_enable_network_access, https://codeburst.io/read-and-cache-data-with-firebase-firestore-80fc5466168d, https://medium.com/firebase-developers/firestore-clients-to-cache-or-not-to-cache-or-both-8f66a239c329Profile components with Why Did You Render: https://www.npmjs.com/package/@welldone-software/why-did-you-render - for example, LeaderboardDisplay renders thrice, but the second render results in no change to the UI