Every October, a family photographer in Asheville runs the same gauntlet. She posts one Instagram story — fall mini-sessions, one Saturday at the orchard, twenty-minute slots — and her inbox detonates. Forty DMs in an hour, most of them asking for 10 a.m. She copies names into a spreadsheet between replies, chases deposits over Venmo, and inevitably promises the same golden-hour slot to two families who both screenshot her "you're in!" message.
Her regular work has the opposite problem. A newborn session blocks three hours; a headshot takes forty-five minutes; a wedding consult is a half-hour video call. Generic scheduling tools want every appointment to be the same length, and the ones flexible enough for her mix run $30–40 a month and still can't take a retainer the moment someone claims a date.
Her spreadsheet already knows everything — who's booked, what they owe, where the shoot happens. What it can't do is face clients. So she had AI build the client-facing half on top of it. Free, in an afternoon.
Hers is three tabs, and yours probably rhymes with it:
The Bookings tab carries the columns that actually run the business:
| Column | Example |
|---|---|
| Client | Priya & Dev M. |
| Shoot type | Newborn — in home |
| Duration | 3 hours |
| Date/time | Nov 3, 9:00 AM |
| Location | Client's home, West Asheville |
| Deposit paid? | Yes — $150 |
| Balance | $275 due at gallery delivery |
| Notes | Wants sibling shots with toddler |
Nothing needs reformatting. The sheet stays exactly as it is — it's about to become the back end.
Sign up at lovespreadsheets.com; no card required. Building the booking page and running it cost nothing — the paid tier is mostly for hosting it on your own domain.
Pick the Website template. For SMS or WhatsApp confirmations, create a Twilio account first and have the Account SID, Auth Token, and number ready; messages cost roughly a penny apiece.
Then write out how booking works, in your own vocabulary:
"Clients pick a shoot type from the Session Menu — each has its own length, so a newborn session blocks three hours and a headshot only forty-five minutes. Offer only openings from the Availability tab, minus anything already in Bookings. For the October 18 minis, keep the slot grid hidden until 7 p.m. on September 1, then let families grab twenty-minute slots. Collect the deposit during booking — a date isn't held without it. Leave a 45-minute gap between sessions at different locations. Text the client a confirmation, and text me too."
Three asks worth making explicitly:
Run AI Optimize on your write-up, answer any clarifying questions the AI sends back, and the build finishes in about 15–20 minutes.
They tap the link in your bio, choose a shoot type, and the calendar offers only windows long enough for it. A family hunting minis sees the twenty-minute grid the second it goes live — claimed squares simply vanish as other families grab them. The deposit screen comes before the confirmation, so every date on your calendar is a paid date.
Each booking lands in your sheet as a new row, and every edit you make — blocking a weekend for a wedding, nudging a start time — changes what's offered instantly. Confirmations go out on their own, a reminder fires before the session, and your phone pings when a slot fills.
Golden hour is yours to define. No dropdown of rigid hour blocks — you decide that Saturday evenings open at 6:10 in June and 4:40 in October, and the page offers exactly that.
Deposits stop being a chase. The retainer is part of booking, not a follow-up message, and the balance owed sits in the same row you'll check at gallery delivery.
One sheet holds every kind of work. Minis, newborns, headshots, consults — wildly different durations and prices coexist because they're just rows in the Session Menu, not separate "event types" to configure.
Can clients reschedule when a newborn arrives early? Yes — request reschedule links in your description and the confirmation text carries one; the old slot reopens the moment they move.
What happens to unsold mini slots? They stay bookable until the day, or ask the system to close the grid 48 hours out so you can plan the shot list.
Do I have to use Twilio? No — skip it and confirmations arrive by email. Add texting later if the mini-session crowd keeps "forgetting" their times.
Your next mini-session drop doesn't have to be an inbox fire. Bring the sheet you already trust to lovespreadsheets.com, describe how you book — durations, deposits, drive time — and by tonight there's a page handling it while you edit galleries.
The team turning other people's spreadsheets into software they actually trust — one sheet at a time.