Background
During my freshman and sophomore years at university, I competed in ICPC (International Collegiate Programming Contest) as part of my university’s team. Now, in my junior year, I had the honor of chairing the technical committee for ICPC Regional Bangkok 2025, which took place on November 1-2, 2025, at Chulalongkorn University.
Since 2023, I have joined the Thailand-OI Task Team as a problem setter for Thailand’s IOI (International Olympiad in Informatics) team selection contests. I gained experience in problem setting and contest organization through that role. When my university was hosting ICPC Regional Bangkok 2025, I was invited to join the technical committee as chair. The technical committee is responsible for the overall technical aspects of the contest, including setting up the contest system, network infrastructure, monitoring, and support during the contest. I gladly accepted the invitation and took on the role.
Preparation Day
The preparation day was on October 30 - October 31, 2025. On the first day, we set up the contest system, including the main server. The main server was running Proxmox VE to manage virtual machines for various services, including the DOMServer and the main printing core services. There was also a LAN cabling work to connect all the contest computers to the network, which had been done by another team. I have to thank them for their hard work. The network infrastructure was crucial for the smooth operation of the contest, so we made sure everything was set up properly.
On the second day, I configured the Judgehosts to make them able to compile Kotlin code, which was not included in the default DOMjudge Judgehost image. I also tested the entire contest system to ensure everything was working properly.
Dress Rehearsal Day
The dress rehearsal day was on November 1, 2025. On that day, the contestant arrived, and we conducted a mock contest to test the entire system. They had to test the submission system, printing system, and balloon running system, but on that day, we did not have a balloon yet. We simulated the balloon running system without actual balloons by distributing candies to the teams instead.
There were some issues during the dress rehearsal that we had to address.
- Some PCs had not been properly configured for the forward proxy, so they could neither access the printing server nor the judging system. We fixed the configuration on those PCs.
- One team reported that their monitor was flickering during the contest. After the contest, we replaced the monitor with a new one to ensure it would not happen again during the actual contest. (But it still happened again on the contest day. See below.)
Contest Day
I arrived at the site early in the morning to ensure everything was set up properly. I checked the contest system, network connections, and problem statements to ensure everything was ready for the contestants. As the contest began, I monitored the system closely to ensure smooth operation.
The contest ran for 5 hours, during which I coordinated with the technical team to address any issues that arose. Fortunately, everything went smoothly, and the contestants were able to focus on solving problems without technical difficulties.
But there are some issues during the contest that I would like to share.
- There were 3 teams that reported some hardware issues. Two of them were about the monitors, and one was about the freezing computer. Regarding the monitor issues, we only switched the cable the day before they reported that problem, and we have already switched the monitor. For the freezing computer, we took no action since the issue only lasted 4-5 minutes and never recurred.
- The balloon runners mixed up the colors of the balloons for problems A and B. Therefore, we have to announce the correction to all contestants. We swapped the color of the problems in the DOMjudge system to match the balloons.
The Resolver
This was the first time I ran the Resolver. I have an issue with the program. Luckily, with the help of my team members, we were able to run the Resolver successfully. We figured out that the documentation was wrong in some part.
Awards Ceremony
I was asked to give a report about the technical aspects of the contest during the awards ceremony. It was my very first public speaking experience, and I was very nervous. There were 10 Judgehosts for grading contestants’ submissions. So, the average waiting time for each submission is very low. The longest wait was only 12 seconds!

I was surprised that there is a team using Java in this contest.

It was very impressive to see the contestants’ use of various programming languages.
Systems
I implemented the balloon running system since the official balloon running system provided by DOMjudge was not flexible enough for our needs. There is also a printing system that I set up to print out the code for the contestants upon request. Last year, they used a website to request the print, but I think it is not very convenient during the contest. I implemented a simple command-line interface for contestants to request printing directly from their contest computers.
The most difficult part was setting up the forward proxy on each contestant computer to inject the headers for auto-authentication to the print server and the judging system. We used Squid Proxy for the forward proxy. We figured out how to configure them easily by using an auto-generate script from the central server since the network cabling had been done.
The network infrastructure was also crucial for the smooth operation of the contest. We set up a dedicated LAN for the contest computers to ensure stable and fast connections to the contest system. There were 2 subnets, one for the contest computers and another for the technical team to manage the contest system. The setup was done easily since the main services that had to be accessed by both subnets were on the main server (the one running Proxmox VE). It can create a virtual network interface for each subnet. So there was no aching to configure network switches.
For the operating system cloning, we used Clonezilla to clone the contest computer images. It was very efficient and saved us a lot of time during the preparation day.
Photos

My Team (Technical Committee)

Thailand-OI Task Team Members at ICPC Regional Bangkok 2025
Congratulations
Congratulations to all the teams that participated in ICPC Regional Bangkok 2025! Especially to the first place team, Just use CRT from Seoul National University, who will represent Bangkok region in the ICPC World Finals 2025 and to the top teams who will be qualified for ICPC Asia Pacific Championship 2026!