Mini session booking for photographers
The idea
Seasonal mini sessions (fall, Santa, spring blossom) are the highest-margin days on a portrait photographer’s calendar: 16 back-to-back 15-minute slots that sell out in hours. The selling currently happens in Instagram DMs and a spreadsheet, which produces double-bookings, no-shows without deposits, and hours of admin on launch day.
Calendly and Acuity model ongoing availability, not a single fixed date carved into a paid slot grid with a waitlist. That mismatch is the wedge: an event builder that spits out a public slot-picker page with Stripe checkout does exactly one thing the generic tools can’t, and it’s the thing that matters four times a year.
Who pays
The buyer is the portrait or family photographer, typically solo, who runs minis a few weekends per season. Price at $15/mo or $5 per event so occasional shooters don’t need to justify a subscription. Distribution is where photographers already gather: photography Facebook groups, mini-session prep courses, and Instagram, where every public event page is itself an ad with the product name in the footer.
MVP scope
- Event builder generating a back-to-back slot grid with buffers
- Public event page with live slot availability and Stripe Checkout
- Deposit-or-full-payment option per event
- Waitlist that auto-offers freed slots with a time-limited claim link
- Bookings list with client details and CSV export
- Skip for v1: galleries or photo delivery, contracts and model releases, recurring availability, SMS reminders, multi-photographer studios
Build MiniSlots, a booking tool for photographers running mini session events. Stack: Next.js App Router, Postgres via Prisma, Stripe Checkout for payments, magic-link auth for photographers. Core flow: the photographer creates an event: name, location, date, start time, slot length (10-30 min), number of slots, buffer between slots, price, and deposit amount (full payment or fixed deposit). The app generates the back-to-back slot grid and a public event page at a shareable URL. Clients tap a slot, enter name, email, phone, and child or family details, and pay via Stripe Checkout. Paid slots show as taken instantly. When the event sells out, the page switches to a waitlist form; if a booking is cancelled or refunded, the first waitlist entry gets an email with a 4-hour exclusive claim link before the slot reopens publicly. Pages: photographer dashboard (events with sold and remaining counts), event builder, public event page with the slot grid, bookings list per event with CSV export, settings and billing. Implementation details: hold a slot with a 10-minute reservation row when checkout starts and enforce a unique constraint on (event_id, slot_index) so two clients can never pay for the same slot; confirm bookings only on the checkout.session.completed webhook. Pricing: $15/mo unlimited events, or pay-per-event at $5, via Stripe.
// More SaaS ideas
-
Body-doubling app for ADHD focus
Match people into silent 50-minute co-working video sessions. Body doubling is a proven ADHD focus technique with a community already paying for it.
SaaS 1 week -
Tap list sync for breweries
Breweries retype tap lists into their site, TV, and print menus; update once and sync everywhere, including a taproom TV display.
SaaS weekend -
Client document chasing for bookkeepers
Bookkeepers stall every month-end waiting on client documents; a per-client checklist portal with escalating reminders until items arrive.
SaaS 1 week -
Seasonal site management for campgrounds
Small campgrounds manage seasonal site renewals on index cards; renewals, waitlists, and metered electric billing for seasonal campers.
SaaS 1 month