← All projects

Personal automation / In personal use

BookGym.

I built BookGym to turn a recurring gym schedule into bookings, without having to be online when each class opens.

BookGym calendar with sample classes, confirmed and upcoming bookings, a weekly recurring rule, and seat preferences for a cycling class.
The BookGym interface, shown with sample data. Select the image to view it at full size.

Plan once, adjust as needed.

Choose recurring classes, skip an individual week, or pause bookings while away. BookGym keeps the weekly plan separate from each booking attempt.

Choose how seats are selected.

Rank preferred seats, exclude others, and decide whether to accept a fallback. The booking follows those preferences when a class opens.

Know what was booked.

Stored jobs and event history distinguish confirmed reservations, waitlists, failures, and attempts that need review. Selecting a class shows its booking state and recent activity.

Working with an existing booking system.

A Python service uses Playwright to interact with the gym’s website. FastAPI serves the calendar, SQLite stores schedules and booking state, and a Raspberry Pi runs the application and scheduled jobs.

BookGym is in personal use. If you’d like to see it running, get in touch.