LAB · EDUCATION · JUL 2026

Why we shipped a six-week teacher training course as one HTML file

Offline classrooms, mixed devices, no IT department. The constraint became the architecture — here's what it cost and what it bought.

The brief was a professional development course for teachers: six weeks, bilingual English and Urdu, for schools where two assumptions fail constantly — reliable connectivity and an IT department. Every off-the-shelf learning platform we evaluated assumed both, plus a third that was even more wrong: that teachers have spare time to fight software.

So we made the constraint the architecture. The entire program — all six weeks, both languages, every exercise — ships as one self-contained HTML file, about 471 KB. If a device has a browser, the course runs. No accounts, no installs, no server, no signal. It can travel on a USB stick between schools, and it does.

What the constraint forces

A single file is a brutal discipline. No CDN fonts, no external scripts, no "we'll just load that from…" — everything embeds or it doesn't exist. Bilingual support couldn't be a translated copy of the site; it had to be one codebase where the entire layout mirrors correctly for right-to-left text:

// One toggle drives language AND layout direction —// RTL is a first-class mode, not a patched afterthought.function setLanguage(lang) {document.documentElement.lang = lang; document.documentElement.dir = lang === 'ur' ? 'rtl' : 'ltr'; render(content[lang]);}

What it cost — honestly

No server means the file can't remember you. Our post-launch audit caught exactly the gaps you'd predict: progress didn't persist between sessions, there was no submission channel for deliverables, and certificates could be reached without earning them. We're fixing the first with local storage in the browser and rethinking the other two — and we're writing that here rather than pretending the architecture was free. Every architecture is a trade; this one traded server-side convenience for the ability to run absolutely anywhere. For these classrooms, that was the right trade. It still had a bill.

The principle underneath

Architecture should bend to the classroom, not the other way around. Most edtech asks schools to become the environment the software needs. The better question — the engineering question — is what software survives the environment schools actually have. Sometimes the answer is unfashionably simple. One file.