Storm dispatch for snow plow contractors

SaaSWeb1 monthNext.jsSupabaseTwilioStripe

The idea

Snow contractors live two miseries every winter: 3am dispatch by frantic phone calls, and the springtime dispute where a commercial client says “you never plowed us on the 14th” and refuses the invoice. Both are information problems. The owner has routes in his head and proof of service nowhere, and per-push billing means every undocumented push is revenue an accounts-payable clerk can simply decline.

Enterprise platforms like Yeti serve the 50-truck fleets. The 2-to-8-truck operator, who plows 40 to 150 properties a night, has group texts and memory. The wedge is a driver experience so thin it survives 3am (a texted link, an ordered list, one Done button that grabs a timestamp, GPS, and a photo) feeding a live board for the owner and a season of court-grade service records for billing.

Who pays

The contractor pays 99 USD/month for the six months of the season. A small operation bills 30 to 60 USD per push across dozens of properties per storm; winning one disputed invoice or shaving the nightly phone chaos pays the year. The seasonal billing matches how these businesses think about every expense. Distribution: SIMA (the snow industry association), landscaping and plowing Facebook groups where dispute horror stories are a weekly genre, and equipment dealer counters.

MVP scope

  • Properties and routes with contract types and service notes
  • One-tap storm activation with Twilio route links to drivers
  • Driver mobile web view: ordered stops, Done with timestamp/GPS/photo, skip with reason
  • Live storm board with per-route progress
  • Storm close-out generating draft Stripe invoices with proof attached to each line
  • Skip for v1: GPS truck tracking hardware, weather-triggered auto-activation, salting/material inventory, subcontractor payouts, route optimisation
// Build prompt — paste into Cursor / Claude Code / Lovable / Bolt
Build PlowOps, a web app for snow removal contractors running 2 to 8 trucks. Stack: Next.js (App Router), Supabase (Postgres, Auth, Storage, RLS), Twilio for SMS, Stripe for invoicing. Owner uses the full app; drivers use a mobile web view via signed link, no app install, no passwords.

Data model: Clients and Properties (address, service notes like "do not pile snow by hydrant", contract type: per push, per event, seasonal), Routes (ordered property lists assigned to a driver), Storms, Pushes.

Storm flow, the core: owner taps Activate Storm and picks which routes run. Twilio texts each driver a signed link to their route: an ordered list of properties with address (tap to open in maps), service notes, and one big Done button per property. Tapping Done records a server timestamp and GPS from the browser, and prompts for a photo (camera capture, uploaded to Supabase Storage, auto-stamped with time and property). Drivers can mark skipped with a reason. Owner watches a live storm board: per-route progress, last completion, properties still open.

Billing: closing a storm turns completed pushes into draft invoice lines per client (per-push rate from the contract; per-event and seasonal contracts get service records instead of charges). Owner reviews and sends via Stripe. Every invoice line links to its timestamp, GPS, and photo, which is the dispute-killer.

Pages: storm board, routes editor, properties/clients, driver route view, invoices, season history, settings.

Pricing: 99 USD/month, billed November through April only.

// More SaaS ideas