🧗Climbwhere.sg

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

Building Climbwhere.sg

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 NameBooking Required?Slot DurationRemarks
boulder+NoFull Day
BFFNoFull Day
Boulder WorldNoFull Day
Ground Up ClimbingNoFull Day
BorudaNo, unless 6:30pm-10:30pm on WeekdaysFull Day
Boulder PlanetNo, unless 7:00pm-10:00pm on WeekdaysFull Day
b8ANo, unless 6pm-10:30pm on Weekdays, OR 10am-6pm on Weekends/PH.Full Day
Boulder MovementYes3h
Climb CentralYesUnchangedRemoved alt. lanes rule
Fit BlocYes4h 15mins
Z-VertigoYes3h 20mins
OyeyoYes3h
T-HallYes3h 45minsRemoved alt. lanes rule

Climbwhere is shutting down (May 2022)

With effect from 25th May, gym slot information will no longer be posted on Climbwhere.sg 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.