Route Setting Platform for a Denver Climbing Gym Chain
Designed and built a clickable route setting app for a chain of 5 bouldering and rope climbing gyms around Denver: every climb with the setter's grade next to the members' view, setting sessions run from strip and set checklists, and hazard reports that reach staff on shift at once and close a climb in one tap.
Most of our work is under NDA. Per agreement, we can share the work but not the company details - all names and identifying information shown here have been changed.
Dashboard, climbs list, climb detail with 4 tabs, setting session detail with its checklists, and hazard reports with the hazard panel. Every one of the 37 demo climbs opens its own detail page.
A report's age turns red after 15 minutes without acknowledgement while the gym is open, and the demo shows a missed target escalated to the gym manager by SMS. Acknowledge and Close climb sit on every open row.
Member consensus is the median of grade votes, shown beside the setter's grade only once a climb has 5 votes. A climb a full grade or more off is flagged as a grade gap; the setter's grade is never overwritten.
25 live, 10 closed and 2 stripped climbs on 10 sections across 5 walls at one gym, with 12 hazard reports, 4 setting sessions, 10 staff users and the chain's 5 gyms.
Ptarmigan Walls ran route setting from a whiteboard in each setting room, a shared spreadsheet per gym and a group chat. Head setters re-typed climb lists onto printed wall cards, nobody could say whether a gym's V3 to V5 range was thin until members complained, anchor and bolt checks lived on paper in a binder, and a member who found a spinning hold told whoever was at the desk.
Crux gives the setting crew and floor staff one place to run the walls: a dashboard that puts open hazards, closed climbs and overdue inspections first, a record of every climb with the members' grade beside the setter's, setting sessions worked through checklists that record who did what and when, and hazard reports with an acknowledgement clock and a one-tap climb closure.
A climbing gym strips and resets its walls every few weeks. Setters, floor staff and safety leads each hold part of the picture, and the parts that matter most for safety were the ones written on paper or passed on by word of mouth.
Each gym kept its own rotation, so setters could not see which sections were overdue at the other gyms. The client's rules (bouldering reset every 5 weeks, roped climbs every 8, never two adjacent sections in the same week) lived in people's heads.
Boulders use the V-scale and roped climbs the Yosemite Decimal System, and a grade is the setter's opinion. Without member votes and a target mix per grade band, mis-graded climbs and thin grade ranges were only found through complaints at the front desk.
A spinning hold reported at the desk might not reach the setting crew before the next climber pulled on it. After a hold spun on a busy evening in 2025 (no injury), the operations director asked for one system where every hazard reaches staff at once and a climb can be closed in seconds.
No single federal law covers climbing gym equipment. Gyms follow manufacturer instructions, Climbing Wall Association guidance and the EN 12572 series, while OSHA's walking-working surfaces and fall protection rules generally apply to setters on ladders and lifts. Checks were on paper and rope retire dates on tape.
Mapped 9 user roles from setter to operations director, member and parent, and 38 screens across the setter app, manager console, settings, member app and a public parental consent page. Wrote down the data model for gyms, sections, climbs, votes, sessions, holds, equipment, inspections and hazards, and the rules the design follows: V-scale and YDS grading, equipment inspection practice, OSHA work at height, the Colorado Privacy Act and COPPA consent for under-13s.
Built 5 key screens of the staff setter app on a production dashboard kit: the dashboard with safety strip, KPIs, today's session, reset timeline, grade gaps and grade disagreements, the climbs list with filters and bulk actions, climb detail with grade histogram and engagement, comments and media, hazards and activity tabs, the setting session with crew, lift training and checklists, and hazard reports with the hazard panel. All actions run on local state.
The wall map, reset schedule, hold inventory and wash cycles, inspections and equipment records, moderation, the manager console and the member app with parental consent. Integration with the membership system (such as Rock Gym Pro or Capitan), Auth0 or Firebase sign-in, push and Twilio SMS alerts to staff on duty, photo and beta video storage, content moderation and payroll export, plus an offline tablet mode for checklists and records of closures, inspections and close-outs that cannot be edited afterwards.
The dashboard opens with open hazards and their age, climbs closed right now and overdue inspections. A Close a climb button stays in the top bar on every page, and a card in the sidebar shows any hazard still waiting for acknowledgement.
Each climb shows the intended grade, the members' view and a vote histogram, labelled as members' opinion and hidden below 5 votes. The dashboard lists grade bands below the target mix and climbs with a full grade of disagreement, so the next set plan starts from data.
Pre-session, strip and set checklists tick with the setter's name and time, not applicable needs a reason, and Finish session unlocks only when every item is done. A setter whose lift training has expired is kept on ground crew and cannot take the lift task.
Alerts go to staff on shift by push and SMS, the age turns red after 15 minutes and a missed target escalates to the gym manager. The hazard panel keeps the full timeline, and a climb is reopened only after a named staff member confirms the fix.

Designed and built a clickable supervisor console for a council beach safety service in the Algarve: a live map of every tower and its flag, rescue and first aid records with casualty health data kept behind a logged reason, lost child alerts matched across 18 beaches, and a roster that refuses lifeguards whose qualifications have lapsed.

Designed and built a clickable league management console for a volunteer-run county football association in Aarhus: a weekend dashboard with referee coverage and weather risk, every fixture with its officials and team sheets, results checked against three submissions, and discipline cases that turn cards into sanctions from the association's own tariff.
Enterprise Software Engineering - Human + AI
Contact Us
© 2026 - Copyright. All Rights reserved Oceanlab
Location
Global Headquarters
21 Merchant Road, 3rd Floor, Singapore 058267
Main corporate office and leadership operations
North America Office
548 Market Street, PMB 12345, San Francisco, CA 94104
Client operations and business development
India Office
402 Shivalik Shilp II, SG Highway, Ahmedabad 380015
Engineering and delivery center
Enterprise Software Engineering - Human + AI
Contact Us
Locations
Global Headquarters
21 Merchant Road, 3rd Floor, Singapore 058267
Main corporate office and leadership operations
North America Office
548 Market Street, PMB 12345, San Francisco, CA 94104
Client operations and business development
India Office
402 Shivalik Shilp II, SG Highway, Ahmedabad 380015
Engineering and delivery center
© 2026 - Copyright. All Rights reserved Oceanlab