Photo gallery expiry warnings that sell prints

Micro-SaaSWebweekendNext.jsSupabasePostmarkStripe

The idea

Wedding galleries expire, and almost every photographer lets them expire silently. The couple meant to download everything; forty guests meant to order prints; nobody did, because nobody was told the door was closing. Pixieset and Pic-Time have expiry dates and even token reminder emails, but nothing resembling actual urgency marketing, and nothing aimed at the guest list at all.

Deadlines sell. A T-30/14/3/1 sequence against a real expiry date is the oldest trick in e-commerce, pointed at an audience with genuine sentimental intent. For the photographer this is pure found money on shoots already delivered, which makes it the easiest possible sale.

Who pays

Photographers pay 15 USD/month for unlimited campaigns. One guest print order or one couple buying a download package covers months, and photographers can see the attributed clicks per email. Distribution: photography business Facebook groups, podcasts like Sprouting Photographer, and affiliate deals with photography educators who already sell pricing and upsell courses.

MVP scope

  • Campaign wizard: gallery URL, expiry date, CSV recipients in two audiences
  • Automatic T-30/14/3/1 email sequence with per-audience copy
  • Click tracking per email and manual revenue logging per campaign
  • Template editor with merge tags
  • Per-campaign unsubscribe and a fulfilled switch that halts sends
  • Skip for v1: gallery hosting, print fulfilment, Stripe checkout for buyers, SMS, gallery-platform API integrations
// Build prompt — paste into Cursor / Claude Code / Lovable / Bolt
Build LastCall, a web app that runs gallery-expiry email sequences for wedding and portrait photographers.

Stack: Next.js (App Router), Supabase (Postgres + auth), Postmark for email, Stripe for billing.

Core flow: the photographer creates a campaign by pasting their existing gallery URL (Pixieset, Pic-Time, ShootProof, anything), setting the expiry date, and uploading a CSV of recipient emails split into two audiences: the couple and the guests. The app schedules an automatic sequence against the expiry date: T-30 (your gallery closes in a month), T-14, T-3, and T-1, with slightly different copy per audience (the couple gets download-everything urgency, guests get order-prints urgency). Every email link is wrapped for click tracking, and the photographer can log sales manually against a campaign to see revenue per send.

Pages: magic-link login, campaigns list with status, new-campaign wizard (URL, expiry, CSV upload with dedupe), campaign detail showing the timeline with per-email sent/open/click counts and logged revenue, template editor with merge tags (couple names, expiry date, gallery link), billing.

Implementation details: schedule sends with a daily cron comparing dates, not queued jobs at creation time, so editing an expiry date reshuffles the remaining sequence cleanly. Include one-click unsubscribe per recipient scoped to the campaign, and suppress sends if the photographer marks the campaign fulfilled.

Pricing: 15 USD/month unlimited campaigns via Stripe Checkout, 30-day trial.

// More Micro-SaaS ideas