RunBodia
2025 – Present·Lead Frontend Developer

RunBodia

Cambodia's marathon event platform — from discovery to registration.

01

The Problem

Cambodia's running community had no centralized platform to discover and register for marathon events. Runners relied on scattered Facebook posts and word-of-mouth, making it easy to miss events. Event organizers had no digital registration system — most used paper forms or Google Sheets.

02

The Approach

Built a bilingual (English/Khmer) event platform with Next.js and TypeScript. Designed a category-based browsing system (Fun Run 3km through Full Marathon 42km) so runners can quickly find events matching their level. Implemented a full registration flow with health declarations, emergency contacts, and payment processing.

03

Key Challenges

The biggest challenge was Khmer language support — not just translation, but ensuring the UI rendered correctly with Khmer script (which has complex stacking characters). I used Noto Sans Khmer with careful font-size and line-height tuning. The registration form also needed to handle flaky mobile connections common in rural Cambodia, so I implemented form state persistence with local storage to prevent data loss.

04

Technical Decisions

Next.js

SSR for SEO (event pages need to be discoverable) and fast page loads on slow mobile connections.

TypeScript

Registration forms have complex validation — type safety prevents runtime errors in critical payment flows.

Tailwind CSS

Rapid UI iteration when working with event organizers who needed frequent layout changes.

05

The Result

Launched and actively serving the Cambodian running community. Successfully tested and operated with 250 real registered users for a free marathon event, proving seamless digital registration over paper tracking.

Next project

Cainvite