Cancellation alerts for booked-out campgrounds

ConsumerWeb1 monthNext.jsPlaywrightTwilioStripe

The idea

Summer weekends at Yosemite or Assateague sell out months ahead in seconds, but cancellations trickle back constantly — people rebook, plans change, refund deadlines pass. Those released sites go to whoever happens to refresh at the right moment, which in practice means nobody you know. Campnab built a real business charging USD 10-50 per scan for exactly this alerting, which settles the willingness-to-pay question; its pricing and dated UX leave the self-serve end of the market open.

The wedge is latency and specificity. Recreation.gov exposes public availability data that can be polled every few minutes; the product’s job is to watch exact facilities, dates, and site requirements (RV length, hookups, the good loop) and get an SMS with a direct booking link into the user’s hand within a minute of a drop, because the site will be gone in ten.

Who pays

Campers who already lost the booking-day race for a specific trip: the highest-intent moment in the hobby. GBP 8 a watch is nothing against a family camping trip, and frequent campers convert to the GBP 9 monthly unlimited tier. Distribution: r/camping and park-specific Facebook groups where “any way to get a cancelled site at X” is asked daily, SEO on “[park name] cancellation alerts”, and word of mouth from anyone whose text got them a July weekend at a sold-out park.

MVP scope

  • Park and campground search backed by a mirrored facility index
  • Watch creation with date range, consecutive nights, and site-type filters
  • Polling worker with per-facility deduping, jitter, and flap debouncing
  • SMS alerts via Twilio with deep links to the exact site’s booking page
  • Stripe per-watch and monthly unlimited billing
  • Skip for v1: state park systems, ReserveCalifornia, auto-booking, email-only alerts, and permit lotteries
// Build prompt — paste into Cursor / Claude Code / Lovable / Bolt
Build SiteWatch, a service that alerts campers the moment a cancellation opens their dates at a sold-out campground. Stack: Next.js (App Router) for the web app, a Node worker using Recreation.gov's public availability JSON endpoints with Playwright as fallback for anything the endpoints do not cover, Twilio for SMS, Stripe for billing. Recreation.gov only in v1 — resist adding state park systems until the core loop is proven.

Core flow: user searches parks/campgrounds (mirror Recreation.gov's facility index into your own database for instant search), creates a watch with a date range, minimum consecutive nights, and optional filters (loop, site type: tent/RV with length, electric hookup). The worker polls each watched facility's monthly availability endpoint every 2-5 minutes. When a matching site flips to available, fire an SMS within seconds containing site number, dates matched, and a direct deep link to that campsite's booking page — cancellations at popular parks are re-taken in minutes, so alert latency is the entire product.

Pages: park search, watch creation, my watches (active/matched/expired), alert history, and account/billing.

Implementation details: poll politely — randomised jitter, conditional requests, one facility fetch shared across all users watching it (dedupe by facility+month, fan alerts out from a single result). Debounce flapping availability with a 60-second confirm-still-available recheck before texting.

Pricing: GBP 8 per watch (runs until matched or dates pass) or GBP 9/month unlimited watches, via Stripe. Undercut Campnab's per-scan pricing deliberately.

// More Consumer ideas