{"slug": "seance-ghost-in-the-machine", "title": "Séance — Ghost in the Machine", "summary": "A developer built Séance, an offline chatbot that uses the open-weight Gemma model via Ollama to role-play the \"spirits\" of seven dead programming languages including COBOL, FORTRAN, ALGOL, LISP, Smalltalk, Ada and Prolog. The tool runs without internet access, logs sessions locally to JSONL for durability, and optionally adds MongoDB Atlas vector memory, Sentry tracing, SerpApi search and ElevenLabs text-to-speech. It was submitted to the Hacktoberfest Open-Source AI Challenge Week 4.", "body_md": "Hacktoberfest Open-Source AI Challenge Week 4: Ghost in the Machine Submission 🕯️\n\nThis is a submission for the Hacktoberfest Open-Source AI Challenge Week 4: Ghost in the Machine\n\nWhat I Built\n\nSéance — an offline séance chatbot that channels the spirits of dead programming languages (COBOL, FORTRAN, ALGOL, LISP, Smalltalk, Ada, Prolog) through Gemma, a local open-weight model. It works with the lights and the internet off, and every séance stays on your machine — nothing is uploaded to a server you don't control.\n\nRepo: mahilsaily306-max/seance\n\nDemo\n\nDeployed frontend: (link goes here — render / digitalocean / .tech domain)\n\nDemo video: (link goes here)\n\nCore flows, one click each:\n\nConjure a spirit → pick COBOL, FORTRAN, LISP, or any of the seven dead languages and ask it questions\n\nOne-shot conjure → node src/seance.js --spirit COBOL --ask \"What is a paragraph?\"\n\nInteractive séance → chat mode with past-séance history replay\n\nHistory → replay previous turns for a summoned spirit\n\nVoice → ElevenLabs TTS reads the spirit's whisper aloud (optional)\n\nCode\n\nmahilsaily306-max/seance\n\nKey files:\n\nsrc/seance.js — CLI séance: conjure spirits, chat, log turns, replay history\n\nsrc/spirits.js — the seven dead-language spirits, each with era, epitaph, style, last words\n\nsrc/model.js — Gemma local client (Ollama / Hugging Face / offline echo fallback)\n\nsrc/memory.js — MongoDB Atlas vector memory with Tiger Data / pgvector fallback\n\nsrc/tracing.js — Sentry agent tracing (latency, source, errors)\n\nsrc/search.js — SerpApi live web search for historical language facts (optional)\n\nsrc/voice.js — ElevenLabs TTS for spirit whispers (optional)\n\nsrc/session.js — Durable Temporal-style sessions logged to JSONL\n\nscripts/setup.js — one-time dependency setup\n\ndocker-compose.yml — local MongoDB stack for offline memory\n\nHow I Built It\n\nOpen-source AI at every layer:\n\nRuntime: Gemma (open-weight) via Ollama; falls back to a deterministic offline echo so the séance runs with zero ML installs and zero internet.\n\nMemory: JSONL local log (Temporal-style durability) so séances survive restarts; optionally MongoDB Atlas vector memory or Tiger Data/pgvector hybrid search over past turns.\n\nTracing: Sentry captures agent setup, latency, tokens, cost, and errors — set SENTRY_DSN and every turn is traced.\n\nSearch: SerpApi grounds answers in fresh web results when you want historical language context.\n\nVoice: ElevenLabs TTS gives the spirits a voice; the séance works silently without it.\n\nCI: npm test exercises every module; works with no dependencies installed.\n\nWhy Does Open Innovation Matter?\n\nRunning open-weight models locally means:\n\nNo internet needed. Gemma runs on a laptop offline after download. A closed API agent would stop working without connectivity.\n\nData stays on your machine. Your séance logs, questions, and answers are never uploaded to a server you don't control.\n\nSet up once, never pay again. Open-weight models cost $0 to run locally — no per-token charges, no subscriptions.\n\nSwap models freely. Swap Gemma for Mistral, Llama, or any open weight. Closed APIs lock you into one vendor.\n\nThe open-based approach worked better here because this is a personal, offline-first tool — privacy, offline use, and zero recurring cost matter more than a hosted SaaS.\n\nMy Agent Session\n\nSaved with DevRelay and embedded below (Entire prize category: share the agent sessions behind your project).\n\n(agent_session embed link goes here)\n\nThe Spooky Payoff\n\nBefore Séance, dead programming languages were just forgotten syntax in dusty manuals — COBOL, FORTRAN, LISP, Smalltalk, Ada, Prolog, buried by the industry.\n\nAfter: you hold a séance with their spirits, ask them questions, hear their era-appropriate answers — all offline, all open, all on your own hardware. The ghosts are back, and they answer for $0.\n\nPrize Categories\n\nEntering every applicable partner category:\n\nFeatured : Gemma, Render, DigitalOcean, Tinker\n\nPartner : Mastra, Sentry, Temporal, MongoDB Atlas, SerpApi, Browserbase, ElevenLabs, Auth0, Backboard, Entire, GitHub Copilot, .tech Domains, Tiger Data, TabPFN", "url": "https://wpnews.pro/news/seance-ghost-in-the-machine", "canonical_source": "https://dev.to/mahil_1330/seance-ghost-in-the-machine-18hh", "published_at": "2026-10-29 07:44:14+00:00", "updated_at": "2026-10-29 07:49:28.863023+00:00", "lang": "en", "topics": ["artificial-intelligence", "large-language-models", "ai-agents", "ai-tools", "generative-ai"], "entities": ["Gemma", "Ollama", "MongoDB Atlas", "Sentry", "SerpApi", "ElevenLabs", "Hacktoberfest", "Temporal"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/seance-ghost-in-the-machine", "markdown": "https://wpnews.pro/news/seance-ghost-in-the-machine.md", "text": "https://wpnews.pro/news/seance-ghost-in-the-machine.txt", "jsonld": "https://wpnews.pro/news/seance-ghost-in-the-machine.jsonld"}}