Skip to main content
Calhoun.
Get a Quote
All work

Case study · 2026

Madison Faith Photo

A custom photography website with client portal, admin dashboard, Stripe payment, private gallery, and passwordless access add-ons that help Madison manage more of the client experience in one place.

Visit live website
Client
Madison Faith Photo LLC
Location
Brooksville, Florida
Project type
Custom public website with private client and studio tools
Package
Custom site + client portal, admin dashboard, Stripe payments, private gallery delivery, and passwordless client access
Homepage design for Madison Faith Photo

Before the project

Madison needed the public website and the work after booking to feel connected.

A portfolio alone would not solve the day-to-day work behind the business. Madison also needed a place to collect inquiries, keep client and session details organized, send payment requests, and deliver private galleries without sending clients through several unrelated tools.

What I changed

The public site brings in inquiries, while the private side helps Madison manage what happens next.

I built the marketing site, studio dashboard, and client portal inside one Next.js project. Visitors can browse the work and inquire. Madison can manage clients, sessions, balances, and galleries. Clients can sign in through a secure email link to view the information connected to their account.

What the finished site does

  • Public portfolio and inquiry pages
  • Studio dashboard for clients and sessions
  • Passwordless client portal
  • Stripe-hosted payment requests
  • Private gallery uploads and delivery controls
  • Responsive layouts for desktop and mobile

A closer look

Screens from the public site and the tools used behind it.

The public pages help visitors decide whether to inquire. The private screens help the business manage the work that follows.

Madison Faith Photo public inquiry page with a styled lead form and introductory copy
The inquiry page gives prospective clients enough guidance to send a useful first message without making the form feel clinical or out of place on a photography website.
Madison Faith Photo admin client management view showing a client record summary
Madison can review each client, their active status, project history, and balance from the studio dashboard.
Madison Faith Photo admin session creation form with fields for client, type, date, status, pricing, and notes
The session form keeps the information Madison needs in one place, including the client, date, location, package, price, payment progress, and private notes.
Madison Faith Photo admin gallery settings and direct photo upload screen
Gallery settings and photo uploads live together, so Madison can control downloads, favorites, expiration dates, and delivery status before sharing the gallery.
Madison Faith Photo mobile client portal showing project and payment summaries
The portal is designed for phones as well as desktops, since many clients will check documents, balances, and gallery progress from a mobile device.
Madison Faith Photo public gallery page with wedding and lifestyle photography
The public gallery is part of the marketing site. It lets prospective clients browse Madison's style and is separate from the private galleries delivered through the portal.

What improved

Madison can manage more of the client experience without jumping between separate tools.

Madison now has one place to manage more of the client journey, from the first inquiry through payment and gallery delivery. Clients receive a branded portal instead of a collection of disconnected links, and the public website still keeps her photography at the center.

For technical readers

A few behind-the-scenes choices that make the client experience easier to manage.

Here are the main technical choices behind the project and why they matter.

Technology

  • Next.js 16
  • React 19
  • TypeScript
  • Supabase
  • Stripe Checkout
  • Vercel

Work included

  • Web design
  • Responsive Next.js development
  • Local and technical SEO
  • Studio dashboard
  • Client portal
  • Stripe payments
  • Private gallery delivery

Structure

Public site and studio tools stay connected

The marketing site, Madison's dashboard, and the client portal live together, so the experience feels connected without exposing the private side to public visitors. It also means changes to the brand can carry through the whole site instead of being recreated in separate tools.

Client access

Clients sign in from their email

Clients receive a secure sign-in link instead of creating another password. Madison keeps a separate admin account, and each client only sees the sessions, balances, and galleries connected to their own record.

Private galleries

Madison controls when a gallery is ready to share

Madison can upload a gallery, set download and favorite options, choose an expiration date, and decide when it becomes visible in the client's portal. The original files stay private rather than being published as permanent public links.

Why the private side stays private

Client records and payments are not treated like public website content.

  • Clients only see records tied to their own account
  • Admin tools require Madison's protected studio account
  • Private gallery files are not exposed as permanent public links

Why these choices matter

The technical pieces remove work instead of adding another system to manage.

  • Stripe handles card entry, so payment details are not collected by the website itself.
  • Payment status is confirmed with Stripe before the dashboard marks a request as paid.
  • The public site, portal, and dashboard share the same visual language so clients are not sent into a completely different-looking service.

Project note

The public website is available at MadisonFaithPhoto.com. The dashboard, client records, payment tools, and private galleries are protected, so the screenshots use demonstration data.

Have a project in mind?

Tell me what is making it harder for customers to book, buy, or find the information they need.

Start Your Project