The platform ICON Camp 2026 ran on
I was the camp’s operations director and the only developer on the app. More than 120 people used it over three days.
The platform tracked three things during the camp: where each group was, how many points it had, and attendance. It also handled changes to the schedule and sent notifications through a Telegram bot. Everyone used the same web app on their own phone, and saw a different side of it depending on their role.
Three kinds of user
The people travelling with each group.
The people running each station.
The people running the camp.
When a group reaches a station
What went wrong
Before the camp, I wrote a set of concurrency tests and they found three bugs of the same kind: two actions arriving at the same moment could both go through. A group could be checked in twice, a round could take more groups than it had room for, and a group could be nudged twice. I fixed each one in the database, with a unique index or an atomic update. At the camp itself, the complaints were about a rule. The window for entering scores was strict, and some people could not enter theirs after it closed. If I did it again, I would make that window more lenient and let scores be edited easily afterwards.