{"slug": "midnight-growls", "title": "Midnight growls!!", "summary": "A developer built Abuela's Recipe Cards, an offline-first single-file web page that presents a family strawberry pumpkin brownie cake recipe as a candlelit Día de los Muertos ofrenda. A locally run open-weight model flags vague instructions such as \"a pinch of cinnamon\" and \"bake until it looks right,\" then suggests measurements with confidence levels and reasons stored beside the original wording rather than replacing it. The page uses no API keys, network calls, frameworks, CDNs or tracking, and opens with the internet off.", "body_md": "This is a submission for the Hacktoberfest Open-Source AI Challenge Week 4: Ghost in the Machine\n\n**What I Built**\n\nAbuela’s Recipe Cards is a candlelit ofrenda for one family recipe: Strawberry Pumpkin Patch Brownie Cake.\n\nIt’s a single, offline-first web page set in a pumpkin patch at night. Pumpkins glow like little lanterns along the bottom, strawberry vines creep up the edges where cobwebs would normally go, and marigold petals drift down the screen. Ingredients are laid out as offerings on the ofrenda, and the steps are a path through the patch. The recipe’s original wording is kept exactly as it was written.\n\nThe part that makes it more than a theme is the ghost guesses. Family recipes are full of instructions like “a pinch of cinnamon,” “a splash of milk,” and “bake until it looks right.” Those measurements lived in someone’s hands, not on the card. On my page, every vague phrase glows faintly. Hover over it and a local open-weight model whispers a suggested measurement, clearly labeled as a guess, so the original is never overwritten.\n\nI read the theme two ways. The spooky side is the pumpkin patch, the ghost ink, and the whispering. The tender side is the point: Día de los Muertos says a person lives on as long as someone remembers them, and a recipe is one of the most practical ways to keep remembering. [One line: who this recipe belongs to and why it matters to you.]\n\n**How I Built It**\n\nModel: [Qwen2.5 7B / Gemma / Llama, your actual choice], running locally through [Ollama / llama.cpp]. No API keys, no network calls.\n\nStep 1, find the vague parts. The recipe text goes to the model, which flags imprecise amounts and timings (“a splash,” “until the top cracks,” “enough strawberries”) and returns them as structured JSON.\n\nStep 2, suggest, never overwrite. For each flagged phrase, the model proposes a concrete measurement, a confidence level, and a short reason. These are stored beside the original wording, never in place of it.\n\nStep 3, render the ofrenda. The JSON is baked into one self-contained HTML file. The candle flicker, drifting marigolds, strawberry vines, and glowing pumpkins are all CSS and a little vanilla JS. There is no framework, no CDN, and no tracking.\n\nOptional extension: the same pipeline can take a photographed handwritten card through a vision-language model such as Qwen-VL and feed it into the same format. [Keep only if you built or tested it.]\n\nThe result is one HTML file that opens with the internet off.\n\nWhy Does Open Innovation Matter?\n\nIt’s private by default. A family recipe comes with a name, a story, and handwriting that can’t be replaced. Running the model locally means none of that is uploaded to a service I don’t control.\n\nIt works with the lights off. The model runs on my own machine, and the finished page is a single file. That suits a project about remembering.\n\nIt can’t be taken away. Hosted services change pricing, retire models, and shut down. Open weights stay on disk, and plain HTML will still open in any browser decades from now. A recipe meant to outlive a person shouldn’t depend on an API that might not outlive the year.\n\nI control the behavior. With a local model I can decide how cautious the ghost is: whether it guesses boldly or says “I don’t know,” and how it labels uncertainty. For a family heirloom, an honest “this is a guess” matters more than a confident wrong answer, and I could tune that myself.", "url": "https://wpnews.pro/news/midnight-growls", "canonical_source": "https://dev.to/shreyash_magar/midnight-growls-1do3", "published_at": "2026-10-31 06:05:57+00:00", "updated_at": "2026-10-31 06:19:49.121467+00:00", "lang": "en", "topics": ["artificial-intelligence", "large-language-models", "generative-ai", "ai-tools"], "entities": ["Qwen2.5 7B", "Qwen-VL", "Ollama", "llama.cpp", "Hacktoberfest"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/midnight-growls", "markdown": "https://wpnews.pro/news/midnight-growls.md", "text": "https://wpnews.pro/news/midnight-growls.txt", "jsonld": "https://wpnews.pro/news/midnight-growls.jsonld"}}