Booking now runs on a dedicated, always-on backend — submissions, cancellations, and your queue all update in real time.
Public Apps · Labs origin
LiveCH Tee Time Sniper
Tee sheet opens at noon, and good slots go quickly. Sniper watches the clock so you don’t have to keep checking.
It syncs to the exact moment the release window opens and submits your preferred time right then. Live and booking real tee times today.
CH member? Registering takes a couple of minutes. Everyone else, the second door reaches us just as well. Read the FAQ first →
Problem & solution
Popular Chatham Hills tee times release at noon sharp and can be gone within seconds. So it’s on you to remember: set an alarm, then drop whatever you’re doing at noon to refresh the club app and hope your slot is still there. That scramble lands in the middle of lunch, church, or your own round — if you play 9am Saturdays, noon is the back nine, and next week’s tee time depends on stepping away from this week’s.
Sniper watches the portal in the seconds before release, synced to an accurate clock, and submits your preferred slot the instant it opens. No alarm, no stepping off the course.
How it works
From your side, three steps — then what to actually expect, in plain terms.
Register, once
Set a username and password. A personal invite link fills most of it in for you.
Tell it what you want
Day, time, and who’s playing. That request drops into the queue — you can add more than one, and cancel anytime before it’s claimed.
It watches, then books
Sniper stays synced to the release moment and submits right as the window opens. Your request's status updates as it moves from pending to booked.
You’re logged in right away — no email link to click first. A confirmation email follows as a receipt, not a gate. Your session stays signed in on that device until you clear browser data. Submit whenever you like; Sniper only starts watching the clock as the release moment approaches, not the second you submit. This is a small, single-club tool built and run by one person, so expect it to keep changing.
The story
On Sunday, June 28 I went to book a tee time for Saturday, July 4, and the whole day was already gone. Tee times release at noon sharp, exactly 7 days ahead. Plenty of members know that, so plenty of members set an alarm.
The first working version took about 8 hours. Keeping it running has taken far longer: most of the time since has gone into testing against real release windows, hardening, and moving it onto real hosting. You submit a request, it lands in a queue, and a background worker synced to an accurate clock submits it the moment the window opens.
Recent additions
What’s landed lately, and what’s next.
See the club’s own screen
Every confirmed booking has a “ForeTees” button showing the real Chatham Hills booking form as it looked the moment Sniper submitted it — so you can check Players 1 through 4 came out right instead of taking the app’s word for it.
Delete a tee time
Cancelling a booked slot still means signing into chathamhills.com yourself. A Delete button that cancels it at the club is being built now. One limit up front: the club blocks online changes on the day of play, so same-day cancellations will always go through the pro shop.
How your info is stored
Being straightforward about where this stands today.
Your password is never stored in plain text — it’s hashed with scrypt and a unique random salt per account. That said, this is a small single-VM setup: your account record lives in a file-based store on one server, not a hardened multi-tenant database. Honest, not a hidden risk — treat your Sniper password as a low-stakes one, not something you reuse from a bank or email account.
FAQ
Is the username/password I set here my Chatham Hills login?
No — it’s a separate, Sniper-only account with nothing to do with your real Chatham Hills credentials. All it does is unlock your own request queue. Actual bookings go through one shared club login Caleb manages server-side; Sniper never asks you for your real club username or password, anywhere.
Where does my data live, and is my password safe?
Passwords are hashed (scrypt, per-account salt) before they’re ever written to disk. Everything sits in a small file-based store on one server Caleb operates — see “How your info is stored” above.
What if I forget my password?
No self-service reset yet (it’s on the roadmap below). Email caleb@fairwayadvisors.ai and it’ll get sorted by hand.
Do you store any payment information?
No. This is a private club with no billing or payment step involved anywhere in the booking flow.
Will Sniper ever book something I didn't ask for?
No — it only acts on requests you (or someone provisioning on your behalf) submitted, scoped to one club and your requested slot.
Why does it warn me when I pick a date less than 7 days out?
Chatham Hills releases each day’s sheet exactly 7 days ahead, at noon. Request a date closer than that and its release moment has already passed, so the sheet may already be full. Sniper still queues it and tries, but there’s no timing advantage left. Requesting further out is what lets it pounce the instant the sheet opens.
Does Sniper book the instant a tee time releases, or could there be a delay?
It can take up to 5 minutes to pick a request up — the worker checks the queue every 5 minutes, not continuously. Submitting well before the release window rather than right at it gives the best shot: the worker will already be holding your request, ready to pounce.
Do golfer names need to match anything specific?
Yes — every golfer’s name has to match the Chatham Hills member directory exactly. That’s how the booking step finds and adds each person. A name that doesn’t match fails with an error asking you to check the spelling, rather than silently booking the wrong person.
Is this an official Chatham Hills product?
No — it's an independent tool built by a member, not something the club runs or endorses.
Roadmap
- Clock-sync & portal polling
- Shadow-mode dry runs against live release windows
- Confirmed automatic booking, live — real reservations today
- Club-screen view of every confirmed booking
- Postgres as the system of record for events and the booking queue — the original Sheets backend retired from this app’s path
- Delete a booked tee time from the app — in development
- Deleting limited to tee times Sniper booked, never one made at the club
- Restrict added golfers to registered Sniper users
- Password reset flow
- Multi-club support
Built with
Something broken, or an idea? Email caleb@fairwayadvisors.ai — a one-person project, and every note gets read.
Ready to stop hitting refresh and hoping?
Register in a couple minutes and let Sniper watch the clock for you. Not a Chatham Hills member? There's a door for you too.
Register for access