EN/DE
All projects

Inside the project / Camp & organisation

Room allocation

Pick a bed. The list is already up to date.

Room allocation for youth camps that lets participants choose for themselves while organisers keep the overview.

  • React
  • Firebase

The starting idea

The starting idea is deliberately small: participants choose their own bed instead of someone copying their requests into a list. Available spaces need to be visible, and changes should reach everyone quickly.

Organisers prepare houses, rooms, beds and names. The public interface then leads straight to the choice. Special cases stay manageable in the admin area, such as changing an assignment or making a bed available again.

Why build it this way?

Show changes as they happen. Firebase provides live occupancy updates. Someone looking at a room sees changes without having to keep refreshing the page.

Assign the bed and person together. A database transaction updates the bed and person together. Simultaneous bookings are checked as one connected operation — an important difference from a simple list.

Separate choosing from managing. Participants get a short self-service flow. The protected admin area handles structure, settings and corrections. Both interfaces use the same occupancy data.

A detail from development

Two people tap the same bed

Live updates help keep the overview current, but do not prevent double bookings on their own. Two people can see the same available space and choose it almost simultaneously.

The assignment is therefore checked and saved as a database transaction: the bed and person are updated together. If the space has already been taken, the second choice cannot simply overwrite the same available state. That simple interface needs this protection behind the scenes.

The solution

Participants choose their area, tap an available bed and select their name. Occupied spaces are locked, and changes appear live. The React interface turns the room structure into an overview people can use directly.

Admins manage houses, rooms and names, and can assign, move or release bookings. Titles and labels are configurable so organisers can represent their own camp in the system.

What to take from it

A small application can handle a lot of coordination when the shared overview stays reliable. Here, the important engineering sits behind a very simple choice.