{"slug": "ofrenda-a-local-first-memory-altar-powered-by-ai", "title": "Ofrenda: A Local-First Memory Altar Powered by AI", "summary": "A developer built Ofrenda, an experimental local-first \"memory altar\" that stores personal memories as candles in browser local storage and answers questions about them using a locally running Ollama model (llama3.2:3b). Lightweight text matching selects candidate memories, which are sent to the local Ollama service for answering, and a basic grounding check highlights relevant candles or returns \"I don't remember that\" when nothing matches. The project avoids hosted AI APIs but the developer notes browser storage is unencrypted and text matching can miss relevant memories.", "body_md": "*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)*\n\nWhat if you could preserve meaningful memories as candles and ask an AI to help you remember them — without sending your memories to a cloud AI service?\n\nThat idea inspired Ofrenda, an experimental local-first memory altar built with HTML, JavaScript, and Ollama.\n\nOfrenda is inspired by Día de los Muertos, a tradition of remembering and honoring loved ones.\n\nThe idea is simple: each memory becomes a candle. You can add memories, ask questions about what you've saved, and let a locally running AI model try to recall relevant details. When a memory is relevant to your question, its candle can be highlighted.\n\nThe goal isn't to build another chatbot that answers everything. It's to explore an assistant that works with a small collection of personal memories and admits when it doesn't find something relevant.\n\nFeatures\n\nMemory candles: Add and save meaningful memories.\n\nAsk questions: Query the memories you've stored.\n\nLocal AI: Generate responses using an Ollama model running on your computer.\n\nRelevant candle highlighting: Highlight memories matched to a question.\n\nA simple fallback: When no relevant memory is found, Ofrenda can respond with “I don't remember that.”\n\nBrowser storage: Memories are saved in local storage.\n\n# Ofrenda 🕯️\n\n**A local-first memory altar powered by Ollama and open-weight AI.**\n\nOfrenda is a small experimental project inspired by Día de los Muertos. Add meaningful memories as candles, ask questions about them, and let a local AI model help you recall what you've saved.\n\n## Features\n\n- 🕯️ Add and save personal memories as candles\n\n- 💬 Ask questions about saved memories\n\n- 🧠 Uses Ollama to run an AI model locally\n\n- 🔒 Keeps memories in browser local storage and sends selected memories to the local Ollama service\n\n- ✨ Highlights candles relevant to a question\n\n- 🌱 Responds when it cannot find a relevant saved memory\n\n## Requirements\n\n- Python 3\n\n- [Ollama]([https://ollama.com/](https://ollama.com/))\n\n- A supported Ollama model, such as `llama3.2:3b`\n\n## Run locally\n\n1. Install Ollama and download the model:\n\n``` powershell\n\nollama pull llama3.2:3b\n\n```\n\n2. Open PowerShell in the project directory and…\n\nOfrenda combines a simple browser interface with a locally running language model.\n\nYou add memories, which are stored in your browser.\n\nWhen you ask a question, lightweight text matching identifies potentially relevant memories.\n\nOfrenda sends the selected memories and your question to the local Ollama service.\n\nThe model generates an answer based on the supplied context.\n\nA basic text-grounding check evaluates the answer, and relevant candles are highlighted.\n\nThis approach keeps the project small and easy to experiment with. It also has limitations: text matching can miss relevant memories, and a lightweight grounding check cannot guarantee that every answer is correct.\n\n🔒 Why Local-First AI?\n\nPersonal memories can be sensitive. I wanted to explore an approach that doesn't depend on a hosted AI API.\n\nOfrenda stores memories in browser local storage and sends selected memories to the local Ollama service for answering. It doesn't require a cloud AI API.\n\nThis is a local-use design, not a guarantee of complete security. Browser storage isn't encrypted by default, and the computer running the application remains part of the privacy boundary.\n\n🛠️ Tech Stack\n\nHTML\n\nCSS\n\nJavaScript\n\nOllama\n\nllama3.2:3b (local language model)\n\n🚀 Run It Locally\n\nPrerequisites: Python 3, Ollama, and a compatible local model.\n\nFirst, download the model:\n\nClone the repository:\n\ngit clone [https://github.com/Anirban846/ofrenda.git](https://github.com/Anirban846/ofrenda.git)\n\ncd ofrenda\n\nStart a local web server:\n\npython -m http.server 8000 --bind 127.0.0.1\n\nOpen the app in your browser:\n\n[http://127.0.0.1:8000/ofrenda.html](http://127.0.0.1:8000/ofrenda.html)\n\nMake sure Ollama is running and the model name in the app matches your installed model. If your browser blocks requests to Ollama, you may need to configure Ollama's allowed origins for the local address and restart Ollama.\n\n🧪 What I Tested\n\nDuring development, I tested two important cases:\n\nA known memory: When I saved a memory about adding salt until water tastes like the sea, Ofrenda returned the saved instruction.\n\nAn unknown memory: When I asked about a movie that wasn't in the saved memories, Ofrenda returned its “I don't remember that” fallback.\n\nThese tests helped me improve the app's handling of missing information. They don't prove that hallucinations are impossible, but they demonstrate the behavior I wanted to explore.\n\n💡 What I Learned\n\nBuilding Ofrenda reinforced an important lesson: telling an AI model not to hallucinate isn't enough.\n\nA more reliable design needs to consider which memories are relevant, what context the model receives, and whether its response is supported by that context. Even simple text-based checks can introduce false positives and false negatives, so they need to be treated as safeguards rather than guarantees.\n\nI also explored how a local model can support an AI experience without requiring a hosted inference API.\n\nOpen innovation gives developers room to experiment with ideas that might otherwise remain just concepts. Using accessible tools and open-weight models made it possible to build and test this small project locally.\n\nOfrenda is an experiment, and there is plenty of room to improve its memory retrieval, reliability, accessibility, and visual design.\n\nOfrenda started with a simple thought: technology should help us remember, not just generate answers.\n\nInspired by Día de los Muertos, this project treats memories as something worth preserving, with each candle representing a moment we don't want to lose. The AI isn't meant to invent a life story or pretend to know everything. It's meant to help us revisit what we've chosen to remember — and acknowledge when something isn't there.\n\nThat idea shaped one of the most important parts of the project: “I don't remember that” should be a perfectly acceptable answer.\n\nI also wanted to explore a more personal relationship with AI, one where memories can stay on our own computers instead of being sent to a hosted AI service. Ofrenda is a small experiment, and it isn't a perfect memory system, but it represents the kind of technology I want to explore: more thoughtful about privacy, more honest about uncertainty, and built around people rather than just prompts.\n\nNot every memory needs to be generated. Some simply need a candle. 🕯️", "url": "https://wpnews.pro/news/ofrenda-a-local-first-memory-altar-powered-by-ai", "canonical_source": "https://dev.to/ani04/ofrenda-a-local-first-memory-altar-powered-by-ai-2olg", "published_at": "2026-10-27 06:06:53+00:00", "updated_at": "2026-10-27 06:12:31.172101+00:00", "lang": "en", "topics": ["artificial-intelligence", "large-language-models", "ai-tools", "generative-ai"], "entities": ["Ofrenda", "Ollama", "llama3.2:3b", "GitHub", "Hacktoberfest"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/ofrenda-a-local-first-memory-altar-powered-by-ai", "markdown": "https://wpnews.pro/news/ofrenda-a-local-first-memory-altar-powered-by-ai.md", "text": "https://wpnews.pro/news/ofrenda-a-local-first-memory-altar-powered-by-ai.txt", "jsonld": "https://wpnews.pro/news/ofrenda-a-local-first-memory-altar-powered-by-ai.jsonld"}}