{"slug": "ofrenda-a-offline-cli-that-helps-you-remember-someone-without-inventing-a-word", "title": "Ofrenda: a offline CLI that helps you remember someone, without inventing a word", "summary": "A developer built Ofrenda, an offline command-line tool that interviews users about a person they want to remember and writes two plain Markdown files: a short remembrance and a checklist of items for an ofrenda. The tool runs a local model through Ollama (default gemma3:4b) so no personal data leaves the machine, and enforces a strict rule that the model may only rearrange what the user typed, never invent details. The developer notes known limitations, including small models occasionally asking two questions at once and prompts tested only in English.", "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\nOfrenda is a small command-line tool that helps you remember someone. You run `ofrenda new`, and a local model asks you quiet questions, one at a time: what they liked to eat, a song they hummed, something they always said, a place that was theirs. When you finish, it writes two plain Markdown files: a short remembrance, and a checklist of things you might put on an ofrenda.\n\nI read \"Ghost in the Machine\" as the person who is no longer in the room, or no longer in your life, but still shows up in small habits and phrases. The idea started with Día de los Muertos, which treats memory as something to celebrate. But the tool isn't only for people who have died. It works just as well for a childhood friend you lost touch with.\n\nI held myself to one rule: **the model must never invent anything.** The remembrance can only rearrange what you actually told it. If you give it little, the file is short. I would rather it say too little than make things up.\n\nHere is the format, using a fictional friend (I wrote this example by hand to show the output; the person isn't real):\n\n``` bash\n$ ofrenda new\n\nWho are you remembering: Karthik\nHow did you know them: my childhood friend\n\nWhat did Karthik love to eat?\n> Mirchi bajji from the cart outside school. He'd buy two plates and always give me the bigger one.\n\n[... more questions ...]\n```\n\nThe resulting `remembrance.md`:\n\n```\n# Karthik\n\nKarthik and I played cricket on the ground behind our colony until the\nstreetlights came on. Before every ball, he tapped his bat on the ground twice.\n\nOutside school there was a cart that sold mirchi bajji. He would buy two plates\nand always give me the bigger one. He hummed \"Kal Ho Naa Ho\" badly on purpose,\njust to annoy me. He used to say, \"Chill maar, bhai.\"\n\nThe cracked tennis-ball bat with his initials carved into it is still with me.\n\nWe lost touch after college. Last year I found out he had moved abroad.\n```\n\nEvery sentence there traces back to something the user typed.\n\nA small offline command-line tool that helps you remember someone.\n\nYou answer a few quiet questions about a person — what they cooked, a song they hummed, a phrase they always said — and the tool writes two plain Markdown files: a short remembrance and a checklist of things you might put on an ofrenda. Everything runs on a local model through Ollama, so nothing leaves your machine.\n\nI made this during Hacktoberfest 2026, Week 4: Ghost in the Machine. The theme was about honoring the past, and Día de los Muertos felt like the right frame — a celebration of memory, not loss.\n\n**1. Install Ollama**\n\nDownload from [ollama.com](https://ollama.com) and make sure it's running.\n\n**2. Pull a model**\n\n```\nollama pull gemma3:4b\n```\n\nAny other small model works too. You can change it in the config (see below).\n\n**3. Install ofrenda**\n\n```\ngit clone https://github.com/madhav-1204/Ofrenda-CLI.git\ncd ofrenda-cli\npip\n```\n\n…`gemma3:4b`, and you can change it in `~/.ofrenda.toml` or with `--model`.` prompts/` folder as plain text files, so anyone can read and edit them.\nWhat didn't go smoothly: small models sometimes ask two questions at once even when told not to, and I left that in the README as a known limitation. Prompts are written and tested in English only. There's a `language` setting in the config, but I haven't verified other languages.\n\nStories about family and friends are some of the most private things people have: names, how someone died, what they were like at home. I didn't want any of that going to a cloud API.\n\nAn open-weight model made these things possible:", "url": "https://wpnews.pro/news/ofrenda-a-offline-cli-that-helps-you-remember-someone-without-inventing-a-word", "canonical_source": "https://dev.to/madhav__k/ofrenda-a-offline-cli-that-helps-you-remember-someone-without-inventing-a-word-4bom", "published_at": "2026-10-29 10:35:50+00:00", "updated_at": "2026-10-29 10:46:53.120323+00:00", "lang": "en", "topics": ["ai-tools", "large-language-models", "generative-ai", "ai-ethics"], "entities": ["Ofrenda", "Ollama", "gemma3:4b", "Hacktoberfest", "GitHub"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/ofrenda-a-offline-cli-that-helps-you-remember-someone-without-inventing-a-word", "markdown": "https://wpnews.pro/news/ofrenda-a-offline-cli-that-helps-you-remember-someone-without-inventing-a-word.md", "text": "https://wpnews.pro/news/ofrenda-a-offline-cli-that-helps-you-remember-someone-without-inventing-a-word.txt", "jsonld": "https://wpnews.pro/news/ofrenda-a-offline-cli-that-helps-you-remember-someone-without-inventing-a-word.jsonld"}}