2025–Present

Sunset

Sunset exists because UCLA court reservations are a timing problem more than a scheduling problem: tennis and pickleball slots open 72 hours ahead and good times can disappear almost immediately. I traced the authenticated reservation flow, then built a multi-user Playwright scheduler that keeps sessions alive, waits for the release window, retries quickly, logs what happened, and recovers automatically if the browser or service dies. It runs on a small Vultr server under systemd, so the repetitive part of getting a court happens without someone sitting on the booking page at exactly the right second.