Danny Cuevas
2025Portfolio site and album-management backend for a wedding photographer: authenticated admin, album and gallery browsing, and large-scale photo uploads to Backblaze B2.
- Next.js ·
- PostgreSQL ·
- NextAuth ·
- Backblaze B2
The problem
A wedding photographer lives or dies by the work people can see, but a photography site is more than a gallery. Clients need a polished portfolio to browse, and the photographer needs a private way to manage albums and move a large volume of high-resolution photos without fighting the tooling or paying for bloated storage.
The approach
I worked on Danny Cuevas as a portfolio site with an album-management backend on Next.js. The public side is album and gallery browsing designed to show the photography well; the private side is an authenticated admin where the photographer manages albums. The piece that needed the most care was large-scale photo upload: instead of leaning on expensive default object storage, uploads go straight to Backblaze B2 through presigned URLs, which keeps storing a lot of large images affordable and the uploads fast. Accounts run on NextAuth, and the data sits on zql, the same type-safe PostgreSQL layer used across the other systems.
The outcome
The result is a site that presents the photographer’s work cleanly and gives them a practical back office to manage it, with photo storage that scales to a real wedding workload without an outsized bill.