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

> Source: <https://dev.to/aayushi2882/the-haunted-ofrenda-a-candlelit-altar-where-gemma-helps-you-remember-your-loved-ones-who-are-no-7h5>
> Published: 2026-10-31 16:13:32+00:00

*This is a submission for the [Hacktoberfest Open-Source AI Challenge Week 4: Ghost in the Machine](https://dev.to/challenges/hacktoberfest-week4-2026-10-26)*

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
