The nginx proxy was stripping Range and If-Range headers, forcing the browser to buffer entire MP3 files before playback could start. Added Range header passthrough, disabled proxy_buffering for audio streaming, and increased read timeout.
- Backend: FastAPI with SQLite, clip CRUD, health check - Frontend: React + Vite + TypeScript + Tailwind, dark theme - Components: Generator, Gallery, Player - Docker: Compose setup for backend + frontend - Architecture docs in Palace KB