DEV Community

Cover image for EchoVault: The Memories That Refuse to Disappear 👻
Mk Sharma
Mk Sharma

Posted on Edited on

EchoVault: The Memories That Refuse to Disappear 👻

Hacktoberfest Open-Source AI Challenge: Ghost in the Machine Submission 👻🌼

Some memories never leave. They just wait to be remembered.

This is my submission for the Hacktoberfest Open-Source AI Challenge Week 4: Ghost in the Machine.

What I Built

I built EchoVault, a privacy-first, local AI-powered digital memory archive that gives forgotten memories a second life.

Think about those old photographs sitting in forgotten folders, audio recordings stored on dusty cassette tapes, handwritten letters, and stories that nobody has documented properly.

What if we could bring all of them together and actually interact with them?

That's the idea behind EchoVault.

It transforms personal photographs, audio recordings, scanned documents, and written recollections into an intelligent, searchable archive powered entirely by local AI.

I interpreted the Ghost in the Machine theme through the idea of digital memories that never truly disappear. Instead of building another conventional ghost chatbot, I wanted to create something that gives forgotten memories a voice.

What can EchoVault do?

1. Memory Vault

A centralized archive for photographs, audio recordings, PDF documents, and written memories. It extracts available metadata and organizes everything into searchable collections.

2. The Echo Engine

The AI processing pipeline that brings archived content to life. It transcribes audio, analyzes photographs, extracts entities, generates summaries, and creates semantic embeddings.

3. Ask the Archive

An AI-powered conversational interface where you can ask questions about your archived memories.

For example:

  • What stories mention the old house?
  • Find recordings from December 2018.
  • Which memories are connected to a particular person?
  • What recurring themes appear in my archived stories?

Answers are grounded in retrieved archive content, with source citations linking back to the original memories.

4. The Ghost Chamber

The signature Halloween experience.

Select archived memories and transform them into atmospheric narratives using four storytelling styles:

  • Haunted Gothic
  • Mysterious Noir
  • First-Person Echo
  • Chronological Reconstruction

You can also generate optional audio narration.

5. The Forgotten Drawer

A feature that automatically surfaces memories that have been sitting untouched for a long time, including photographs without captions and audio recordings without transcripts.

6. Memory Timeline & Connection Graph

Explore memories chronologically and discover connections between seemingly unrelated photographs, stories, and recordings.

The goal isn't to pretend AI can communicate with the dead. It's to make sure the stories and memories we choose to preserve don't disappear.

Demo

Local application: http://localhost:3000

The application includes a fictional sample archive featuring Blackwood Manor (1988–1994) and Whispering Pines (1973), allowing visitors to explore the experience immediately after setup.

click on the image
EchoVault

Code

GitHub Repository: EchoVault

Built with an MIT license.

How I Built It

The most important architectural decision was making local AI the foundation of EchoVault rather than treating it as an optional feature.

The application uses a modular architecture with three main components:

  • Next.js frontend for the user experience.
  • FastAPI backend for API handling, memory processing, and orchestration.
  • Local AI infrastructure for inference, embeddings, transcription, and image understanding.

Technology Stack

Layer Technologies
Frontend Next.js 15, React 19, TypeScript
Styling Tailwind CSS v4
Backend Python, FastAPI
Database SQLite, SQLAlchemy 2.0
LLM Ollama, Qwen 2.5, Gemma
Embeddings Nomic Embed Text
Vision Moondream
Audio transcription Faster-Whisper
Audio narration Edge TTS / local synthesizer

How the AI works

The Echo Engine processes uploaded content through an asynchronous pipeline:

  1. Extracts file metadata and validates uploaded content.
  2. Transcribes audio using Faster-Whisper.
  3. Analyzes photographs using Moondream.
  4. Generates summaries using local language models.
  5. Extracts entities such as people, locations, dates, and themes.
  6. Converts content into vector embeddings using Nomic Embed Text.
  7. Stores the processed information locally.

For conversational retrieval, EchoVault uses Retrieval-Augmented Generation (RAG).

Instead of asking an LLM to invent an answer, the system retrieves relevant memory excerpts and uses them as context. Answers include references to the original archived material.

Running EchoVault

The easiest way to start the application is:

./start.sh
Enter fullscreen mode Exit fullscreen mode

Before launching, make sure Ollama is installed and the required models are available.

For manual model setup:

ollama pull qwen2.5:1.5b
ollama pull nomic-embed-text
ollama pull moondream
Enter fullscreen mode Exit fullscreen mode

Once everything is configured, open:

http://localhost:3000
Enter fullscreen mode Exit fullscreen mode

:)

The application also provides Docker Compose support and backend unit tests.

Why Does Open Innovation Matter?

This is probably the most important part of EchoVault.

Personal memories are among the most private things we own. Photographs, family conversations, personal recordings, and old documents shouldn't have to be uploaded to someone else's server just to become searchable.

That's why I wanted to build EchoVault around open-weight models and local inference.

Using Ollama, Qwen, Gemma, Moondream, Nomic Embeddings, and Faster-Whisper gives the application control over its AI infrastructure.

Here's what open innovation makes possible:

  • Privacy: Personal memories stay on the user's machine instead of being sent to mandatory external AI APIs.
  • Independence: The application doesn't depend on a single commercial AI provider or its pricing decisions.
  • Flexibility: Models can be replaced or configured according to available hardware and user preferences.
  • Offline capability: Once the required models and dependencies are installed, core AI functionality can operate without an internet connection.
  • Ownership: Users can export their complete archive as a ZIP containing original media, structured JSON metadata, and a human-readable Markdown catalog.

For me, open-source AI isn't just about reducing API costs.

It's about giving people control over their data, their tools, and the technology that processes their personal information.

I also wanted the project to demonstrate that powerful AI experiences don't necessarily need to depend on a cloud-based API.

The Spirit of It

There's something interesting about old photographs and recordings.

Sometimes, we forget the stories behind them. We remember the faces but forget the conversations. We remember the places but forget the little details that made those moments meaningful.

Imagine finding an old cassette recording, transcribing it, and being able to search through its contents years later.

Or finding a photograph you haven't looked at in a decade and discovering its original date, context, and connections to other archived memories.

That's what inspired EchoVault.

The Ghost Chamber takes this concept one step further by transforming preserved memories into atmospheric fictional narratives.

The machine isn't haunted by ghosts. It's haunted by everything we almost forgot.

And perhaps that's a more interesting kind of haunting.


Built with open-source AI, local inference, and the belief that some memories deserve to live forever.

EchoVault — The Memories That Refuse to Disappear. 👻

Top comments (0)