↓ Skip to main content
  1. Work/

Backdoor: reception software for climbing gyms

··Index: 8·View as Markdown·

When climbers tap their RFID cards at the gate of a climbing gym, Backdoor has to decide right then whether to let them in. It checks each pass, the benefit-card provider and the gym’s own rules, opens the gate, and reception sees every entry on screen as it happens. All of this runs on a computer in the gym, without any cloud or subscription, so no outage can stop the front desk from working.

Backdoor: RFID readers send taps over the local network to software on a gym computer, which checks the rules, opens the gate and updates the reception screenRFID readerscard tapslocalnetworkBackdoor on a gym computerdecide: let in or notpass, benefit card, gym rules,double entry, instructor permissionsSQLitedata stays in the buildinggateESP panel, UARTreceptionlive screenbenefit-card provider
Backdoor: how a card tap becomes an open gate and a line on the reception screen

Open the landing page →

What it does
#

Reception gets one screen with everyone who’s inside, who’s coming and which passes are active. Data is kept in SQLite on the gym’s own computer. The RFID reader sits in a panel at the gate that talks to the desk program over USB. Client data stays on that computer and there’s no telemetry; the only thing that leaves is an encrypted copy of the backup, sent off site. Pass priorities, protection against double entry and instructor permissions are worked out by the software, so people at the desk don’t have to think about them. The panel at the gate has firmware of its own, and the desk software also runs climbing competitions.

Schematic of the reception screen with three areas: who is inside, who is coming and which passes are activeReceptionliveInsideComingActive passesnew entries appearas they happen
Schematic of the reception screen, not a screenshot

The landing page
#

I built this landing page as a small React and TypeScript app with Vite and Tailwind CSS, with some motion effects and both light and dark themes. It’s available in English and Polish. Your choice of language and theme is remembered and restored before the first paint, so the page doesn’t flash the wrong colours while loading.

Related