All work

Photography business platform / 2026

AZA Photography

A custom Next.js platform joining bookings, payments, photo delivery, referrals, and business administration in one responsive experience.

Visit aza.photography
AZA Photography homepage in light mode with booking and gallery actions
The public homepage in light mode: service discovery, booking, and portfolio access from the first screen.

The challenge

A website and an operating system for the business.

AZA needed more than a portfolio website. The public experience had to help clients discover services and book sessions, while the business needed one dependable place to manage packages, payments, schedules, photo delivery, referrals, and promotions.

The approach

Custom code, joined-up workflows.

CuteKode built the platform as a custom Next.js and TypeScript application rather than using WordPress or a low-code builder. Public journeys and administrative workflows share one maintainable system, backed by PostgreSQL and connected to specialist services only where they add clear business value.

What the platform does

Customer experience outside. Business control inside.

Bookings to payment

Clients can choose photography services and book online. Stripe supports checkout, invoices, payment status, and refunds, with signed webhooks keeping the platform in sync.

Photo storage and delivery

Cloudflare R2 stores photography assets, with presigned browser uploads designed around serverless limits and a gallery workflow for organising and delivering work.

Referral growth loop

Shareable referral links and generated QR codes carry attribution into the customer journey. Credits are awarded on qualifying paid bookings and reversed after full refunds.

Operational control

The administrative area brings together bookings, an internal calendar, packages, campaigns, referral-credit settings, users, galleries, and photo delivery.

Direct client contact

A WhatsApp enquiry action opens a prefilled conversation, giving prospective clients a familiar route to ask about a session.

Reliable delivery pipeline

Neon PostgreSQL provides managed relational data, while Vercel handles production hosting and Git-connected CI/CD deployments.

One connected platform

Built around the complete client journey.

The feature set is designed as one flow, from discovery and enquiry through booking, payment, referrals, and photo delivery.

  • Responsive public photography website
  • Light and dark themes with saved preference
  • Online booking and internal calendar management
  • Stripe checkout, invoicing, webhooks, and refunds
  • Cloudflare R2 direct photo uploads and delivery
  • Google Drive and Google Photos workflows
  • QR code generation with referral attribution
  • Referral credits linked to payment lifecycle
  • WhatsApp enquiry integration
  • Admin tools for packages, campaigns, galleries, and users
  • Neon PostgreSQL with Drizzle ORM
  • Vercel hosting with Git-connected CI/CD
AZA Photography gallery in dark mode with photography category filters
The production gallery in dark mode, with useful content, category filters, and responsive image presentation.

Technology choices

Professional foundations, selected for the job.

Application

Next.js / React / TypeScript / Tailwind CSS

Data

Neon PostgreSQL / Drizzle ORM / Cloudflare R2

Commerce

Stripe Checkout / Invoices / Webhooks / Refunds

Delivery

Vercel / Git-connected CI/CD / Analytics / Speed Insights

Need more than a template?

Let's build around the way your business actually works.

Discuss your project