What I Built
Marigold is a private, local-first digital ofrenda: a small place to collect the details, stories, and qualities that help keep someone close.
The “ghost” here is not an AI pretending to speak for someone who has died. It is the way memory lingers in ordinary details. Marigold lets you write those details yourself, or—if you choose—ask a local model for help getting past a blank page.
You can save, edit, and delete remembrances in your browser, and export or import a JSON backup. When you press Help me find the words, Marigold sends the fields you entered to an Ollama model running on your own computer. The result is a short, editable suggestion. The app reminds you to check it, because a local model can still invent details.
Demo
There is no hosted demo yet; Marigold runs locally. Install Ollama, download the default model, start Ollama, and run:
python3 server.py
Then open http://127.0.0.1:8000. The full setup is in the repository README.
Code
Marigold
A private, local-first digital ofrenda for gathering memories and shaping them into an editable remembrance. Marigold uses a locally running Ollama model for drafting; it does not send stories to a hosted AI service.
What it does
- Keeps saved remembrances in this browser's local storage.
- Uses an open-weight model through Ollama on your computer to help write a first draft.
- Lets you edit, delete, export, and import your memories.
- Makes no analytics or third-party network requests.
The local model only receives the fields you enter when you choose Help me find the words. The app does not contact the model until you press that button.
Run it
-
Install Ollama and download a model once:
ollama pull qwen2.5:3b
-
Start Ollama if it is not already running.
-
From this folder, start the app:
python3 server.py
-
Open http://127.0.0.1:8000.
The first model download needs internet. After it is downloaded, the app…
The project is released under the MIT License.
How I Built It
The interface is plain HTML, CSS, and JavaScript. A small Python standard-library server serves the app and provides two local endpoints: one to discover installed Ollama models and one to request a draft. Remembrances stay in browser localStorage; the model is contacted only after the person asks for a draft.
The README uses qwen2.5:3b as the suggested Ollama model. Marigold prefers it when installed and otherwise lets you select another installed model. No hosted AI API or analytics service is part of the app.
Why Does Open Innovation Matter?
Open-weight models and a local runtime make privacy a practical choice, not just a promise from a hosted service. There is no API key or remote inference provider between a person and their remembrance. Once the model is downloaded, the app can be used offline.
The small codebase is also inspectable and adaptable: people can see what text is sent to the model, change the prompt, or choose another model that works with Ollama.
The Spirit of It
I wanted the AI to have a deliberately modest role. It can help someone find a first sentence, but it should not impersonate a loved one, claim to know them, or turn missing details into plausible-sounding facts. The person remembers; the model offers a draft; the person decides what is true enough to keep.


Top comments (0)