PDF storage, previews and sharing

The Archive

The Archive is a PDF vault with storage scoped to each user. I built in-browser previews and shareable links so people can find their documents and choose what to share.

The challenge

I wanted uploading, previewing and sharing to feel straightforward. File operations also needed to stay tied to the authenticated owner.

What I built

I used Supabase authentication and verified bearer tokens on the server. A storage abstraction lets the app use either Vercel Blob or Supabase Storage. Users can search, browse recent and shared files, delete documents and create public sharing links.

Details & scope

Uploads use user-scoped paths and signed direct uploads. File signatures and a 20 MB limit are checked before files are published. I passed 66 tests across seven test files covering authentication, file routes, upload validation, storage boundaries and rate limiting.

Next.js / TypeScript / Supabase / Vercel

Explore all projects