Building sitamarhi.pages.dev - One HTML Page, No Framework
I built sitamarhi.pages.dev. One HTML file. No framework. No build step.
It's a tourism guide for Sitamarhi, the district I'm from in Bihar. Pilgrimage sites, temple history, Madhubani art, train schedules, a UPI donation section. Everything you'd want to know if you're visiting Sita's birthplace.
Why hand-code?
I was already deep in Next.js, TypeScript, and all the modern tooling. But for this site, none of it made sense.
It's a reference page. People visit it to check the train code (STLR), see if Ram Navami Mela dates are posted, or look up the distance from Patna. It doesn't need server-side rendering. It doesn't need a database. It doesn't need auth.
HTML delivered to the browser works fine.
What went into it
The research took longer than the code. Temple histories, the 1599 land grant at Janaki Sthan Mandir, why the temple follows Ramanuja tradition despite being in North India, the 1934 earthquake that leveled the town, the 67-acre Janaki Janmasthali Mandir project approved in 2023.
That's not the kind of content you pull from an API. You read, you visit, you talk to people, you piece it together.
The layout is a single scroll page with sections. Cards for each temple. An embedded OSM map with labeled points. A gallery, all Wikimedia Commons, CC-BY-SA, correctly attributed. A weather widget stuck on "loading" because I never wired the API key.
What I'd do different
The weather widget should show a fallback instead of a perpetual spinner. The UPI QR code depends on a third-party API. If qrserver.com goes down, the donation section breaks. These are small things but they matter.
The contrast
My personal site was 29,000 lines of TypeScript across 176 files. This one is one file, 0 dependencies, and probably more useful to more people.
I'm not saying frameworks are bad. I'm saying it's worth asking: does this need to be an app? Or does it need to be a page?
The answer for sitamarhi was clear. The answer for most brochureware sites probably is too.
Sitamarhi district population: ~700K. Literacy rate: 53%. Train station code: STLR. Buses from Patna every 15 minutes, ₹155-180.