Last Witness: Seven Questions Before the Lights Go Out
What I Built 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…
"Last Witness" is an interactive story set in a forgotten amusement park, focusing on its aging computer named Keeper. Keeper can hold seven questions, each answer saving a memory and causing another to vanish. Players choose which elements of the park to preserve. The demo uses keyword matching without AI, while the local AI version employs Qwen2.5 3B through Ollama, sharing the same narrative.
The project was built using JavaScript, HTML, CSS, Node.js, and Ollama, with MIT licensing for the application code and the model's upstream license. JavaScript, HTML, CSS, Node.js, and Ollama were used without external dependencies. The dialogue is prewritten, and the model interprets each question, choosing relevant memories via constrained JSON.
The server validates selections before updating the game. Each request includes only the remaining records, excluding saved memories, erased records, and previous dialogue. Eight automated tests cover memory transitions, concurrency, and HTTP behavior. Real-model checks address relevance, paraphrases, unrelated questions, and removed records.
The interface uses dark green tones, a weathered ticket, a park map, and unfolding notes, with illustrations created using CSS and SVG. Optional sound is synthesized locally. The project emphasizes open innovation, allowing the local AI edition to work offline, with questions stored on the user's computer and compatible models for swapping.
The story revolves around a lost toy fox, knitted a scarf by a staff member, symbolizing the potential to save or lose memories. Ultimately, Keeper leaves the player with the final record, thanking them for preserving what they can.
Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.