SvelteKit spike

Throwaway Phase 2 spike for decision 0003. Not linked from the live site. See docs/decisions/0003-sveltekit-frontend-replaces-liveview.md §6a.