Repeat job reminders for septic pumpers

SaaSWebweekendNext.jsSupabaseTwilioStripe

The idea

Septic tanks need pumping roughly every three years, which means every pumping company is sitting on a list of guaranteed future jobs. Most owner-operators keep that list in a spreadsheet or a filing cabinet, and the reminder system is “hopefully the customer remembers us”. They don’t. The customer googles “septic pumping near me” in year three and a competitor gets the $400 job.

The wedge is the cycle itself. Because pump-outs are predictable to the month, the entire product is a dated job ledger plus an automated SMS queue with a rebooking link. ServiceTitan and Jobber can technically do this, but they cost $100 to $300 a month and take weeks to set up. A pumper wants one CSV upload and then texts that go out on their own.

Who pays

The buyer is the owner of a one-to-three-truck septic company, and $49/mo is an easy yes because a single recovered pump-out covers the year. Sell it directly: Facebook groups for septic and portable sanitation operators, state onsite wastewater association lists, and cold email to companies with good reviews but no booking system on their site. Flat monthly price, no per-text metering to explain.

MVP scope

  • CSV import of historical jobs with column mapping and dedupe by phone number
  • Automated SMS at 30, 34, and 36 months with editable templates
  • One-tap rebooking page per customer via signed link, feeding a request inbox
  • Mark-job-done action that resets the customer’s cycle
  • Stripe subscription billing with a 14-day trial
  • Skip for v1: scheduling and dispatch, invoicing, route maps, email reminders, multi-user roles
// Build prompt — paste into Cursor / Claude Code / Lovable / Bolt
Build TankDue, a web app that wins repeat pump-out jobs for septic companies. Stack: Next.js App Router, Supabase (Postgres, magic-link auth, no passwords), Twilio for SMS, Stripe for billing.

Core flow: owner signs up, uploads a CSV of past jobs (customer name, mobile, address, last pump-out date). The app sets next-due at 36 months and queues three SMS reminders per customer at 30, 34, and 36 months after the last job. Each text includes a short signed link to a one-tap rebooking page (no customer login) where they pick a preferred week and confirm. Confirmed requests land in an inbox; marking a job done resets the 36-month clock.

Pages: dashboard (customers due in the next 90 days, sorted by due date), customers table with CSV import wizard and column mapping, reminder settings (cadence and editable message templates with merge fields), booking requests inbox, billing.

Implementation details: a daily cron (Vercel cron) scans for due reminders and sends via Twilio; store an idempotency key per customer-plus-stage so re-runs never double-text. Handle STOP replies via Twilio webhook and flag the customer as opted out.

Pricing: single $49/mo plan via Stripe Checkout, 14-day free trial, no free tier.

// More SaaS ideas