RoomTaps — NFC hotel guest-request system
A 6-week build that replaced phone calls and front-desk lines with a single NFC tap.

The problem
Hotels lose 4–7 minutes per guest request to phone routing and language friction. That's slow service for the guest and burnt staff time for the hotel. Existing apps require installs nobody does on a 2-night stay.
Constraints
- 6-week timebox before the first hotel went live
- No app install — guests had to use what was already in their pocket
- Multilingual from day one (EN, AR, FR)
- Offline-friendly — hotel WiFi is unreliable in basements
The architecture decision
I picked NFC over QR for the simplest reason: tap is one motion, scan is two. Each room gets a tag whose URL encodes room ID + property ID, opens an unauthenticated web page, lets the guest pick a request, and pushes it to staff via WebSocket.
The tradeoff: NFC tags cost ~$1 each and need replacement every couple of years. Worth it. Onboarding a 60-room hotel = 60 taps and 30 minutes of glue.
Average guest request fulfilled in 9 minutes. Front desk gets 200 calls/day.
Average request fulfilled in 3 minutes. Front desk gets 40 calls/day.
Results


What I'd do differently
Started with Postgres + Prisma — that was correct and I'd do it again. I'd push the WebSocket layer onto a managed service from day one rather than self-hosted Socket.io. Saves a future migration when the load grows.
Need something like this?
Book a 15-min call →