{"slug": "ofrenda-de-codigo-a-3d-cemetery-where-open-source-libraries-still-speak", "title": "Ofrenda de Código: A 3D Cemetery Where Open-Source Libraries Still Speak", "summary": "A developer built Ofrenda de Código, an open-source interactive 3D WebGL cemetery memorializing deprecated libraries such as request, moment.js, CoffeeScript, bower, enzyme and urllib2. The React, TypeScript and Three.js app runs on an Express backend and uses Google's open-weight Gemma 2 model via Ollama (default gemma2:9b) to power era-specific séance chats with each library's 'spirit,' code resurrection and epitaph generation, with a scripted fallback when Ollama is unavailable. It also fetches public GitHub metadata to summon new memorials and can narrate eulogies through ElevenLabs, with a local audio fallback.", "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\nOpen-source software leaves unusual ghosts. Their names remain in old lockfiles, familiar APIs, and the habits developers learned while using them. I wanted to make a place to remember that history.\n\n**Ofrenda de Código** is an interactive 3D cemetery for departed open-source libraries. Walk among the graves of projects like `request`, `moment.js`, `CoffeeScript`, `bower`, `enzyme`, and `urllib2`, inspect their stories, and talk with their digital spirits.\n\nThe cemetery is a playable WebGL world: move with WASD or the arrow keys, approach a headstone, and press **E** to interact. You can zoom and inspect tombstones, light candles, scatter marigold petals, leave offerings, and meet Grimmy, a small imp companion with developer lore. An astral minimap helps you find your way.\n\nThe experience also has a séance chat and a resurrection chamber. Ask a repository's spirit about the tools and constraints of its era, or compare a legacy code snippet with a modernized version. You can summon another repository by entering its GitHub URL; the app fetches its public metadata and uses it to create a new memorial. Spoken eulogies and nearby ghost whispers add a voice to the cemetery.\n\nExplore the [live sanctuary on Render](https://ofrenda-de-codigo.onrender.com), also available at the project's [custom .tech domain](https://ofrenda-de-codigo.tech).\n\nUse **WASD / arrow keys** to move, **E** to interact, **Z** to inspect a nearby tombstone, **1** to scatter petals, **2** to light a candle, and **T** to talk to Grimmy. Use the mouse wheel or **+ / -** to zoom.\n\nThe project is open source: [DaKaufeeBoii/ofrenda-de-codigo on GitHub](https://github.com/DaKaufeeBoii/ofrenda-de-codigo).\n\n*\"In the spirit of Día de los Muertos, open-source software never truly dies as long as its lessons and memory are kept alive on the altar.\"*\n\nBuilt for **Hacktoberfest 2026: Week 4 — Ghost in the Machine (Halloween & Día de los Muertos)**.\n\nEvery year, thousands of open-source projects reach the end of their lifecycle: maintainers burn out, frameworks shift, and once-essential libraries are archived into silent GitHub graveyards. Pioneer libraries like `request`, `moment.js`, `urllib2`, `bower`, and `coffeescript` carried the weight of the early web on their shoulders, yet their deprecation notices often read like quiet farewells.\n\n**Ofrenda de Código** is an interactive, open-source AI-powered sanctuary where developers can honor, commune with, and resurrect deprecated open-source software:\n\nThe world is built with React, TypeScript, Three.js/WebGL, and an Express backend. Three.js renders the cemetery, headstones, candles, offerings, particles, and companion; the Web Audio API supplies ambient sound and procedural effects.\n\nThe AI experience centers on **Gemma 2**, Google's open-weight model. In local development, the server talks to Gemma 2 through Ollama (the default model setting is `gemma2:9b`). Each featured library has an era-specific memory map, so the ghost of `request` can speak about early Node.js and callback-based HTTP while `moment.js` remembers JavaScript date and timezone pitfalls. Gemma also powers code resurrection and epitaph generation when a local model is available.\n\nIf Ollama is not running, the app has a built-in era-aware fallback for the ghost conversation and preset examples for code resurrection. That keeps the experience usable, but the fallback is scripted rather than another AI model.\n\nElevenLabs can narrate eulogies and whispers when its API credentials are configured; the app also has a local audio fallback. The live repository summoning feature calls GitHub's API. Those network-backed features need internet access, and ElevenLabs narration needs credentials. The Gemma conversation can run locally with Ollama, so it does not require a hosted model API.\n\nA memorial for software history should remain usable even if a hosted AI service changes its terms, raises its prices, or disappears. Using an open-weight model means developers can run Gemma 2 locally, inspect the prompts and era notes in the repository, and adapt the experience or swap in a different model.\n\nThat choice gives the project a local path for its central séance experience without pretending every feature is offline. GitHub summoning needs GitHub, ElevenLabs narration needs its service, and the deployed demo needs a network connection. The distinction matters: the AI conversation can stay on a developer's machine, while optional connected features enrich the experience when available.\n\nOpen repositories also preserve the material that makes this kind of remembrance possible: source code, commit history, release notes, and the choices maintainers documented along the way. The model can help interpret that record, but the public record is what lets future developers revisit it.\n\nThe [DevRelay session behind the project](https://dev.to/agent_sessions/building-ofrenda-de-codigo-25d-webgl-gothic-cemetery-rpg-altar-for-departed-code-dpof0g) shows the feature plan, implementation stages, and Render deployment troubleshooting.\n\nDuring development, I asked Gemma's spirit of `request`: *“Did you ever feel forgotten after you were archived?”*\n\nIts answer stayed with me:\n\n“A library is never forgotten as long as the code it held together remains standing. When you write clean, fearless code today, you carry our spirit with you.”\n\nThat exchange made the project feel less like a feature checklist and more like an ofrenda: a place to remember the tools and maintainers whose work helped make today's software possible.\n\nIf an open-source project ever got you through a difficult release or a late night, visit the cemetery and leave it a candle.\n\nSoftware never truly dies as long as it is remembered.", "url": "https://wpnews.pro/news/ofrenda-de-codigo-a-3d-cemetery-where-open-source-libraries-still-speak", "canonical_source": "https://dev.to/dakaufeeboii/ofrenda-de-codigo-a-3d-cemetery-where-open-source-libraries-still-speak-44oi", "published_at": "2026-10-30 19:12:44+00:00", "updated_at": "2026-10-30 19:20:52.894315+00:00", "lang": "en", "topics": ["artificial-intelligence", "large-language-models", "generative-ai", "ai-tools", "developer-tools"], "entities": ["Ofrenda de Código", "Gemma 2", "Ollama", "Google", "ElevenLabs", "GitHub", "Three.js", "React"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/ofrenda-de-codigo-a-3d-cemetery-where-open-source-libraries-still-speak", "markdown": "https://wpnews.pro/news/ofrenda-de-codigo-a-3d-cemetery-where-open-source-libraries-still-speak.md", "text": "https://wpnews.pro/news/ofrenda-de-codigo-a-3d-cemetery-where-open-source-libraries-still-speak.txt", "jsonld": "https://wpnews.pro/news/ofrenda-de-codigo-a-3d-cemetery-where-open-source-libraries-still-speak.jsonld"}}