DEV Community

Cover image for 👻 Echoes: Ghost in the Machine — Giving Forgotten Stories a Voice with Local AI
Aditri
Aditri

Posted on Edited on

👻 Echoes: Ghost in the Machine — Giving Forgotten Stories a Voice with Local AI

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

The inspiration came from the idea that machines can preserve fragments of forgotten memories, places and stories. I wanted to explore this concept by building something creative rather than another conventional AI chatbot.

Echoes allows users to create atmospheric ghost stories by choosing:

  • Six different storytelling themes.
  • Five different moods.
  • A custom setting.
  • Three story lengths: Flash, Short and Long.
  • An optional detail or memory to incorporate into the story. The application transforms these inputs into a structured prompt, sends it to a locally running AI model and generates an original story that users can download as a Markdown file.

The idea behind Echoes is simple: What if a machine could give forgotten stories another voice?

Demo

https://echoes-ghost-in-the-machine.onrender.com/

Code

https://github.com/aditric7/echoes-ghost-in-the-machine

How I Built It

Echoes is built using Python, Streamlit, Ollama and Gemma 3 1B.

Technology Stack

  • Python — Application logic and prompt construction.
  • Streamlit — Interactive web interface.
  • Ollama — Local model serving and inference.
  • Gemma 3 1B — Open-weight language model for story generation.
  • Requests — Communication with Ollama's local API.

How the application works?

  1. The user selects a theme, mood, setting and story length.
  2. Python combines the selections into a structured storytelling prompt.
  3. The application sends the prompt to the Ollama API running locally.
  4. Gemma 3 1B processes the prompt and generates an original story.
  5. Streamlit displays the generated story and provides a Markdown download option.
  6. The application is designed to run locally without requiring a paid hosted AI API.

Why Does Open Innovation Matter?

I chose open-weight AI because I wanted to explore what becomes possible when developers have greater control over the models they use.

With Echoes, the model runs on the user's own machine through Ollama. This creates several advantages:

  1. Privacy and local inference
    Story prompts can remain on the user's machine instead of being sent to an external hosted AI API.

  2. Model flexibility
    Users can experiment with different Ollama-supported models by changing the model tag without rebuilding the entire application.

  3. Accessibility
    There is no requirement for a paid hosted-model API key. After the initial setup and model download, generation can work offline.

  4. Developer independence
    Using an open-weight model makes it possible to inspect the application workflow, experiment with model behaviour and understand how AI inference works beyond simply calling a commercial API.

Of course, local inference also has trade-offs. Users need to install Ollama, download the model and have sufficient hardware resources.

For me, this project demonstrates that useful AI experiences can be built without making every interaction dependent on an external AI service.

The Spirit of It-

  • Every forgotten place has a story. Every old machine has a history. Every memory carries something worth preserving.
  • With Echoes, I wanted to explore the connection between technology, memory and storytelling.
  • The project takes inspiration from the idea that even something as ordinary as an abandoned computer, an old terminal or a forgotten digital space could become the starting point for a story.
  • Perhaps the most interesting ghost isn't supernatural at all.
  • Perhaps it's a story waiting to be remembered.

Prize Categories

  • Best Use of Gemma

Built independently for Hacktoberfest 2026.

THANK YOU FOR READING!!

Top comments (0)