Offline-first STEM learning

STEM that works without the internet.

Many students cannot count on fast or continuous internet access. "AI-powered education" is useless without a connection. JANUS is a complete physics, chemistry, mathematics and engineering study environment that you download once and then use anywhere — on a bus, in a village, during a power cut on a shared phone.

Checking whether this browser can save JANUS for offline use…

The problem

Learning tools that assume a connection fail the students who need them most.

Connections are bursty, not continuous

A student may have signal for ten minutes at a market, then nothing for a day. A tool that needs a round trip to a server for every question is unusable for most of that day.

Data has a price

Every megabyte re-downloaded is money. JANUS downloads a content pack once, sized to a limit you choose, and never fetches it again — the pack can even travel between phones as a file.

Devices are shared and small

One phone may serve a family. JANUS keeps its whole footprint under a few megabytes, runs on system fonts if web fonts never load, and has a low-bandwidth mode that turns off everything decorative.

How it works offline

Download once. Learn anywhere. Sync when you can.

Open JANUS once while connected

A service worker saves the whole application — pages, styles, code, the lesson catalogue — into the browser's cache. From then on the app loads from the device, with the network used only as a fallback.

Build a content pack

Choose subjects, difficulty, languages and a storage limit. JANUS measures the real serialised size of every lesson, shows exactly what fits, and installs the pack into IndexedDB. Teachers can export a pack as a file and import it on another device with no internet at all.

Study, then sync later

Lessons, quizzes, problem sets, simulations and the local tutor all read from the device. Progress and results go into a sync queue while offline and are pushed when a connection returns — in this deployment to a local mirror, because no server is attached, and the app says so.

What is inside

A real knowledge base, not a demo shelf.

16 lessons across four subjects

Physics, chemistry, mathematics and engineering, from Foundation to Advanced. Each lesson has explanations at two reading levels, key formulas, a worked example, a quiz with tolerance-checked numeric answers, a three-problem set with step-by-step solutions, and reference entries.

6 interactive simulations

Orbits, projectiles, reaction rates, a lever balance, a function grapher and an Ohm's-law circuit — drawn on canvas, controllable from the keyboard, and throttled in low-bandwidth mode.

A local tutor

Ask a question and JANUS searches the lessons on your device with a ranked full-text index, quotes the best passage and links to it. It can switch to the simpler reading level, re-explain a step of a worked solution, pick a harder problem, or start a quiz. It is retrieval, not an AI model, and it tells you when it cannot find something.

Hindi coverage, honestly stated

Every lesson has a Hindi title and summary. 4 of 16 lessons — the first two in Physics and Mathematics — are fully translated at both reading levels. The interface shows this count rather than pretending.

My notebook

Sections read, best quiz scores, problems solved, streaks and per-subject completion, computed from timestamps on the device. Export it as a file, import it on another device.

Built to be read by everyone

Read-aloud with the browser's speech engine, a dyslexia-friendly mode, adjustable reading complexity and text size, high contrast, reduced motion, full keyboard navigation, and a connection state that is announced, not just coloured.

Install

Put it on the home screen.

JANUS is a progressive web app. After the first visit, most browsers offer Install app (desktop Chrome and Edge: the icon at the right of the address bar; Android Chrome: menu → Add to Home screen; iOS Safari: share → Add to Home Screen). It then opens in its own window, with no browser chrome, and works with the network switched off.

Nothing about installation is required: the same offline behaviour works in an ordinary browser tab, as long as the site data is not cleared.

What gets stored, and where

  • App shell (pages, styles, code, catalogue) — browser cache, managed by the service worker. Versioned; old versions are removed on update.
  • Content packs (lessons) — IndexedDB. Listed with size, version and date; removable one by one.
  • Progress, quiz results, tutor history, sync queue — IndexedDB.
  • Settings — localStorage under janus:v1.
  • Web fonts — cached the first time they load; the app is fully usable with system fonts if they never do.

No account, no analytics, no third-party requests. The only network calls JANUS ever makes are to its own files.

Plain speaking

What JANUS is not.

Not an AI

The tutor is full-text retrieval over the content you downloaded, with a handful of explicit intents. It never generates text of its own and cannot answer outside its packs.

Not connected to a server

There is no backend in this deployment. Sync pushes queued records to a local mirror store so the whole pipeline can be exercised; the interface labels it as such.

Not a full curriculum

Sixteen substantial lessons is a foundation, not a syllabus. The content format is plain JSON so more can be authored and shipped as packs.

Open JANUS