How building a portable escape room made me a better developer
summary
Built a portable IoT escape room using ESP8266 devices talking over MQTT/Mosquitto, with a messaging bridge to RabbitMQ for durable queuing and analytics. Difficulty autoscaling comes from a distributed saga state machine that tracks an escape run and shifts puzzle difficulty; Simon Says uses UDP primary election across five boxes. Problems include single‑threaded chips, MQTT not being a real queue, and multiple hardware rewrites; after several iterations kids finish around 55–70 minutes and the system proves reliable in repeated runs.
AI-written summary · about
chapters (10)
- 0:00Introduction
- 3:21Portable escape room design
- 7:31Building puzzles and hardware
- 13:26IoT programming with ESP8266
- 18:02Monitoring distributed devices
- 27:33Aggregate roots in puzzles
- 35:02State machines for flow
- 41:40MQTT limitations and bridges
- 46:41Building escape room reality
- 50:38Lessons learned
related talks
53mHow building a portable escape room made me a better developer
27mCoding Competition Software VS Murphy's Law
01h 05mDDD, event sourcing and CQRS – theory and practice
19mChallenges in Scaling of IoT Sensors
30mThe Magic of RxJS
31mReplicated Redux
53mJS Fight: How I Wrote My Own eval()
31mEverything's better with friends
