add SvelteKit frontend and OAuth 2.1 authentication
## frontend
- replace basic HTML with SvelteKit + bun for proper UI framework
- create home page with track listings and audio player
- create login page with OAuth flow initiation
- create artist portal with track upload form
- use dark theme consistent with relay aesthetic
## authentication
- implement OAuth 2.1 using atproto fork (git+https://github.com/zzstoatzz/atproto@main)
- add OAuth endpoints: /auth/start, /auth/callback, /auth/session
- handle cross-domain cookie issues for ngrok → localhost redirect
- add /client-metadata.json endpoint for OAuth discovery
- store sessions in-memory (MVP - migrate to redis later)
## api changes
- remove old HTML frontend routes (frontend.py)
- update auth endpoints to use OAuth instead of app passwords
- add intermediate /auth/session endpoint for localhost cookie setting
- improve error messages in upload endpoint
## configuration
- add OAuth settings to config (client_id, redirect_uri)
- update .env.example with OAuth configuration
- simplify justfile to minimal commands
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
This is a binary file and will not be displayed.
This is a binary file and will not be displayed.
This is a binary file and will not be displayed.