DEV Community

Sanket Deore
Sanket Deore

Posted on

The Lantern

The Lantern: Keeping Family Stories Alive with Local, Open AI
This is a submission for the Hacktoberfest Open-Source AI Challenge Week 4: Ghost in the Machine.
What I Built
The Lantern is a local remembrance journal that turns small memories into a tribute.

Save a story about someone: a Sunday recipe, a favorite song, the flowers they grew. Select a few memories, and an open-weight model helps weave them into a short remembrance. You can compare the draft with the original memories, edit it, and export everything together as Markdown.

I interpreted “Ghost in the Machine” through the stories we carry forward. Inspired by the invitation to honor the past, I built a quiet space for remembering, with deep green, warm amber, and the feeling of leaving a little light on.

The person keeping the memories always has the final word.
Demo
[Insert your demo video link here.]

The app includes a separate fictional demo vault featuring Elena: orange cake on Sundays, marigolds in blue pots, and boleros on a silver radio.

The walkthrough is simple:

  1. Select the saved memories.
  2. Click Weave selected memories.
  3. Compare the generated tribute with its sources.
  4. Edit the wording and correct any mistakes.
  5. Export the reviewed tribute. The fictional examples make it possible to demonstrate the app without sharing real family stories. Code [Insert your public GitHub repository link here.]

The application code is MIT licensed. It includes Python source, Windows launchers, a model setup script, tests, and documentation.

Personal memory databases are excluded from version control.
How I Built It
The AI core is Qwen2.5-0.5B-Instruct, using Q8_0 GGUF weights and running locally on CPU through llama.cpp.

Python and Tk provide the desktop interface. SQLite stores the memories. The application uses Python’s standard library, so there are no pip packages to install.

The workflow follows one path:
Saved memories → selected sources → local model
→ editable tribute → human review → Markdown export
Export preserves the exact source memories used for that draft, even if the saved memories change later.

Testing also revealed a limitation worth keeping visible. The small model omitted requested source labels and changed a detail in one generated tribute. Instructions alone did not prevent that mistake. That is why the interface keeps the sources available and asks for review before export.

Real local inference completed startup and generation in roughly four seconds on the development machine. Six automated tests passed for storage, validation, and source-preserving exports.
Why Does Open Innovation Matter?
For The Lantern, control over inference is part of the product.

After downloading the runtime and weights, generation runs locally without an API account or per-request billing. The application sends selected memories to a model process on the same computer.

Open weights also make the model replaceable. A configuration file can point the app to another compatible local instruct model. The prompt is available to inspect and change.

The stories remain portable, too. Memories live in SQLite, and tributes export as ordinary Markdown. Reading an exported remembrance does not depend on a subscription or the continued existence of this app.

There are tradeoffs: local hardware matters, small models make mistakes, and the database is plaintext rather than encrypted. Open innovation gives us control over those decisions and room to improve them.

For a tool handling personal stories, that control matters.

Top comments (0)