Protect recordings per user, seed a demo login on container start, and bind-mount the app with Vite HMR for local Compose development.
Batch uploads were only storing files as pending without dispatching Whisper jobs; queue them immediately, add a bulk pending action, and show human-readable status labels.