DashForge
← All work

Climbing gyms

Route tracking and competitions for a climbing gym, starting from a sticker on the wall

Belay is for a climbing gym and the members who spend their evenings there, phone in one chalky hand between attempts.

CloudPremade

/gym
Belay on a desktop: The gym, this week
Belay on a phone: The gym, this week
About Belay

Belay is for a climbing gym and the members who spend their evenings there, phone in one chalky hand between attempts. At a lot of gyms the route list is a whiteboard by the desk, and the setters can only guess which problems people are actually climbing. A QR sticker at each start hold opens that route on any phone, and a member logs their send from the same page. The screen by the mats shows sends as they land, and the setters go into the next reset knowing which routes nobody touched.

Route page
No login

opened from a QR sticker at the start hold

Competition formats
3

redpoint, qualifiers and finals, team

Ladder
What's up now

stripped routes drop off

What it does

What does Belay do?

  • QR at the start hold

    Scan the sticker and the route's page opens, with its grade, its setter and who has sent it. Nothing to install, and no login just to look.

    /gym/me
    Belay: Your climbing
  • Live send feed

    A send logged at the wall shows up on the screen by the mats a moment later, so the whole room sees someone finally top the project.

    /gym/walls
    Belay: A wall and its routes
  • Setting workload

    Setters see how old each route is and how often it has been climbed since it went up, which takes the guessing out of the next reset.

    /gym/ladder
    Belay: The ladder
The problem

What problem does it solve?

A member finishes a route they've been working on for three weeks and has nowhere to put it except their own notes app. Over at the desk, the route list is a whiteboard, the setters strip a wall on instinct, and when comp day comes the scores go into a spreadsheet on somebody's laptop.

How the demo handles it

Every route gets its own page, opened from a QR sticker at the start hold. Members log their sends there, and those sends become the setters' numbers, the member's personal record and the gym's live feed all at once. The ladder only ranks what is on the wall today, and competitions run on the same route data with a judging screen added.

  • Competitions

    Redpoint, qualifiers and finals, and team formats. Judges enter scores on a tablet and the standings update between attempts.

  • The ladder

    Members are ranked on the routes currently on the wall, so a section reset gives everyone a fresh start.

  • Streaks, bests and badges

    Each member keeps their own record: session streaks, their hardest send and badges like a first V5.

Try it yourself
/gym/me
Belay: Your climbing, on a desktop
Belay: Your climbing, on a phone
/gym/ladder
Belay: The ladder, on a desktop
Belay: The ladder, on a phone
Design choices

Why is it built this way?

  • The ladder only counts routes on the wall

    Points from stripped routes drop off. A member who joined last month can climb past someone who has been coming for six years, as long as they are climbing what is up now.

  • The live feed follows the same access rules

    The send feed connects as the signed-in member, so the database rules that protect every page also decide what the feed shows.

  • Two screens need no login

    The route page behind the QR sticker and the screen by the mats are public. Anything a member changes goes through their own login.

  • Grades sort correctly

    Grades are stored as numbers and only turned into text on screen, so V10 always sorts after V9 and never between V1 and V2.

Screens

What does it look like on a computer and a phone?

The first screen after signing in: new routes, the busiest walls and how the member's own week is going.

/gym
Belay: The gym, this week, on a desktop
Belay: The gym, this week, on a phone

What is it built with?

Common, well-documented tools, so any developer you hire later can pick it up and keep working on it. Hover over or tap any of them to see what it does.

Who uses it

Who would use Belay, and when?

  • Scans the tape, sees that two people sent it this week, has another go, and logs the send on the same page when it goes.

    A member resting between attemptsScenario

  • Sorts the cave wall by climbs since set and strips the three routes that barely got touched.

    The head setter planning Monday's resetScenario

  • Enter scores on a tablet at each wall while the big screen by the mats shows the same standings to the crowd.

    Staff running the spring compScenario

FAQ

What do people ask about Belay?

  1. 01Can I try Belay before talking to anyone?

    Yes. The demo is a working app with sample data. Ask for access and we'll email you a sign-in link. Nothing you change there affects anyone.

  2. 02Is it cloud or local?

    Cloud. Your team signs in from anywhere, on a phone, a laptop or the shop computer.

  3. 03Is it premade, adapted or custom?

    Premade. It works as it is, and we set it up with your name, your people and your data.

  4. 04What does it run on?

    Next.js 16, TypeScript, Supabase, PostgreSQL, Row-level security, Realtime, Private file storage, Generated share cards, Magic-link sign-in.

  5. 05What problem is it solving?

    A member finishes a route they've been working on for three weeks and has nowhere to put it except their own notes app. Over at the desk, the route list is a whiteboard, the setters strip a wall on instinct, and when comp day comes the scores go into a spreadsheet on somebody's laptop.

Want to try Belay?

It's a working app with sample data. Ask for access and we'll email you a sign-in link, usually within a business day.

Request the demo