This is a submission for the Hacktoberfest Open-Source AI Challenge Week 4: Ghost in the Machine
What I Built
I built Ofrenda, a private, local-first tool for keeping family stories and honoring loved ones. You can add a story by typing it or transcribe an audio recording, create a remembrance, ask questions grounded in the saved stories, and build an offline HTML ofrenda.
I interpreted “Ghost in the Machine” as a way to keep memories present through technology: stories stay on your computer, where you can revisit them without sending them to an online service.
Demo
You can also include a screenshot of the generated ofrenda.html. The page is a standalone file and does not load external resources.
Code
🕯️ Ofrenda — a private, offline ofrenda & oral-history keeper
Ghost in the Machine entry. Record a loved one's stories, let a local open-weight model help write their remembrance, ask questions that are answered only from what your family actually said, and render a candlelit, single-file HTML ofrenda that works offline forever.
Quick start
# 1. Open pieces (all free, all local)
# Ollama: https://ollama.com
ollama pull llama3.2 # any open-weight chat model works (qwen2.5, gemma2, mistral...)
ollama pull nomic-embed-text # optional: better story search (keyword fallback otherwise)
pip install -r requirements.txt # optional: faster-whisper for audio
# 2. Use it
python -m ofrenda add "Abuela Rosa" --born 1931 --died 2019 \
--foods "tamales,champurrado" --songs "Cielito Lindo" --items "blue rebozo" --photo rosa.jpg
python -m ofrenda story abuela-rosa --audio grandma_kitchen.m4a --teller "Mamá" --language es
python -m ofrenda story abuela-rosa --text …How I Built It
Ofrenda uses faster-whisper to transcribe audio locally and Ollama to run a local language model for writing remembrances and answering questions from saved stories. The stories are stored as local JSON, and the project generates a standalone HTML page.
The project can use a local Whisper model and an Ollama model such as gemma3:4b. After the models are downloaded and Ollama is set up, the AI features can run without sending family recordings or stories to a remote API.
Why Does Open Innovation Matter?
Open tools let me run transcription and language generation on my own computer. That gives families more control over private recordings and lets them choose or change the models they use. The data is stored in a simple local format, and the generated memorial can be kept as an HTML file.
Once the models are downloaded, Ofrenda can work without an internet connection, and there are no per-request API charges.
The Spirit of It
An ofrenda is a place for memories, photographs, favorite things, and stories. I wanted this project to make it easier to preserve the stories behind those memories and return to them later. The technology should help people care for those stories while keeping them close and private.

Top comments (0)