Where the software meets the room
XP Network Mobile
The original XP Network tournament platform: brackets, live scoring and a QR check-in system that had to work at the door of a real venue.
- Role
- Frontend Software Engineer, early hire
- Year
- 2023–2024
- Org
- XP Network

One platform, two kinds of tournament
XP Network ran competitive events end to end: registration, brackets, live scoring, results, and the social layer holding it together. The unusual part was scope: not just esports, but tabletop and real-world tournaments too, in one system.
That is a harder product than it sounds. An esports bracket updates itself because the game reports the score. A beer pong bracket updates because a person standing in a bar tells it to. The same data model has to serve both, and the second one is where the assumptions break.
I joined early, on mobile, in React Native and Expo.
Check-in at the door
The feature I owned was QR code table check-in, the flow that authenticates a player and validates them onto a table when they arrive at an event.
It sounds small until you consider where it runs. Someone is at a venue door with a queue behind them, on venue wifi, holding a phone in one hand. The scan has to resolve fast, fail legibly, and never leave an organiser unsure whether a player is checked in. An ambiguous result is worse than a clear failure, because the ambiguous one gets waved through and reappears as a bracket dispute an hour later.
This is the seam where a tournament platform stops being software and becomes an operational tool. It is also the part that taught me the most.
Live means live
Scores had to move in real time: to the organiser, to the players, and to whatever screen the venue had pointed at the room. We ran it over MQTT, a publish-subscribe protocol built for exactly this: many subscribers, small frequent messages, unreliable networks.
Polling would have been simpler to write and wrong in the room. A scoreboard that refreshes every few seconds is not perceived as slightly stale; it is perceived as broken, because the crowd saw the cup land before the screen did.
Prototypes that went outside
The platform was also a base for companion gadgets tied to tabletop formats. I prototyped those integrations, including the Pong of Champions cup tracker built for a live beer pong tournament in Texas.
Those experiments were the fastest feedback we got. Running our own bracket logic and sync in a loud venue on shared wifi, in front of an audience, surfaced things no staging environment produces, because staging has good wifi and infinite patience.
What it set up
The mobile app validated the core of the platform: live tournaments, player engagement, and the bridge between a physical event and digital tracking. It is also the ground the later web app was built on when the company pivoted to the browser.
It is the most formative project in my career so far. It is where I learned to ship early, iterate against real events rather than opinions, and treat the room the software runs in as part of the specification.
Screens
Built with
- React Native
- Expo
- TypeScript
- Redux
- Expo Router
- Paho MQTT
- Axios
- Docker






