This is a submission for the Hacktoberfest Open-Source AI Challenge Week 4: Ghost in the Machine
What I Built
I ran a list of 26 old links through a script, and it flagged 15 of them as dead. Then a small AI model on my own laptop wrote a tombstone for each one.
Hacktober-Fest-In-Peace is a Dead Link Cemetery. You give it your bookmarks (or any list of URLs), and it does four things:
- Checks which links are dead.
- Looks each one up in the Wayback Machine to find when it was first and last saved.
- Reads what the old page said, and a local Gemma model writes a two-line epitaph from only those facts.
- Builds a dark, spooky
tombstones.htmlwhere every dead link has a gravestone: name, years, cause of death, and a "visit the ghost" link to the archived copy.
For the theme, I treated websites as things that live and die. Halloween has the graveyard, and DÃa de los Muertos has the remembering. A bookmark is a small promise that you'll come back to a page someday, and for most pages, nobody ever does. My tool goes back and says goodbye.
The idea came from a simple fact: every old bookmarks folder is a graveyard nobody has visited.
I ran it on a demo list of 26 old links (famous dead services plus 6 fake addresses I planted on purpose). It flagged 15 as dead and counted 11 as alive. All 6 planted fakes were caught.
Code
Hacktober-Fest-In-Peace
Finds your dead bookmarks, digs up their old copies from the Wayback Machine, and lets a local Gemma model write an epitaph for each one.
How it works
- Reads a bookmarks export or a list of URLs.
- Checks which links are dead.
- Looks up each dead link in the Wayback Machine.
- A local model (Gemma via Ollama) writes a two-line epitaph.
- Builds
tombstones.html, a gallery of tombstones.
Run it
- Install Python and Ollama, then run: ollama pull gemma3:4b
- pip install requests
- python cemetery.py demo_urls.txt --model gemma3:4b
- Open tombstones.html
Privacy, honestly
The AI runs on your own machine. Link checking still contacts each site, and Wayback lookups send those URLs to archive.org.
Built for Hacktoberfest Week 5: Ghost in the Machine.
One Python file, cemetery.py, plus a README and the demo list. The only dependency is requests.
How I Built It
Open pieces: Gemma (an open-weight model) running locally through Ollama, and the Wayback Machine's public archive. No paid API and no AI account.
The flow:
- Bookmark export in, link check on every URL, dead ones go to the Wayback Machine for their first and last saved dates and the old page text.
- Gemma gets only those facts and a strict prompt: use only what's below, never invent a name or a year, write two short lines. The cause of death comes from the program, not the model, so the model can't make up how a site died.
- Results are saved in a small cache file, so if a run crashes halfway, rerunning picks up where it stopped.
- The gallery is plain HTML and CSS with no framework, so it opens anywhere.
What went wrong:
- The dead-or-alive check is not perfect. Deciding that a website is dead is harder than it sounds. Some live sites answer slowly or refuse scripts, and some dead brands redirect somewhere else and look alive. The script treats a clear "this page is gone" or "this domain doesn't exist" as the strongest evidence of death.
Why Does Open Innovation Matter?
- The AI reads my browsing past on my own machine. A bookmarks file shows what you worried about at 2 AM. The text of old pages and the epitaph writing never go to an AI company. To be honest about the limits: checking links still contacts each website, and the Wayback lookups send those URLs to archive.org. The local part is the AI, not the whole pipeline.
- It costs nothing to run, however many links I have. A paid API would make me think twice about running 1,000 dead links.
- I can swap the model or change the voice (funny, tender, dramatic) by editing one line, without asking a company.
- It works without an AI account, and it can't disappear because a service shut down. That fits a project about things that disappeared when companies shut down.
Prize Categories
Best Use of Gemma: Gemma runs locally through Ollama and writes every epitaph, grounded only in facts the program supplies.


Top comments (0)