B Squared2
←  All work

Wedshots

A booking and gallery platform that helps wedding photographers coordinate with the couples they shoot for.

Client
Own product
Role
Lead Developer
Year
2025
Status
Shipped
Stack
Next.js, NestJS, Postgres, Redis, S3, WebSockets, Bun
B SquaredWedshotsNext.js · NestJS · Postgres

The problem

Wedding photography is a coordination nightmare on both sides. Photographers juggle dozens of couples, each with their own shot lists, schedules, and preferences. Couples want to see proofs, choose favourites, and share galleries — without forty separate Dropbox links and email threads.

Wedshots collapses that into one platform: photographers manage their bookings and deliver galleries; couples browse, favourite, and share, all from a single account.

What we built

A full-stack platform with a tight focus on the day-of and post-shoot workflows:

  • Next.js frontend for both photographer dashboards and couple-facing galleries
  • NestJS API with typed booking, gallery, and authentication flows
  • S3-backed storage for high-resolution image delivery with derivative caching
  • Real-time chat between photographers and clients via WebSockets — questions during planning, image feedback during delivery
  • Redis for sessions and pub/sub
  • Bun runtime for the API — quicker cold starts than Node, no transpilation step

Outcome

The platform is shipped and in use. The photography workflow is the kind of thing that's easy to underestimate until you sit with someone who's tried to manage twenty weddings on consumer-grade tools. Building it taught us a lot about file delivery at scale and the importance of not breaking the photographer's existing workflow.

Something like this, for your business.

Tell us what you're working around at the moment and we'll tell you how we'd approach it.

00Cookies

This site uses Google Analytics to count visits and see which pages get read. It sets cookies, so it stays switched off unless you say yes. Nothing else is tracked, nothing is sold, and there is no advertising. What this means

00Analytics

We count visits with Google Analytics, which sets two cookies, to see which pages get read and improve the site. Google only processes it for us: no advertising, no data sharing, no profiles. You can turn it off now or any time from Cookie settings in the footer. The details