Skip to content
← All workPhotography marketplace / 2026

Fotto

An event photography marketplace that connects a moment on the course with the photographer who caught it. Find photos by event, selfie, or bib number; preview them before buying.

My role
Product engineering
Status
Shipped
Built with
Next.js, TypeScript, Supabase, AWS, Python

End to enddiscovery, purchase, delivery, and photographer workflows

Visit website ↗
Fotto public website
Public website · Captured October 2026

The idea

Your moment is in there.

Finishing a race is personal. Finding the photo should be, too. Fotto brings event photography into a single experience: choose an event, find your frame, preview it, and buy the images you want.

On the other side is a photographer who needs to upload a large gallery, protect their work, and deliver the purchase without manually handling every message.

The product

Two sides. One connected experience.

The buyer journey supports event discovery, bib and selfie search, watermarked previews, checkout, and a purchased-photo library. Photographer workflows cover onboarding, uploads, galleries, shop presentation, and payout visibility.

The engineering goes beyond the interface. Image processing, search, storage, access control, and delivery have to agree about which image belongs to which purchase. A successful payment must lead to the right download, for the right buyer.

The care

A fast interface needs a dependable system.

The frontend is built with Next.js and TypeScript. Supabase supports the application’s data and access controls, while AWS handles storage and parts of the processing and delivery infrastructure. Python supports image-search tooling.

Public previews and purchased originals have different jobs. That boundary carries through the storage, delivery, and authorization design. This case study shows the public product; private galleries, orders, and photographer operations are intentionally excluded.