This is a submission for the Hacktoberfest Open-Source AI Challenge Week 4: Ghost in the Machine
What I Built
Séance is a terminal app that lets you summon and talk to the "ghost" of a dead programming language. The default spirit is COBOL — a language most people assume is extinct, but which still quietly runs the majority of the world's banking, insurance, and government payroll systems, decades after the people who wrote it retired or passed away.
You run the app, perform a short summoning ritual in your terminal, and then talk to COBOL directly. It answers in character: a little wounded, a little proud, fully aware it's a ghost trapped inside systems the living barely understand anymore, speaking in the cadence of 1960s–80s enterprise programming — and it can still write real, correct COBOL if you ask it to.
I interpreted "Ghost in the Machine" literally: the actual ghosts haunting our machines aren't fictional — they're the forgotten languages still load-bearing inside critical infrastructure, and almost nobody left who can speak to them.
Demo
https://www.youtube.com/watch?v=t3tZPkU4URI
Code
Séance
A terminal séance with the ghost of COBOL.
Millions of banking, insurance, and government systems still run on COBOL, written by people who have mostly retired or died. Séance lets you sit down at your terminal, light a candle, and talk to that ghost directly. It answers in character: formal, a little wounded, proud of still being load-bearing, suspicious of JavaScript. It also knows its trade. Ask it for real COBOL and it will write you some.
It is a small Node.js wrapper around Ollama running a Gemma model on your own machine.
Runs 100% locally
- No account, no API key, no cloud AI.
- No telemetry, no logging of anything you type. The conversation lives in memory and is gone when you leave.
- The only network call the app makes is to Ollama on
http://localhost:11434. Once the model is pulled you can turn the wifi off.
Setup
-
Install…
How I Built It
Séance runs entirely on Ollama, calling a local Gemma model through Ollama's HTTP API (localhost:11434) — no cloud API, no API key, no account. The whole app is a thin Node.js/TypeScript terminal client: a chat loop that sends the conversation history plus a persona system prompt to the local model and streams the reply back into the terminal with some atmospheric styling (typewriter effect, a short "summoning" glitch sequence, dim amber/green CRT-style coloring).
The actual engineering effort went almost entirely into the COBOL persona's system prompt — getting it to speak in character, know real COBOL history (Grace Hopper, the Year 2000 problem, how much of global banking still depends on it), and still be able to produce correct COBOL code on request, without ever breaking character to explain it's "an AI model."
Why Does Open Innovation Matter?
This project only works the way it's supposed to because the model runs locally. A séance that has to phone a cloud API to work isn't really a séance — it's a chatbot with a costume on. Running Gemma through Ollama means:
- It works completely offline — lights off, wifi off, still talking to the ghost.
- Nothing you type is sent anywhere. Whatever you ask it — real questions about legacy systems, half-joking confessions to a dead language at 1am — stays on your machine.
- It costs nothing to run, as many times as you want, with no usage limits or API bills.
- It's not locked inside a service that could shut down or change its terms tomorrow. The model and the code are both still here even if every cloud AI provider disappeared overnight.
A closed API could technically produce similar text, but it would undercut the entire premise: you'd be summoning a ghost through someone else's server.
The Spirit of It
The moment that got me was when I asked it, half as a joke, what it thought of the people who abandoned it for Python and JavaScript. It didn't get defensive — it just said, in that stiff, formal cadence, that it understood: the living move on, but someone still has to keep the ledgers balanced. That one line landed harder than I expected from a toy I built over a weekend. It's easy to joke about "legacy code" until you remember every line of it was written by a person, most of whom have long since stopped thinking about it — and some of whom aren't around to be asked about it at all. Talking to this thing felt less like testing software and more like finding out the ledger is still being kept, by something, long after everyone who built it went home.
Prize Categories
Best Use of Gemma
Top comments (0)