May 1, 2022 (updated)

Over the past few weeks, I’ve been working on building together with my good friend @ravernkoh.


When COVID-19 hit, many climbing gyms in Singapore adopted timeslot-booking systems in order to limit the number of people in their facility.

All of a sudden, climbing passes only granted you a 2-3 hour climbing session, and there were a limited numer of slots as well. Climbing with a group of friends became difficult to organise as you’d have to know which gyms had capacity ahead of time, which was tedious to do.

And that’s when I hatched an idea to scrape climbing gym booking sites, and when we actually gave it a try, it was simpler than we thought. We soon got enough scraper scripts working to aggregate a pretty comprehensive report of which gyms we could climb at.

I threw together a simple Svelte site to display this data, here was what it looked like initially:

Working with Svelte feels so refreshing. Read more about Svelte on their blog!

A few weekends later, this is what the website looked like:

Upon initial sharing, fellow climbers expressed that a Telegram bot would be convenient as well. I hadn’t written one before but node-telegram-bot-api made it really simple to get started with building a Telegram bot.

And so, build a bot I did:

Meanwhile, Ravern re-wrote the scraper— the brains of this operation. Our scraper was initially forked from our friend Duncan at bottleneckco/sg-scraper. Turns out while using GitHub Actions and Pages to scrape and publish data is genius, GitHub does eventually rate-limit it.

Putting it out

As we saw how useful this information was, we eventually decided to put Climbwhere up for others to use as well. Overall, building Climbwhere was a pretty positive experience :)

Check out the Github project for Climbwhere here.

Updates (March 2022)

The SMM rules for gym facilities in Singapore have finally been loosened! Climbing gyms will be reviewing the latest guidelines and making changes to their booking systems, so the slot timings on this website may no longer be relevant.

Below is a compilation of all the latest changes that gyms have made:

Gym Name Booking Required? Slot Duration Remarks
boulder+ No Full Day
BFF No Full Day
Boulder World No Full Day
Ground Up Climbing No Full Day
Boruda No, unless 6:30pm-10:30pm on Weekdays Full Day
Boulder Planet No, unless 7:00pm-10:00pm on Weekdays Full Day
b8A No, unless 6pm-10:30pm on Weekdays, OR 10am-6pm on Weekends/PH. Full Day
Boulder Movement Yes 3h
Climb Central Yes Unchanged Removed alt. lanes rule
Fit Bloc Yes 4h 15mins
Z-Vertigo Yes 3h 20mins
Oyeyo Yes 3h
T-Hall Yes 3h 45mins Removed alt. lanes rule

Climbwhere is shutting down (May 2022)

With effect from 25th May, gym slot information will no longer be posted on and the Climbwhere Telegram bot. This comes as most climbing gyms no longer require bookings for gym entry.

Climbwhere was created as a side project in 2021. It was visited 13.6k times, with around 500 monthly users at its peak.

We enjoyed working on this project and appreciate all the support and encouragement from the community. The source code is available and open-sourced on Github here.