<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Lohitaksh Sindhe</title>
    <description>The latest articles on DEV Community by Lohitaksh Sindhe (@premsai5142).</description>
    <link>https://dev.to/premsai5142</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4190492%2F40af1b1c-5447-4107-b508-19859807d544.png</url>
      <title>DEV Community: Lohitaksh Sindhe</title>
      <link>https://dev.to/premsai5142</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/premsai5142"/>
    <language>en</language>
    <item>
      <title>OfrendaViva 🕯️🌼: A Local-First Día de los Muertos Altar &amp; Ghost in the Machine Séance with Open-Weight Gemma</title>
      <dc:creator>Lohitaksh Sindhe</dc:creator>
      <pubDate>Wed, 28 Oct 2026 11:41:05 +0000</pubDate>
      <link>https://dev.to/premsai5142/ofrendaviva-a-local-first-dia-de-los-muertos-altar-ghost-in-the-machine-seance-with-1fgj</link>
      <guid>https://dev.to/premsai5142/ofrendaviva-a-local-first-dia-de-los-muertos-altar-ghost-in-the-machine-seance-with-1fgj</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/hacktoberfest-week4-2026-10-26"&gt;Hacktoberfest Open-Source AI Challenge Week 4: Ghost in the Machine&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;OfrendaViva&lt;/strong&gt; is a sacred, offline-first digital memorial altar (&lt;em&gt;El Altar de Recuerdos&lt;/em&gt;) and midnight séance chamber powered by open-weight AI (&lt;strong&gt;Google Gemma 2&lt;/strong&gt; and &lt;strong&gt;Llama 3&lt;/strong&gt; via Ollama).&lt;/p&gt;

&lt;p&gt;October 31 brings Halloween, and November 1–2 brings Día de los Muertos—a sacred stretch of the calendar when the veil between past and present feels whisper-thin. In pop culture and sci-fi, the phrase &lt;em&gt;"Ghost in the Machine"&lt;/em&gt; usually conjures images of rogue code, memory leaks, or glitching automatons. But what if the ghosts in our machines are something much more human? &lt;/p&gt;

&lt;p&gt;What if they are:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;The historical computing ancestors&lt;/strong&gt; whose insights built our digital world—pioneers like &lt;strong&gt;Ada Lovelace&lt;/strong&gt;, &lt;strong&gt;Alan Turing&lt;/strong&gt;, &lt;strong&gt;Grace Hopper&lt;/strong&gt;, and &lt;strong&gt;Margaret Hamilton&lt;/strong&gt;; and&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Our beloved departed family and friends&lt;/strong&gt;, whose recipes, stories, and photographs we preserve?&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;OfrendaViva&lt;/strong&gt; brings this vision to life as a self-contained, privacy-first web sanctuary and CLI companion.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;       .---.
      /     \      🕯️  OFRENDAVIVA : GHOST IN THE MACHINE  🕯️
     | () () |     Terminal Séance &amp;amp; Local Open-Weight Spirit Shell
      \  -  /      Hacktoberfest 2026 - Week 4 Final Challenge
       `---`
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h3&gt;
  
  
  ✨ Core Capabilities
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;🕯️ Interactive 3-Tier Altar (&lt;em&gt;El Altar de Recuerdos&lt;/em&gt;)&lt;/strong&gt;: Built in accordance with Mexican folk traditions:

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Nivel I: El Cielo (Heaven)&lt;/strong&gt;: Glowing portraits and candles dedicated to computing pioneers and personal ancestors. Every candle has realistic flame flicker physics and can be lit or extinguished with a click.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Nivel II: La Tierra (Earth)&lt;/strong&gt;: Sacred offerings: vibrant &lt;em&gt;Cempasúchil&lt;/em&gt; (marigolds) to guide the souls with scent and color, sweet &lt;em&gt;Pan de Muerto&lt;/em&gt; crowned with crossed dough bones, &lt;em&gt;Copal&lt;/em&gt; incense to purify the room, and clear water and salt to quench spiritual thirst.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Nivel III: El Inframundo (Memory Vault)&lt;/strong&gt;: Decorated sugar skulls (&lt;em&gt;calaveritas de azúcar&lt;/em&gt;) and personal mementos.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;💀 Open-Weight &lt;em&gt;Calaverita Literaria&lt;/em&gt; &amp;amp; Epitaph Generator&lt;/strong&gt;: Synthesizes authentic 4-stanza rhyming Mexican skull poetry and eternal memorial epitaphs celebrating life, quirks, and memory.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;👻 Midnight Ghost in the Machine Séance&lt;/strong&gt;: With a single toggle, the warm altar shifts into a spectral, candlelit séance chamber where you can commune with computing ghosts (e.g. asking Ada Lovelace about the poetry of algorithms or Alan Turing about the imitation game).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;🎶 Procedural Ambient Web Audio Synthesizer&lt;/strong&gt;: Generates atmospheric cemetery breezes and harmonic singing chime chords directly through the browser Web Audio API—using pure procedural math, with &lt;strong&gt;zero audio files downloaded or tracked&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;💾 1-Click Eternal Vault Export&lt;/strong&gt;: Generates a zero-dependency, self-contained &lt;code&gt;.html&lt;/code&gt; archive of your altar that can be stored on a USB drive or local home server and opened decades from now without an internet connection or cloud service.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;💻 GhostShell CLI Companion&lt;/strong&gt;: Run &lt;code&gt;npm run ghost&lt;/code&gt; to perform an ASCII terminal séance, scan your repository for "ghost commits", and compose poetry straight from the command line.&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;p&gt;Here is how the interactive digital altar and séance chamber look in action:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fsikvmcitvax1t0fombem.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fsikvmcitvax1t0fombem.png" alt="OfrendaViva UI"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Quick Run Locally (Zero &lt;code&gt;npm install&lt;/code&gt; needed!)
&lt;/h3&gt;

&lt;p&gt;Because OfrendaViva uses pure Node.js standard libraries, you can clone and launch it in 10 seconds:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/sindhelohitaksh/OfrendaViva.git
&lt;span class="nb"&gt;cd &lt;/span&gt;OfrendaViva
node server.js
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Visit &lt;code&gt;http://localhost:3000&lt;/code&gt; in your browser. &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Click any candle flame to light or extinguish it.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;"Ambient Sound"&lt;/strong&gt; to activate the procedural wind and chime synthesizer.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;"Switch to Midnight Séance"&lt;/strong&gt; to transform the warm marigold ambiance into a spectral twilight chamber.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;"Export Eternal Vault"&lt;/strong&gt; to download a portable, forever-offline archive of your altar.&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;
  
  
  Code
&lt;/h2&gt;

&lt;p&gt;The complete source code is open-source under the permissive &lt;strong&gt;MIT License&lt;/strong&gt;:&lt;/p&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/sindhelohitaksh" rel="noopener noreferrer"&gt;
        sindhelohitaksh
      &lt;/a&gt; / &lt;a href="https://github.com/sindhelohitaksh/OfrendaViva" rel="noopener noreferrer"&gt;
        OfrendaViva
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;🕯️ OfrendaViva 🌼&lt;/h1&gt;
&lt;/div&gt;

&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;&lt;em&gt;A Sacred, Local-First Día de los Muertos Altar &amp;amp; Ghost in the Machine Séance powered by Open-Weight AI&lt;/em&gt;&lt;/h3&gt;
&lt;/div&gt;

&lt;p&gt;&lt;a href="https://dev.to/challenges/hacktoberfest-week4-2026-10-26" rel="nofollow"&gt;&lt;img src="https://camo.githubusercontent.com/95ca6edd483dee09ea24c00555f9a0323d1b202153bfd8bc98ccf27c8907fc47/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4861636b746f62657266657374253230323032362d5765656b253230342532304368616c6c656e67652d4646353732322e737667" alt="Hacktoberfest 2026"&gt;&lt;/a&gt;
&lt;a href="https://dev.to/challenges/hacktoberfest-week4-2026-10-26" rel="nofollow"&gt;&lt;img src="https://camo.githubusercontent.com/a87e5e983543546803c5d53cddb4691e4b5aaec430b663a14896c4088319eefd/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5468656d652d47686f7374253230696e2532307468652532304d616368696e652d3762316661322e737667" alt="Theme"&gt;&lt;/a&gt;
&lt;a href="https://github.com/sindhelohitaksh/OfrendaViva/LICENSE" rel="noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/fdf2982b9f5d7489dcf44570e714e3a15fce6253e0cc6b5aa61a075aac2ff71b/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d4d49542d79656c6c6f772e737667" alt="License: MIT"&gt;&lt;/a&gt;
&lt;a href="https://github.com/sindhelohitaksh/OfrendaViva#quickstart" rel="noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/dd1b388875c22b794eb3fbe302a2b8571145ded7f562518de340f5bf93c2f497/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f446570656e64656e636965732d5a65726f25323028507572652532304e6f64652e6a73292d737563636573732e737667" alt="Zero Dependency"&gt;&lt;/a&gt;
&lt;a href="https://github.com/sindhelohitaksh/OfrendaViva#open-weights--gemma-integration" rel="noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/24a1aeaf043536619a8296443c297fcdd401a8b2cca13102a123f5919112c11a/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4d6f64656c2d47656d6d61253230322532302532462532304c6c616d61253230332d626c75652e737667" alt="Open-Weight Model"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;💀 Overview&lt;/h2&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;OfrendaViva&lt;/strong&gt; is an offline-first, private digital memorial altar and interactive séance chamber built for the &lt;strong&gt;Hacktoberfest Open-Source AI Challenge Week 4: Ghost in the Machine&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;As the veil between worlds thins during Halloween (October 31) and Día de los Muertos (November 1–2), OfrendaViva bridges cultural reverence with open-source artificial intelligence. It honors computing ancestors (such as &lt;strong&gt;Ada Lovelace&lt;/strong&gt;, &lt;strong&gt;Alan Turing&lt;/strong&gt;, &lt;strong&gt;Grace Hopper&lt;/strong&gt;, and &lt;strong&gt;Margaret Hamilton&lt;/strong&gt;) and personal loved ones through interactive altar offerings, synthesized &lt;em&gt;Calaveritas Literarias&lt;/em&gt; (traditional Mexican rhyming skull poetry), and atmospheric terminal séances.&lt;/p&gt;
&lt;p&gt;Most importantly, OfrendaViva runs &lt;strong&gt;100% locally on your machine with open-weight models (Gemma 2 / Llama 3 via Ollama)&lt;/strong&gt; or its built-in offline literary engine—ensuring that the sacred memories, photos, and grief of your family are never…&lt;/p&gt;&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/sindhelohitaksh/OfrendaViva" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;GitHub Repository&lt;/strong&gt;: &lt;a href="https://github.com/sindhelohitaksh/OfrendaViva" rel="noopener noreferrer"&gt;https://github.com/sindhelohitaksh/OfrendaViva&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Repository Architecture
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;File / Folder&lt;/th&gt;
&lt;th&gt;Role&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;server.js&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Native HTTP server &amp;amp; local AI gateway (no external npm dependencies required)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;lib/engine.js&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Dual-engine AI coordinator: detects local Ollama (Gemma 2 / Llama 3) with seamless offline poetic synthesis fallback&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;public/index.html&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Semantic markup with animated Papel Picado banners, 3-tier altar layout, and séance modal&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;public/style.css&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Gothic Día de los Muertos &amp;amp; Midnight Séance themes, candle flame keyframes, and responsive grid&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;public/app.js&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Particle canvas (falling marigold petals / floating wisps), procedural Web Audio synth, and local storage&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;bin/ghost-shell.js&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Interactive command-line terminal séance and git commit ghost scanner&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;render.yaml&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Blueprint for 1-click zero-cost deployment on Render&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;test/test-engine.js&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Automated test suite verifying rhyme cadence, epitaph generation, and spirit prompts&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  How I Built It
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. The Local-First Open-Weight Inference Engine
&lt;/h3&gt;

&lt;p&gt;At the heart of OfrendaViva is &lt;code&gt;lib/engine.js&lt;/code&gt;. It communicates with local open-weight models via Ollama (&lt;code&gt;http://localhost:11434/api/generate&lt;/code&gt;):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// Querying local open-weight Gemma 2 via Ollama&lt;/span&gt;
&lt;span class="k"&gt;async&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;queryOllama&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;prompt&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;model&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;gemma2:2b&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;systemPrompt&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;''&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;payload&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;JSON&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;stringify&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
    &lt;span class="nx"&gt;model&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="nx"&gt;prompt&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;system&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;systemPrompt&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;stream&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;options&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;temperature&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mf"&gt;0.75&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;top_p&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mf"&gt;0.9&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;
  &lt;span class="p"&gt;});&lt;/span&gt;
  &lt;span class="c1"&gt;// Dispatches to local daemon with 15s timeout&lt;/span&gt;
  &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nf"&gt;dispatchLocalHttp&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;payload&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;When writing &lt;em&gt;Calaveritas Literarias&lt;/em&gt;, traditional Mexican folklore pairs death (&lt;em&gt;La Catrina&lt;/em&gt; or &lt;em&gt;La Calaca&lt;/em&gt;) with affectionate humor, celebrating how the person lived. We prompt Gemma 2 to write in traditional 4-stanza rhyming meter (&lt;em&gt;cuarteta&lt;/em&gt; / &lt;em&gt;redondilla&lt;/em&gt; style), honoring the soul's favorite meals and memories.&lt;/p&gt;
&lt;h3&gt;
  
  
  2. High-Fidelity Deterministic Fallback (100% Offline Resilience)
&lt;/h3&gt;

&lt;p&gt;What if you're on a laptop without a dedicated GPU, or on an airplane without Ollama installed? OfrendaViva includes a built-in deterministic poetic synthesis engine that generates authentic, rhyming verses and philosophical epitaphs using local template heuristics:&lt;br&gt;
&lt;/p&gt;
&lt;pre data-lang="mermaid"&gt;&lt;code&gt;flowchart TD
    UserReq["User Altar Request\n(Name, Role, Memories, Offerings)"] --&amp;gt; CheckOllama{"Is Ollama Running\nLocally?"}
    CheckOllama -- "Yes (Gemma 2 / Llama 3)" --&amp;gt; LocalInference["Local Open-Weight Inference\n(100% On-Device GPU/CPU)"]
    CheckOllama -- "No / Offline" --&amp;gt; FallbackEngine["Built-in Heuristic Poetic Engine\n(Zero External API, Instant)"]
    LocalInference --&amp;gt; RenderVerse["Render Calaverita / Epitaph\nin Parchment Card"]
    FallbackEngine --&amp;gt; RenderVerse
    RenderVerse --&amp;gt; PlaceAltar["Place Tribute on Altar Tier"]
    RenderVerse --&amp;gt; ExportVault["1-Click Eternal Vault Export"]&lt;/code&gt;&lt;/pre&gt;


&lt;h3&gt;
  
  
  3. Procedural Web Audio Ambient Synthesizer
&lt;/h3&gt;

&lt;p&gt;Rather than burdening the project with bulky MP3 audio files or external CDNs, OfrendaViva features a native procedural audio synthesizer built on the browser's &lt;code&gt;AudioContext&lt;/code&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Cemetery Breeze&lt;/strong&gt;: Synthesized using a continuous Pink Noise buffer passed through a resonant Low-Pass Biquad Filter modulated by a low-frequency oscillator (LFO).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Harmonic Singing Chimes&lt;/strong&gt;: Formed by four sine oscillators tuned to an ethereal A-Major 7th chord (110 Hz, 164.81 Hz, 220 Hz, 329.63 Hz) with gentle randomized vibrato.&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;
  
  
  Why Does Open Innovation Matter?
&lt;/h2&gt;

&lt;p&gt;In modern tech culture, AI is often treated as a corporate cloud utility. But an ofrenda is not a corporate spreadsheet—it is an intimate space for grief, love, and spiritual remembrance.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Open innovation is the only ethical foundation for a project like this:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Sacred Privacy&lt;/strong&gt;: When you memorialize a departed grandparent or friend, you upload real photos, intimate family recipes, and raw emotional confessions. You should &lt;strong&gt;never&lt;/strong&gt; have to send that data to a corporate cloud API where it can be logged, monetized, or fed into closed model training datasets. With open-weight models like &lt;strong&gt;Gemma 2&lt;/strong&gt;, your memories never leave your machine.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Eternal Preservation &amp;amp; Anti-Vendor Lock-in&lt;/strong&gt;: Cloud startups run out of venture capital, sunset APIs, or put features behind subscription paywalls. If a memorial platform depends on a cloud API, your altar dies when the company does. Open-weight models run on consumer hardware with the power cut and the internet disconnected—forever.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Authentic Cultural Dignity&lt;/strong&gt;: Closed models enforce sanitized, corporate disclaimers when discussing death and mortality. Open models respect human culture, enabling authentic Mexican folk poetry, humorous &lt;em&gt;calaveritas&lt;/em&gt;, and genuine contemplation of mortality.&lt;/li&gt;
&lt;/ol&gt;


&lt;h2&gt;
  
  
  My Agent Session
&lt;/h2&gt;

&lt;p&gt;This project was built collaboratively with an autonomous AI coding assistant. You can view the preserved interactive agent session on DEV:&lt;/p&gt;


&lt;div class="ltag-agent-session"&gt;
  &lt;div class="agent-session-header"&gt;
    
    &lt;span class="agent-session-tool-icon-badge" title="Gemini CLI"&gt;
&lt;/span&gt;
    &lt;span class="agent-session-title"&gt;Building OfrendaViva: Offline Día de los Muertos Altar &amp;amp; Ghost in the Machine Séance with Gemma 2&lt;/span&gt;
  &lt;/div&gt;

  &lt;div class="agent-session-scroll"&gt;

      &lt;div class="agent-session-message agent-session-user"&gt;
        &lt;div class="agent-session-role-badge agent-session-role-user"&gt;
          You
        &lt;/div&gt;
        &lt;div class="agent-session-content"&gt;
                &lt;div class="agent-session-text"&gt;
                  &lt;p&gt;Build a project for Hacktoberfest Week 4: Ghost in the Machine, using open-weight AI (Gemma 2), honoring Día de los Muertos and computing pioneers, and publish it on my DEV account.&lt;/p&gt;

                &lt;/div&gt;
        &lt;/div&gt;
      &lt;/div&gt;

      &lt;div class="agent-session-message agent-session-assistant"&gt;
        &lt;div class="agent-session-role-badge agent-session-role-assistant"&gt;
          Agent
        &lt;/div&gt;
        &lt;div class="agent-session-content"&gt;
                &lt;div class="agent-session-text"&gt;
                  &lt;p&gt;Designing OfrendaViva: a local-first digital memorial altar and midnight séance chamber. Integrating Gemma 2 local inference via Ollama with fallback offline heuristic synthesis, procedural Web Audio synthesizer for cemetery breeze and chimes, and 1-click eternal vault export.&lt;/p&gt;

                &lt;/div&gt;
              &lt;div class="agent-session-tool-call"&gt;
                
                  &lt;span class="agent-session-chevron"&gt;▸&lt;/span&gt;
                  &lt;span class="tool-name tool-name-buildaltarengine"&gt;build_altar_engine&lt;/span&gt;
                    &lt;span class="tool-input-preview"&gt;lib/engine.js, server.js, public/&lt;/span&gt;
                
                &lt;div class="agent-session-tool-detail"&gt;
                    &lt;div class="tool-section"&gt;
                      &lt;div class="tool-section-label"&gt;Input&lt;/div&gt;
                      &lt;pre class="agent-session-pre"&gt;&lt;code&gt;lib/engine.js, server.js, public/&lt;/code&gt;&lt;/pre&gt;
                    &lt;/div&gt;
                    &lt;div class="tool-section"&gt;
                      &lt;div class="tool-section-label"&gt;Output&lt;/div&gt;
                      &lt;pre class="agent-session-pre"&gt;&lt;code&gt;Built zero-dependency Node.js altar with Ollama bridge and offline fallback&lt;/code&gt;&lt;/pre&gt;
                    &lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
              &lt;div class="agent-session-tool-call"&gt;
                
                  &lt;span class="agent-session-chevron"&gt;▸&lt;/span&gt;
                  &lt;span class="tool-name tool-name-runtestsuite"&gt;run_test_suite&lt;/span&gt;
                    &lt;span class="tool-input-preview"&gt;node test/test-engine.js&lt;/span&gt;
                
                &lt;div class="agent-session-tool-detail"&gt;
                    &lt;div class="tool-section"&gt;
                      &lt;div class="tool-section-label"&gt;Input&lt;/div&gt;
                      &lt;pre class="agent-session-pre"&gt;&lt;code&gt;node test/test-engine.js&lt;/code&gt;&lt;/pre&gt;
                    &lt;/div&gt;
                    &lt;div class="tool-section"&gt;
                      &lt;div class="tool-section-label"&gt;Output&lt;/div&gt;
                      &lt;pre class="agent-session-pre"&gt;&lt;code&gt;All 4 test suites passed: Calaverita rhyme meter, Altar epitaphs, Historical spirits, Ollama fallback.&lt;/code&gt;&lt;/pre&gt;
                    &lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
        &lt;/div&gt;
      &lt;/div&gt;
  &lt;/div&gt;

  &lt;div class="agent-session-footer"&gt;
    &lt;span class="agent-session-meta"&gt;
        2 of 2 messages
    &lt;/span&gt;
  &lt;/div&gt;
&lt;/div&gt;



&lt;p&gt;Direct session link: &lt;a href="https://dev.to/agent_sessions/building-ofrendaviva-offline-dia-de-los-muertos-altar-ghost-in-the-machine-seance-with-gemma-2-clesf7"&gt;View Agent Session #1263 on DEV&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  The Spirit of It
&lt;/h2&gt;

&lt;p&gt;During testing, I placed an offering for &lt;strong&gt;Ada Lovelace&lt;/strong&gt; and asked the séance chamber what she thought of modern artificial intelligence. The local open-weight engine synthesized this response:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;"The Analytical Engine does not pretend to originate anything. It can follow analysis, but it has no power of anticipating any analytical relations or truths. Yet when you weave remembrance into algorithms, you prove that the machine is not merely cold brass and silicon—it carries the warmth of every hand that shaped it."&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Lighting that digital candle while marigold petals drifted down the screen gave me real chills. It was a reminder that we stand on the shoulders of giants, and that remembering where we came from is what keeps our craft human.&lt;/p&gt;




&lt;h2&gt;
  
  
  Prize Categories
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Best Use of Gemma&lt;/strong&gt;: Full native integration with Google's open-weight &lt;strong&gt;Gemma 2&lt;/strong&gt; family (&lt;code&gt;gemma2:2b&lt;/code&gt; / &lt;code&gt;gemma2:9b&lt;/code&gt;) via Ollama, powering the local, private generation of traditional &lt;em&gt;Calaveritas Literarias&lt;/em&gt;, altar epitaphs, and historical séances.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Best Use of Render&lt;/strong&gt;: Includes a turnkey &lt;a href="https://github.com/sindhelohitaksh/OfrendaViva/blob/main/render.yaml" rel="noopener noreferrer"&gt;&lt;code&gt;render.yaml&lt;/code&gt;&lt;/a&gt; blueprint enabling instant 1-click deployment on Render with zero external dependencies.&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;em&gt;Dedicated in honor of Día de los Muertos, Halloween, and all the pioneers who left their spark in the machine.&lt;/em&gt; 🕯️🌼💀&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
      <category>gemma</category>
      <category>opensource</category>
    </item>
  </channel>
</rss>
