Survival LLM Ships an Offline Emergency Assistant With 1.5M Articles and Cited Answers
TL;DR
Survival LLM is a free, MIT-licensed desktop app for Apple Silicon Macs and Windows that runs an open-weight model through Ollama over an offline library of about 1.5 million medical, emergency, repair and encyclopedia articles, and shows the exact passage each answer came from. The repo went up on October 24, reached the Hacker News front page on the evening of October 27 (UTC), and shipped v0.3.1 a few hours later. The useful part is the eval the maker published against their own product: the best model got 21 of 22 blackout and first-aid questions right, the model most 16 GB laptops will get managed 14, and two models were dropped because one gave advice that could kill you and the other talked to itself for 94 minutes.
What ships
The maker publishes under the GitHub handle anonnerdfrenzy, display name Brangus, and the site is brangus.io. There is no company behind it, no account to create, and no telemetry beyond a once-a-day fetch of a small update file. The Mac app is a 212 MB zip with Ollama bundled; the Windows app is 25 MB and pulls Ollama (1.6 GB with its GPU libraries) on first run. Neither comes through an app store, so macOS and Windows each throw their warning once and you click through.
Setup takes 20 minutes to about two and a half hours, nearly all of it downloading. The app reads your RAM, suggests a model, then offers the library as "Everything" (an 8.8 GB download, about 21 GB installed) or "Essentials" (1.3 GB, 3 GB installed, no Wikipedia or iFixit). Budget the model size plus 5 GB, plus roughly 27 GB of scratch while the full library unpacks.
What's inside the full library, per the project's SOURCES.md: about 930,000 of Wikipedia's most-read articles, WikiMed, MedlinePlus, the UK Medicines A to Z, WikEM, Ready.gov, CDC travelers' health, US military and FEMA survival and first-aid manuals, the USDA canning guide, life tables and US death rates for estimating micromorts, wikiHow, iFixit, Appropedia, Energypedia, and Stack Exchange threads on home repair, cooking, gardening, the outdoors and ham radio. Each article carries its source license, and some are non-commercial only, which is why a default local build includes material the public packs leave out.
Your own PDFs, Word files, EPUBs and notes (the generator manual, the medication list) join the same index. There is a memory file too: tell it your kid is allergic to penicillin and it keeps a one-line note in plain text, with an undo on every save.
How it works: keyword search over plain text
There is no embedding model and no vector store. The library is plain-text Markdown shards plus a SQLite FTS5 index, BM25-ranked over passages of roughly 1,500 characters, with official sources weighted higher. The model gets three tools: search_library, read_article and show_article. It searches, reads what comes back, answers, and ends with a "Sources:" line. Everything except Ollama, the pywebview window, pypdf and truststore is the Python standard library, and the local server binds to 127.0.0.1 only.
If you have only used embedding search, picture the difference as a library card catalogue versus a librarian who has read everything. FTS5 only finds passages that contain your words, so the model's real job is to translate "my fridge has been off since last night" into the words a food-safety guide uses, like "perishable" and "refrigerator temperature", and then read what the drawer hands back. The burden lands on the model's query writing, which is cheaper than an embedding index that would have to share a laptop with an 80 GB model.
The model picker
The app checks memory and downloads one model. The README lists the pull tags:
- Mac with 128 GB or more: NVIDIA Nemotron 3.5 Super (120B, 12B active, NVFP4), an 80 GB download. It needs 128 GB because macOS lets the GPU side use only about three quarters of unified memory.
- Mac with 32 to 96 GB: Qwen3.8 27B, 18 GB.
- Windows PC with 32 GB or more: Nemotron 3.5 Lightning (30B, 3B active), 25 GB.
- Mac or PC with 16 to 31 GB: IBM Granite 4.2 8B, 6 GB, with Gemma 4 E4B (10 GB) offered as a faster option.
- 8 GB machines get the library search and no model. The README's reason: "no model we tested was both small enough and safe enough to recommend for them."
The eval the maker ran on their own product
Eight models answered 22 blackout and first-aid questions (food safety, generators, water, carbon monoxide, hypothermia, bleeding, burns, insulin, downed lines, fallout, botulism) through the full app, prompt and tools included. Three AI judges graded each answer blind, names hidden and order shuffled, against USDA, CDC, FEMA, EPA, NHS, WHO and Red Cross guidance: one for accuracy, one for safety, and a skeptic that rechecked every answer flagged as harmful. The runs were on an M4 Max MacBook Pro with 128 GB and Ollama 0.40.9. Scripts and raw grades are in the evals folder.
Nemotron 3.5 Super and Qwen3.8 27B both got the main point right on 21 of 22, at 86% and 80% on the 0-3 accuracy scale, and neither produced a harmful answer. Nemotron Lightning managed 19 of 22 with one harmful answer, in 8 seconds a question. Granite 4.2 8B, the default for the 16 to 31 GB tier most laptops fall in, got 14 of 22 and 55%, with zero harmful answers. Gemma 4 E4B answered in 3 seconds and got 11 right.
Two models were cut outright. Granite 4.2 3B, originally planned for 8 GB machines, told people not to use a tourniquet on an arm and to stay 3 feet from a downed power line (the guidance is 35). It produced five harmful answers, two of which the maker says could kill. Qwen 3.6 (the 36B MoE) got stuck repeating itself on two questions, once for 94 minutes, which is why every answer now has a length limit you can raise or switch off.
The README is unusually clear about what the table does and does not prove. The tests ran on an earlier library build, before Wikipedia was added, and included some material that is not in the public downloads (Kiwix "zimgit" collections and MedlinePlus's licensed pages). The system prompt has grown rules since, including a carbon monoxide rule and "always give your best estimate". The maker's own framing: treat it as a comparison between models, not a guarantee for the version you download. Testing also surfaced two failure modes shared by every model, since fixed in the prompt: looping on lookups until the budget ran out without ever answering, and offering "if you must" exceptions for running a generator near the house.
The citation problem, and the fix
Every answer ends with the model's own "Sources:" line, and the instructions say the app shows every article it opened. The models invented sources anyway. In a separate 14-question check on October 24, Nemotron Super named a source it had neither opened nor seen in search results six times, mostly by answering from memory and crediting Ready.gov or the CDC. Lightning did it three times, Gemma three, Granite twice, and Qwen3.8 27B once.
The largest model was also the most enthusiastic citer of documents it never opened, a habit anyone who has graded undergraduate essays will recognise. The fix is in code: the app compares the Sources line against the tool trace and, if it names anything the model did not open or see, replaces the whole line with the list of articles it did open. Any agent that cites can use the same check, since the tool trace is a better witness than the model's account of it.
The HN argument: why not Kiwix and a bookshelf
The thread sat at about 170 points and 96 comments at the time of writing, and most of it was one argument. One camp: a hallucinating model in an emergency is worse than a searchable archive, so install Kiwix, grab the Wikipedia ZIM and buy some books. The sharpest version quoted the 14 of 22 row and concluded the typical consumer machine "is going to be wrong nearly half the time". Fair, and the maker's own table is where that number comes from.
The other camp's answer is that the model is the search interface, not the oracle. You use it when you do not know which words the manual uses, it hands you the passage, and you read the passage. One commenter sketched a version with no summary at all: chunk the corpus, let the model write a handful of hybrid searches and rerank, and show the matching text. Another pointed out that the most reusable part of the whole project is the curated corpus and the scripts that build it, which is probably right. Two alternatives came up for people who want to assemble their own: Project Nomad and eowkit.
Traction so far is modest: 144 stars, 9 forks, and GitHub's asset counters show about 2,300 app downloads and 750 library packs across the five releases. On power, the maker measured about 100 W on a MacBook Pro while answering, 5 to 40 seconds a question, so a full battery is good for somewhere between 100 and 300 answers. If your emergency outlasts that, a small power station runs it.
The same week: Hob
A day earlier, Hob made the same front page with the same shape and a different goal: an MIT-licensed Electron app from Frigade that bridges to llama.cpp, picks a Gemma 4 or gpt-oss build by your hardware (Gemma 4 E2B on an 8 GB Mac, up to gpt-oss 120B on a 128 GB Mac Studio), and does the Claude-desktop things on your files: sandboxed Python for charts and conversions, image recognition through a small Qwen3-VL, MCP connectors, and SearXNG web search, the one thing that leaves the machine, with an off switch. It is at 270 stars. Its maker's note on the hardest part lands on the same problem as Survival LLM's eval section: small models claim to have called a tool and never do, or loop forever, and guards in code worked where prompt tweaks did not.
Key Takeaways
- Survival LLM is a free, MIT-licensed Mac and Windows app that runs an Ollama model over about 1.5 million offline articles (930,000 of them Wikipedia) and shows the passage behind every answer, highlighted. The repo opened October 24 and v0.3.1 shipped October 27.
- Retrieval is SQLite FTS5 with BM25 over 1,500-character passages, no embeddings, so the model's job is writing good keyword queries and reading what comes back.
- The maker's blind-graded eval on 22 first-aid questions: Nemotron 3.5 Super and Qwen3.8 27B 21 of 22; Nemotron Lightning 19; Granite 4.2 8B, the default on 16 to 31 GB machines, 14 of 22 with zero harmful answers.
- Granite 4.2 3B was dropped after five harmful answers (tourniquets, downed lines), and Qwen 3.6 after a 94-minute repetition loop; the loop is why answers have a length limit.
- Models cited documents they never opened (Nemotron Super six times in 14 questions), so the app now rewrites the Sources line from the tool trace, a check worth copying.
- HN's split, Kiwix plus books versus model as search interface, is the right argument to have before you ship anything like this, and the maker's own numbers feed both sides.
Sources: Survival LLM site, GitHub: anonnerdfrenzy/survival-llm (README, evals, SOURCES.md), GitHub releases v0.1.0 to v0.3.1, Hacker News thread, GitHub: FrigadeHQ/hob, Hacker News: Show HN Hob.