cd /news/artificial-intelligence/the-haunted-ofrenda-a-candlelit-alta… · home › topics › artificial-intelligence › article
[ARTICLE · art-161601] src=dev.to ↗ pub= topic=artificial-intelligence verified=true sentiment=↑ positive

The Haunted Ofrenda: a candlelit altar where Gemma helps you remember your loved ones who are no longer there

A developer built The Haunted Ofrenda, a 3D scroll-driven Día de los Muertos altar web app that collects memories of a deceased loved one and uses a locally run Gemma model (via Ollama) to write a short remembrance from only the supplied text. Photographs stay in browser IndexedDB and are never sent to the model, and the Express backend and Vite dev server bind to 127.0.0.1 with no cloud model, database or third-party AI service. The developer notes the hosted Vercel link runs only the UI, so the full experience requires Ollama installed locally.

by read2 min views1 publishedOct 31, 2026

This is a submission for the Hacktoberfest Open-Source AI Challenge Week 4: Ghost in the Machine

The Haunted Ofrenda is a 3D, scroll-driven Día de los Muertos altar. You name someone you miss, answer a few gentle questions about them, and watch the altar fill up. Their favourite food appears, their song becomes an offering, and every story you share lights a candle. A small open-weight model then writes a short remembrance from only the memories you gave it.

For the theme, I read "Ghost in the Machine" literally and emotionally. The ghost is the person you're remembering. The machine is a model running on your own computer, with no server holding your memories.

The opening was inspired by The Haunting of Hill House title sequence: darkness, a single warm light, and a world that reveals itself slowly as you scroll.

The live link hosts the UI only. Gemma runs on your own machine through Ollama

The remembrance writer runs locally through the Ollama service on this computer. The React app sends only the selected memory's text fields to the local Express backend; photographs stay in browser IndexedDB and are never sent to Gemma. The backend and Vite development server bind to 127.0.0.1, and Vite proxies /api requests to Express. No cloud model, cloud database, or third-party AI service is used.

gemma4:e2b Check the installed model with:

ollama list

If Ollama is not already running, start the Ollama desktop app or run ollama serve in a terminal. The model can be loaded with:

ollama run gemma4:e2b

Copy backend/.env.example to backend/.env and adjust the values only if your local Ollama address, model, or port differs. .env files are ignored by Git.

…

Open-source AI

gemma3:4b] writes the guiding questions and the final remembrance. Frontend

Tricks that made a small model work

An honest limit: the Vercel link can't run Gemma, because the model lives on the user's machine. That's deliberate, but it means the full experience needs Ollama installed. "run it locally" .

A remembrance of a grandmother is about as personal as data gets, so where it goes matters.

One note on terms: Gemma is open-weight under Google's own licence, not an OSI open-source licence. I used it because it's open enough to run locally and fits the challenge.

[Write this one yourself. Describe one real moment, such as a memory you typed about someone and the candle lighting up. A screenshot or GIF of that moment will do more than any paragraph.]

Gemma

── more in #artificial-intelligence 4 stories · sorted by recency
── more on @gemma 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/the-haunted-ofrenda-…] indexed:0 read:2min 2026-10-31 · —