BSquared²
Personal product·Lead Developer·2025·shipped

Wedshots

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

Next.jsNestJSPostgresRedisS3WebSocketsBun
Wedshots interface

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 I 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 me a lot about file delivery at scale and the importance of not breaking the photographer's existing workflow.