
The collections index
Themed collections
Collections are generated from the database: a new one needs no line of code. Every gallery has its own readable address and loads images as you scroll.
Alex photographs northern lights and extreme landscapes. He had a portfolio that needed a developer for every new gallery, and no way to sell his prints except through other people.
Next.js, Supabase, Stripe, Vercel

Home and featured collections
alexwides.com is a working photographer's platform: a portfolio with collections generated from the database, an e-commerce for limited-edition fine-art prints with Stripe checkout and international shipping, course landing pages connected to the client's existing teaching platform, photo tour pages by destination, and a custom back office that lets him run all of it himself. Stack: Next.js, TypeScript, Supabase, Stripe.
A beautiful portfolio that does not sell is a cost. Every update went through me, prints sold elsewhere, and contacts got lost between direct messages and email.
Four things in one site: portfolio, shop, school and trips.

The collections index
Collections are generated from the database: a new one needs no line of code. Every gallery has its own readable address and loads images as you scroll.

An open collection
High-resolution shots served in modern formats and loaded only when they enter the screen, because a gallery of dozens of images cannot weigh like one.

A print page
Every work has its sizes with differentiated prices and its print run. Copies still available are shown plainly: that is the information that makes people decide.

The cart
The cart survives closing the browser. Payment happens on Stripe with card, Apple Pay and Google Pay, and on confirmation the order writes itself to the database.

A course page
Each course has a page built to convert: curriculum, modules, previews and student work. Delivery stays on the platform the client already used.

A photo tour
One page per destination, with a day-by-day itinerary, what is included and what you learn. Enquiries arrive already tied to the right tour.
The panel replaces a traditional CMS and covers the five areas that actually change. That was the point of the work.
Collections
Create a collection, upload photos in bulk, reorder them, pick the cover.
Images
Title, description, alt text, hover image and display order.
Limited editions
Mark a work as a limited edition and set its price, number of copies and remaining availability.
Print sizes
Sizes and price list per individual work, not one price list for everything.
Orders
Customer record, order and order lines written by the webhook once payment is confirmed.
Courses
All the visual assets of the landing pages: covers, modules, before and after comparisons, student work, video.
Photo tours
Hero image and galleries for each destination.
Contacts
Messages, course waiting lists and one-to-one lesson requests, with instant email notification.
Headless architecture: the front end talks straight to Postgres, sensitive writes go through server-side APIs. No CMS licence fee.
Pages regenerated at different intervals by content type: fast like static, updated when the client publishes.
If updating your site takes a developer, and what you produce sells through other people, this is the work to do.
alexwides.com