Unreleased Vault
Jean-Louis Rebello
Published
Built out of my desire to have a central place where I can upload my own unreleased music, share my vault with close friends only with special code.
•Built Full Stack Next.js web app with server components, API routes, and client components for releases, vaults, and playback.
•Used Prisma + PostgreSQL — ORM and relational DB for users, releases, tracks, vaults, invites, comments, likes, and plays.
•Integrated Firebase Authentication — Client-side auth and server-side session verification via Firebase Admin SDK and session cookies.
•Allowed large audio file uploads using Cloudflare R2 (AWS S3 SDK) — Object storage for audio and cover art, using presigned URLs for direct client uploads.
•React 19 + TypeScript — UI with Framer Motion, shared playback context, and typed APIs.