SHUKA 100% offline

Run it

Three commands. Then unplug the internet.

One online setup fetches the model and caches everything. From then on, Shuka runs with zero network access — that's the point.

Install

Setup, once.

$ git clone https://github.com/Uthmannabeel/shuka && cd shuka
$ bash install.sh # deps + model + offline cache, checked
$ npm run serve # → http://localhost:4180

The model download is ~0.8 GB. npm run setup verifies the file and pre-caches the embedding model so nothing ever needs the network again. Open http://localhost:4180 and ask.

  • RequirementsNode.js 20+, ~4 GB free disk, any 8 GB laptop with an i5-class CPU. Windows, Linux and macOS. Integrated graphics is used automatically when present.
  • Community modeStart with SHUKA_HOST=0.0.0.0 and phones on the cooperative's own hotspot can use the laptop as an answer server — still no internet involved. Trusted networks only: there are no user accounts; protection is a per-device rate limit and the network's own boundary.
  • Command linenpm run ask -- "your question" for the same pipeline in a terminal; --show-context prints retrieved passages, --raw bypasses grounding for comparison.
  • Reproduce our numbersnpm run bench and npm run eval regenerate the published benchmarks and evaluation transcripts on your own hardware.

Questions reviewers ask

Straight answers.

Is it really offline? What about the fonts on this website?

The application is fully offline after npm run setup — the app's interface uses system fonts and makes zero network requests, which you can verify with the network tab open or the Wi-Fi off. This marketing website (the page you're reading) is a separate, ordinary website.

Why should I trust its agronomy?

You shouldn't trust it — you should trust FAO, IITA, CABI and IRRI, which is who wrote every fact it's allowed to use. Each answer cites document and page so a professional can verify or overrule. When the manuals are silent, so is Shuka: see the refusal behaviour in the evaluation.

What happens on a question it can't answer?

If no retrieved passage clears the relevance floor, the language model is never invoked. The farmer gets a plain refusal and a pointer to the local extension office (ADP). In our published eval this fired correctly on poultry-medicine and weather questions.

Which languages does it speak?

English today. Hausa, Yoruba and Pidgin question understanding are the top roadmap items — the corpus stays English, the conversation shouldn't have to be.

Can it run on a phone?

The laptop is the deliberate target: it's the machine cooperatives and agro-dealers already own, and one laptop serves many people. Phones join over the cooperative's own hotspot in community mode rather than each needing a copy.

What data does it collect?

None. There is no server, no account, no telemetry, no network. Questions never leave the laptop.

Is the code open?

MIT-licensed, with the evaluation transcripts, grading rubric, benchmark records and corpus provenance published in the same repository: github.com/Uthmannabeel/shuka.

Ready

Put an agronomist on a laptop.