EdFairs Asia Registration คือเว็บแอปที่เราสร้างขึ้นเพื่อจัดการการลงทะเบียนผู้เข้าชมและการจองบูธของโรงเรียน สำหรับงานมหกรรมการศึกษาทั่วประเทศไทยและในภูมิภาค ระบบรวมการสมัคร การเลือกบูธแบบเรียลไทม์บนแผนผังสถานที่ และการจัดการฝั่งแอดมิน ไว้ในระบบเดียวที่ทำงานเร็วด้วย Next.js ครอบครัวในเมืองอย่างเชียงใหม่และกรุงเทพฯ ลงทะเบียนได้ง่าย ส่วนผู้จัดงานก็เลิกใช้สเปรดชีตยุ่ง ๆ แล้วหันมาใช้ระบบที่ปลอดภัย พร้อมระบบจัดการเนื้อหา การเชื่อมต่อ Google Sheets และการส่งอีเมลอัตโนมัติ
EdFairs Asia runs the education fairs where families in Chiang Mai and Bangkok meet schools face to face. Two very different sign-ups had to live in one app:
The old way ran on email threads and shared spreadsheets, and it buckled every time registration went live:
So the brief was narrow and hard: one platform for schools and visitors, with booth booking that stays correct when hundreds of schools tap the same spot in the same millisecond, wired straight into Google Sheets, email, and a CMS a small events team can run without training.
We split the experience into two clean entry points, with a single event model underneath.
Same backend, two front doors, so neither audience wades through the other's fields.
For every event we drew a custom venue map built for booth selection. Each booth is an element you can see and click, available and taken states read at a glance, and the moment a booth is reserved its state flips across every open session. The surrounding form stays short (event, school, contact, requirements) so nobody quits halfway through.
This was the hard part. If School A taps booth A61 a split second before School B, School A gets it, and School B sees it vanish and picks another, instantly.
We built a race-safe reservation engine on a modern database, using atomic operations and unique constraints so a booth can only ever be assigned once. The frontend reacts live, so schools watch availability change during the rush. No refreshing, no "sorry, that booth was already taken" emails.
The app runs on Next.js, our default stack for web apps. Server rendering keeps the public sign-up pages fast and search-friendly, assets and caching are tuned for the traffic spike the second registration opens, and the structure extends to new events, cities or countries without a rebuild. Hosting is tuned for low latency across Thailand and the region.
Behind the login sits a CMS built for the EdFairs team: per-event dashboards for schools, visitors, booth occupancy and remaining capacity, searchable and exportable registration lists, and simple control over venues, dates and time slots.
Then we wired in the parts they'd miss: Google Sheets sync for anyone running on-site check-in from a spreadsheet, and automated confirmation emails to schools and visitors. A proper backend and the comfort of spreadsheets, with no double entry.
"Works with five testers" means nothing here, so we simulated hundreds of schools hitting the same event and map at once: rapid booth clicking, form validation under load, and data integrity across the CMS, database and Sheets exports. Each registration window now runs quietly while schools scramble for booths up front.
Registration windows that used to mean a scramble of manual fixes now run on their own: