cd /news/ai-tools/last-witness-seven-questions-before-… · home › topics › ai-tools › article
[ARTICLE · art-160528] src=dev.to ↗ pub= topic=ai-tools verified=true sentiment=↑ positive

Last Witness: Seven Questions Before the Lights Go Out

A developer built Last Witness, an interactive narrative game in which a failing amusement-park computer named Keeper holds fourteen memories but has power for only seven questions, forcing players to choose which records survive. The public Archive Edition relies on keyword matching, while a local AI edition runs Qwen2.5 3B through Ollama, using constrained JSON to select memories that the server validates before updating the game. Built with JavaScript, HTML, CSS, Node.js and no package dependencies, the project ships with eight automated tests and runs offline once the model weights are installed.

by read2 min views1 publishedOct 29, 2026

Last Witness is an interactive story about a forgotten amusement park and its failing computer, Keeper.

Keeper holds fourteen memories but has enough power for seven questions. Each answer preserves a memory in your notebook while another unheard memory disappears. After the seventh question, you write the final record from what you saved.

There is no score. You decide which pieces of the park survive.

The public demo is the Archive Edition, using keyword matching without AI inference. The local AI edition uses Qwen2.5 3B through Ollama. Both share the same story.

GitHub repository and setup instructions Application code is MIT licensed. Model weights retain their upstream license.

I used JavaScript, HTML, CSS, Node.js, and Ollama, with no package dependencies.

The dialogue is prewritten. The open-weight model interprets each question and selects a relevant available memory through constrained JSON. The server validates its selection before updating the game.

Each request includes only the remaining records. Saved memories, erased records, and previous dialogue are excluded from subsequent inference. Your notebook remembers what Keeper cannot.

Failed inference does not consume a turn. Eight automated tests cover memory transitions, concurrency, and HTTP behavior. Real-model checks cover relevance, paraphrases, unrelated questions, and removed records.

The interface combines dark green tones, a weathered ticket, a park map, and unfolding notes. Illustrations use CSS and SVG; optional sound is synthesized locally.

After installing the software and model weights, the local AI edition works offline. Questions stay on your computer, and you can swap compatible models.

A story about preservation should itself be preservable. Keeping the source and model lets someone return to Bellwether without relying on a hosted service.

One memory concerns a lost toy fox. Each winter, a staff member knitted it a scarf, although nobody would see it inside the closed drawer.

A player might save that small kindness—or lose it before discovering it.

The final record belongs to the player. Keeper leaves them with:

“Thank you. I think I can turn the lamp off now.”

── more in #ai-tools 4 stories · sorted by recency
── more on @last witness 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
→ Live at https://your-agent.zahid.host ✓
Get free account → Pricing
from €0/mo · no card required
LIVE [news/last-witness-seven-q…] indexed:0 read:2min 2026-10-29 · —