DEV Community

Samarth Kadam
Samarth Kadam

Posted on

"Ofrendalant: A Local AI Día de los Muertos Altar for Your Dead Bookmarks"

Hacktoberfest Open-Source AI Challenge: Ghost in the Machine Submission 👻🌼

This is a submission for the Hacktoberfest Open-Source AI Challenge Week 4: Ghost in the Machine

What I Built

Everyone carries a digital graveyard inside their browser—bookmarks saved 5 to 10 years ago where nearly half the links have rotted into 404 Not Found errors, expired domains, or vanished indie blogs.

For Ghost in the Machine, I built Ofrendalant, a local AI digital archeology tool and Día de los Muertos Digital Ofrenda that honors the websites we once loved and lost.

Instead of letting dead bookmarks rot in a forgotten folder, Ofrendalant:

  • Scans your exported bookmarks.html to detect dead links (404s, DNS failures, dead servers, timeouts, and domains that now redirect somewhere else).
  • Resurrects their memory via the Internet Archive's Wayback Machine API to retrieve the snapshot closest to the day you bookmarked them.
  • Builds a candlelit Digital Ofrenda using a local open-weight LLM running on Ollama (llama3.2:3b / qwen2.5:3b) to write a warm remembrance card for each departed site—summarizing what it offered the web, why you bookmarked it, and when it passed away, with an epitaph and a small offering.
  • Lets you "Commune with the Spirit" (Local RAG): Click any card on the altar to open an offline séance chat where the local model channels the archived text of the dead webpage, letting you query tutorials, essays, or memories from a site that no longer exists on the live internet.

Don't have a bookmarks file handy? The Load Sample Bookmark Graveyard button lights up an altar for Google Reader, GeoCities, why the lucky stiff, Posterous, Yahoo! Pipes and del.icio.us.

Demo

Repository & Quickstart: https://github.com/IamSamk/Ofrendalant

git clone https://github.com/IamSamk/Ofrendalant.git && cd Ofrendalant
pip install -r requirements.txt
ollama pull llama3.2:3b
python -m app        # opens http://127.0.0.1:8000
Enter fullscreen mode Exit fullscreen mode

The Ofrendalant altar

Code

How I Built It

Ofrendalant is architected around 100% local AI inference and open protocols:

  • Inference Engine: Ollama serving open-weight models (llama3.2:3b and qwen2.5:3b, plus mistral and gemma2) locally via /api/generate and /api/chat. If the selected model isn't pulled yet, the app falls back to the next pulled model and tells you which ollama pull to run.
  • Backend: Python + FastAPI asynchronous scanner that parses Netscape bookmark files (keeping folder names and save dates), checks HTTP/DNS liveness, queries the Wayback Availability API using your bookmark's save date as the timestamp, strips boilerplate HTML via BeautifulSoup4, and caches the cleaned text locally.
  • Local RAG Séance Engine: The archived text is chunked and ranked with a tiny BM25 retriever (no embedding model or vector database needed). The top passages are injected into the open-weight model's system prompt with strict instructions to answer only from those memories—and to admit when the archive didn't keep something—so you can interview your dead bookmarks without the model making things up. Replies stream token by token, and the UI shows which archived passages were channeled.
  • Eulogy Generator: /api/generate with Ollama's JSON mode returns a structured remembrance card (what_it_was, why_you_saved_it, epitaph, offering).
  • Frontend: A zero-build single-page UI styled with Tailwind CSS (pre-compiled, so no CDN is needed), custom marigold (cempasúchil) gradients, SVG papel picado banners, flickering CSS candle animations, and a live 100% LOCAL INFERENCE / AIRPLANE-MODE READY telemetry badge that shows the active Ollama model and zero external AI API calls.

Why Does Open Innovation Matter?

Your browser bookmarks are a decade-long diary of your curiosity, career, and personal life. Nobody wants to upload 10 years of private browsing history and personal URLs to a closed, third-party cloud LLM API just to organize or reflect on them.

Building Ofrendalant on open-weight models and local inference made three critical things possible that a closed cloud API never could:

  1. Absolute Digital Privacy: Every bookmark URL, folder name, and personal query stays strictly on localhost. Zero telemetry or browsing history ever touches a corporate AI server.
  2. Zero-Cost Bulk Archeology: Scanning hundreds of dead bookmarks, summarizing archived snapshots, and holding interactive RAG séances costs $0.00 in API tokens.
  3. Immunity to Link Rot & API Deprecation: A project about digital preservation shouldn't depend on a proprietary cloud API that might sunset its model weights next year. Once the Wayback snapshots are cached locally and paired with an open GGUF model via Ollama, your Digital Ofrenda works completely offline—even with the Wi-Fi turned off.

The Spirit of It

We often think of the internet as permanent, yet the personal web disappears silently every day. Watching Ofrendalant pull an old, forgotten technical blog out of a 404 abyss, light a virtual candle beside it, and let me ask it one last question felt genuinely moving—like visiting an old friend who helped me learn to code years ago.

Top comments (0)