The website for a multi-specialty hospital in Nepalgunj, Nepal, in English, Nepali and Hindi. Almost everyone who opens it arrives on a phone, from a search result, and a fair number of them need something quickly.
Open nmhnepalgunj.com ↗In Nepali ↗In Hindi ↗

A hospital website is read under conditions that most websites never see. Someone is in a corridor, or in a vehicle, or holding a referral slip they cannot fully read. They want three things: the number to call, whether the place is open, and whether anyone there treats what is wrong.
Nepalgunj sits in the Terai, close to the Indian border, and the hospital draws from a district much larger than the city. The hospital asked for Nepali and Hindi alongside English, which tells you something about who walks in. They arrive on a phone, on mobile data they pay for by the megabyte.
So the site is built around those conditions rather than around a brochure. Every page keeps the phone, WhatsApp and the ambulance within thumb reach. Every page exists in all three languages. The homepage, photographs and all, is 200KB.
The harder part was not the building. It was deciding what the site is allowed to say.
The bar along the bottom is on every page, in every language. Call and Ambulance are tel: links that open the dialler; WhatsApp opens a chat with the message already written. None of it needs the page to be read, which matters when the person holding the phone cannot read the language it is in.

Thirty-five services across twelve departments, as one collapsed row each. It used to list them all open at once — ten screens of scrolling on a phone — with a separate jump list above that indexed the same twelve things. Now the index and the content are the same object, and eight departments fit in one screen.

Each service says either 24 hours, every day or call to fix a time. Nothing in between, because nothing in between is known. The hospital cannot guarantee fixed hours for visiting consultants, so the site does not print any.

Eight questions a patient actually asks, each resolving to one answer written in advance and translated twice. No model, no third-party script, no network call. The panel says so at the bottom: these are stored answers, not a medical consultation.




The twenty photographs are the hospital's own rooms and staff. Faces of patients and relatives are covered, not cropped around — the distinction matters, and is the subject of one of the choices below. On a phone the homepage is 14 requests and 200KB; no page contacts a third party on load.
aggregateRating in the structured data even though the Google listing carries 4.8 from 33 reviews — those are Google's reviews, not the hospital's to re-declare. An absent section is a better state to sit in than a plausible-looking one.loading="lazy" did nothing because on a phone it sat inside the browser's preload margin. Prefetch is off and the map is behind one tap.The engineering queue is empty. What is left is the part only the hospital can supply: the pre-visit instructions, whether charges may be published, and the first announcement. Everything is built to render only when that content exists, so the site is complete at every stage of being filled in rather than showing an empty shelf.
Built with Next.js as a static export, hosted on Netlify, with the catalogue of departments, services, clinicians and photographs held in typed data files rather than a CMS. Photographs and film are the hospital's own, published with its permission. Clinician names, qualifications and Nepal Medical Council registration numbers are as the hospital supplied them. Accessibility verified with axe-core across twelve routes at a phone viewport, WCAG 2.1 A and AA.