This is a seasonal page with an unforgiving traffic profile: almost nothing for eleven months, then a sharp spike where every visitor wants one specific thing — their own region's schedule, today, on a phone, quickly. Two failure modes matter. Rendering a national dataset client-side makes the first load slow exactly when it counts. And publishing this year's schedule by overwriting last year's throws away the pages search engines had already learned to trust.
We built it on Next.js with Bun, generating the schedule pages statically so a spike is served from cache rather than computed per request. Each region gets its own URL, which makes the page findable by the query people actually type and shareable in a group chat without further explanation. Previous years stay published as an archive instead of being replaced, so accumulated search equity carries into the next season rather than resetting. The layout is deliberately plain and fast — a table someone can read one-handed while queuing.
Schedules covering regions across Indonesia
Past years kept addressable, not overwritten
Designed & engineered by Manggala Code