CV data moved to Firebase, and introduces a reusable loading indicator and 500 error page