The off-grid library · runs on a Tiiny Pocket Lab

It answers out of real books, or it tells you it can't.

LAST LIGHT is a library in a box with no internet. Ask it how to purify water or how to treat a snake bite and it answers from the shelf, names the book and the page, and refuses out loud when the shelf does not cover it. It never answers out of its own head, because the one place a confident invention actually kills somebody is a medical question asked by a person with no way to check.

The LAST LIGHT screen: a question box, a numbered answer in ivory type with amber citation marks, and the four books it came from listed underneath
Asked how to purify water. Eight steps, every one ending in the passage it came from, and the three books it cited under them. Read off a Tiiny Pocket Lab on 2026-09-16; the model on the box answered in 10 seconds and cited 3 of the 6 passages it read.

One rule: cite, or refuse.

Every sentence that states a fact ends with the number of the passage it came from. Tap the number and the book opens at that page. An answer that cites nothing is withheld even when it reads well, and the model is asked again with the complaint. It gets one more try. Then the vault says it does not know.

ASKED  how do I purify water
  1. Strain water through a paper towel or clean cloth to remove dirt and particles[1]
  2. Boil the water for 3 to 5 minutes or add a water-purifying agent[1]
  3. Use 4 water-purifying tablets per gallon, or 2 percent tincture of iodine, or liquid chlorine bleach with hypochlorite[1]
  4. For cloudy water, let it settle for 24 hours or add alum and wait 12 hours[3]
  5. Use charcoal as a sieve to filter water, but always boil it first if possible[3]
  6. Boil water from lakes, ponds, swamps, springs, or streams, especially near human settlements or in the tropics[6]
  7. For water from vegetation or the ground, boil, use iodine, or chlorine bleach[6]
[1]Protection in the Nuclear Age · p32
[3]The Ten Bushcraft Books · pp82–83
[6]Wilderness Medicine Course · pp151–152
   also retrieved: Safe Water School Training Manual · pp34–35
verbatim · a second run of the same question that evening · Qwen3-8B on the Tiiny · 10.8 s

Why the number matters

A model that has read the right page and a model that is making it up sound exactly the same. The number is the difference. It points at a passage a human can open, in a book that was on the shelf before the question was asked.

The persona is the Archivist. An archivist's whole job is provenance, and one who cannot source an item says so. It never says I know. It says the archive says.

Two paths, chosen by the question. A name question ("what is a deadfall trap") reads every passage that names the thing, across every book. A how-to question goes to search. Both end in the same place: a book and a page.

It will tell you when it does not know.

A calm box, not an apology and not a guess. It lists what it did read, so you can see the shelf was searched and the answer was not there.

ASKED  what is the capital of Mars
Nothing I retrieved covers that.
what it read: Mars · Vikidia  /  Mars (planet) · Vikidia  /  Gemini (chatbot) · Vikidia  /  Bard (chatbot) · Vikidia
verbatim · 2026-09-16 · 1.0 s
The refusal on the screen: a boxed line reading that nothing it read covers this, with the list of what it read

The refusal test on this shelf invents nothing: zero fabricated answers across the questions it was run on. A citation the model makes up (a [7] when there were six passages) renders as plain text pointing at nothing, so it cannot borrow authority it does not have.

What is on the shelf.

It is a shelf, not the internet. That is the point: everything it can say, you can open. Books first, then a plain-language encyclopaedia for the words you did not know.

6,043documents
27,746passages, every one indexed
7,858subjects in the index
240 MBone SQLite file
shelfwhat is on itdocumentspages
Survival shelf
the zimgit post-disaster collection
Real books, not web pages: SAS Survival Handbook, Where There Is No Doctor, A Book for Midwives, Nuclear War Survival Skills, War Surgery in Afghanistan and Iraq, Wilderness Medicine Course, the HHS Pandemic Influenza Plan, Foxfire 1 to 3, Deadfalls and Snares, The Ten Bushcraft Books, and a hundred more. 10912,605
Vikidia A children's encyclopaedia in plain language, for what a word means when you cannot look it up. 5,9345,934
Browse mode: the shelves and the subject index, drawn from the corpus itself
Browse is one tap away and never in front of asking: every shelf, every book in title order, and the subject index drawn from the corpus itself.

Built for bad light and one hand.

Somebody opens this when the power is out. It was designed for that reader, not for a desk: on a phone joined to the Tiiny's own network, in the dark, with the other hand busy.

  • Ivory serif at 23px on warm near-black. Amber is spent on two things only: the citation marks and the Ask button. Nothing else asks for your eye.
  • The ask bar sits under the thumb. On a phone it is at the bottom, where the hand already is.
  • Waiting names its steps, and has a STOP. Searching the shelf, reading the passages, writing the answer. You can see which one it is on and you can end it.
  • It does not panic. If the box stops answering it says unreachable after two failed checks, not one, and says what to try.
  • It prints. Paper is the fallback, so the answer page prints clean, citations and all.
  • Nothing fetched off the box. One HTML file, system fonts, no CDN, no script from anywhere else. It works with the internet gone because it never had it.
The same answer at phone width: the ask bar at the bottom under the thumb
Phone width, the same answer.

Nothing leaves the box.

It runs on a Tiiny Pocket Lab: the shelf, the search, and the model that reads the passages and writes the answer all live on the device. No account, no cloud, no internet at any step. Join its network from a phone and ask.

The model is whatever chat model the box is holding. It only ever sees the passages the search found, and it is told to cite them or say it cannot. The shelf is a single 240 MB SQLite file, built once, copied anywhere.

LAST LIGHT is the books half of Archiver, which turns a shelf of PDFs into text a model can quote, with the book, the page range and the source file kept on every passage. The notes half is Tiiny Brain. Same spine, two very different rooms.

The waiting state: the three steps named, with a STOP
Waiting, with its steps named and a way out.

Get it.

Today it is a clone and five commands. today A listing on tiinyapp.farm and a prebuilt shelf you download instead of building are next. planned

# get it. Python 3.9 or newer, nothing from PyPI.
# poppler too, if your shelf is PDFs
git clone https://github.com/webdevtodayjason/archiver
cd archiver

# the box that does the embedding and the answering
export TIINY_HOST=tiiny
export TIINY_KEY=...
export ARCHIVER_HOME=~/lastlight/corpus

# build the shelf from a folder of books, then index it
python3 archiver add ~/shelf --source "Survival shelf"
python3 archiver run
python3 archiver chunk
python3 archivist.py index
python3 entities.py build

# open it at http://<the box>:8700/
python3 lastlight.py

python3 lastlight.py --selfcheck proves the screen and every route offline, with no device and no corpus, before you point it at anything real.