프로젝트 소개

The NYRR volunteer-slot watcher is an automation script designed to help volunteers secure spots in New York Road Runners (NYRR) events, specifically targeting roles eligible for the '9+1' program. Running on GitHub Actions, it operates independently of a local machine, checking volunteer opportunities every 15 minutes. How it works: 1. Discovery: Uses headless Chromium (Playwright) to scrape the NYRR volunteer opportunities page, collecting event links that are not accessible via plain HTTP requests. 2. Availability Check: Fetches each event page via simple GET requests to determine role status (Available vs. Sold Out) and identifies if a role carries the 9+1 tag. 3. Notification: Compares current status with a saved state (`state.json`). If a change is detected (e.g., a spot opens up or a new event is listed), it sends a push notification to the user's phone via ntfy.sh. This ensures no spam, as notifications are only sent on transitions. Setup: - Install the ntfy app on iOS or Android and subscribe to a unique topic. - Configure the GitHub repository with the necessary scripts and set the `NTFY_TOPIC` secret. - Run the workflow manually to initialize the state file and verify notifications. Tuning and Limitations: - Users can adjust the cron schedule or disable the 9+1 filter to monitor all openings. - The tool monitors the anonymous view of event pages, so slots reserved for logged-in Member+ accounts during advance windows might not be detected until general opening. - It does not automate registration (which involves reCAPTCHA); it only alerts the user to act quickly.