I Summoned the Ghost of Atom and It Blamed "Disable tests."
This is a submission for the Hacktoberfest Open-Source AI Challenge: Week 4 (Ghost in the Machine)
What I Built
SΓ©ance with a Dead Repo: paste any abandoned GitHub repo and it speaks to you from beyond the grave. It reads the repo's real commits and unfinished issues, then an open-weight model plays the ghost, with unfinished business and all.
I summoned Atom, the editor GitHub sunset. Its ghost told me it died from "the slow bleed of 'Disable tests.' and 'Remove dependancies.'" and that its last sigh was "Thank you, Atom!" Every detail came from the repo's real history.
Demo
- π Live: https://jahnavist04.github.io/dead-repo-seance/
- π» Code: https://github.com/jahnavist04/dead-repo-seance
To try it: grab a free API key at console.groq.com/keys (1 minute, no card), paste it into the page, and hit Summon. Try atom/atom or bower/bower, then ask the ghost "why did you die?" The key stays in your own browser and is only sent to Groq.
How It Works
- GitHub's public API supplies the repo's last rites: birth date, last commits, open issues.
- Those get packed into a prompt, and an open-weight model (Qwen, served on Groq's free tier) speaks as the repo, streaming word by word.
- The whole site is one static HTML file on GitHub Pages. No backend, no database.
- It uses the OpenAI-compatible API format, so there's also an Ollama (local) option in the dropdown for running a model on your own machine.
The Haunting Was the Machine
My first plan was to run Gemma entirely in the browser. My laptop's integrated GPU said no. WebAssembly said no. A tiny model ran and gave me a lecture about "personal data" instead of being a ghost.
After four dead ends, I moved the model out of the page and kept everything else. The lesson: when the model is a swappable open-weight piece behind a standard API, one failed model doesn't kill the project.
Why Open Innovation Matters Here
- Swappable: the dropdown lists whatever open models the endpoint offers. I changed models without touching my code.
- Portable: the same page works against a hosted open model or a local Ollama with one dropdown change.
- No lock-in: no proprietary SDK and no single vendor. If a provider disappears, the ghost just moves house.
What's Next
Run it fully offline on a machine with more disk space, add voices for the ghosts, and let people share a ghost's reply as a card.
Comments
No comments yet. Start the discussion.