If you’ve ever tried to book a summer weekend at a Colorado campground, you know the drill. The good sites release months out and are gone in minutes. After that your only shot is a cancellation, and catching one means refreshing recreation.gov at odd hours like it owes you money. I did that for weeks.
So I built the thing that refreshes for you. Campsite Ranger went live this month at campsiteranger.com. I built every piece of it myself, with Claude Code as my co-builder. The git log says 337 commits between July 8 and August 27.
It started as the friends-and-family edition
The first version was a favor. A Python script polled recreation.gov, diffed availability against the last check, and emailed my camping group a booking link when something matched. Nobody paid anything. Then sites that had been sold out for months opened for our exact dates and we booked them while everyone else was asleep. That’s when a script starts wanting to be a product.
What shipped
Campsite Ranger watches 49 Colorado locations: 43 campgrounds from Rocky Mountain National Park to the Great Sand Dunes, timed-entry permits for RMNP, Mount Blue Sky, and Brainard Lake, and 3 wilderness zones in the Maroon Bells. When a cancellation opens inside your dates, you get an email with the booking link before the next person refreshes.
The half no other tracker does: it keeps watching after you book. Active wildfires within 40 miles of your trip, official NPS closure alerts, smoke and weather. Grabbing the site is step one. Knowing the trailhead closed on Thursday is what saves the weekend.
A watch is free during the beta. A Trip Pass is $7. The first hundred members lock in $25 a year for life, and the price goes to $49 after that.
Claude Code wrote most of the code. The business was still the hard part.
I’ve spent fifteen years selling technology other people built: agency work at Crispin Porter + Bogusky, data at Oracle, edge infrastructure at Fastly, an AI acquisition product at Zeta. There was always an engineering team on the other side of the wall. This time there was a terminal.
The loop was plain. I described what should exist, Claude Code wrote it, I read it, tested it, and shipped it or sent it back. It carried the syntax, the boilerplate, and most of the debugging. It couldn’t carry any of the deciding. Which 49 locations out of hundreds. What an alert says at 6 a.m. so a groggy human taps the right link. What to cut, which was most things. What it costs. I was the product manager, the designer, the QA team, and the guy the QA team escalates to.
That loop is the most useful sales training I’ve had in years. I now know where these tools stop and a person has to start, because I hit that line a few hundred times in seven weeks. When a technical buyer asks what the model handles and what their team will still own, I can answer from my own git log.
The read for sellers
You don’t need permission or an engineering org to ship something real. Pick a gripe you already understand better than anyone and build with the tools you sell until the thing runs at 2 a.m. without you. Writing the code got cheap this year. Deciding what to build and finishing it did not, and you only get better at those by shipping.
The ranger in the logo is my dog, Berkeley. She’s the only other member of the team, and she slept through every deploy.
