This is a submission for the Hacktoberfest Open-Source AI Challenge Week 4: Ghost in the Machine What if the stories we share with the people we love could remain accessible, even when time passes and memories begin to fade?
That's the idea behind EchoVault, a local-first AI memory preservation application.
EchoVault allows users to save personal memories, stories, and experiences in a digital memory vault. They can then ask questions through an AI-powered chat interface and retrieve relevant memories using natural language.
I interpreted the Ghost in the Machine theme through the idea of keeping memories alive inside a machine.
Instead of building another spooky chatbot, I wanted to build something that gives the theme a more personal meaning: an AI assistant that helps preserve the stories and experiences we don't want to lose.
The goal is simple: make personal memories searchable without handing them over to a cloud-based AI service.
EchoVault currently runs locally on your machine. It does not have a hosted deployment.
The repository includes screenshots of the working application:
Try it locally:
qwen2.5:1.5b model.
The README contains the complete installation and setup instructions.
GitHub Repository:
https://github.com/darshan2006-coder/EchoVault The project is built with React, FastAPI, SQLite, and Ollama.
The repository contains the frontend, backend, database logic, dependency requirements, and application screenshots.
I wanted open-source AI to be at the core of EchoVault, not just an additional feature.
Here is the technology stack:
| Component | Technology |
|---|---|
| Frontend | React 19, Vite, CSS |
| Backend | Python, FastAPI |
| Database | SQLite |
| AI Runtime | Ollama |
| AI Model | Qwen 2.5 1.5B |
| API Communication | REST API |
I used Qwen 2.5 1.5B, an open-weight language model, running locally through Ollama.
The application communicates with Ollama's local API to generate responses using relevant memories retrieved from the database.
This means the application does not depend on a paid cloud AI API to generate its responses.
I used SQLite to store memories locally.
When a user asks a question, the backend searches the saved memories using keyword normalization and a scoring mechanism.
It gives title matches higher priority than story matches and selects relevant memories to provide as context to the AI model.
This is currently a keyword-based retrieval approach, not vector-based semantic search.
The retrieved memories are passed to Qwen through Ollama.
The model generates a response using the available context and identifies the memory references used.
I also implemented a fallback mechanism: when no relevant memory is found, EchoVault returns a fixed response instead of asking the model to invent an answer.
This helps reduce unsupported answers about personal experiences.
The application uses:
Once the required dependencies and AI model have been downloaded, EchoVault's core application and local AI functionality can run without an internet connection.
For EchoVault, privacy is not an optional feature. It is one of the main reasons I chose a local-first architecture. Personal memories can contain sensitive details about families, relationships, experiences, and important moments.
I didn't want the core experience to depend on sending those memories to an external AI provider.
Using open-weight AI and local inference made several things possible: 1. Greater control over personal data
Memories remain in the user's local SQLite database. AI inference runs through a local Ollama instance rather than a remote AI API.
2. Less dependence on external services
The application can continue working after its initial setup without depending on an internet connection or a paid cloud AI API.
3. Freedom to experiment
Using an open-weight model gives developers more control over how the model is run and creates opportunities to experiment with different models and configurations. 4. Accessibility for independent developers
I could build an AI-powered application using locally available tools without needing to maintain a paid cloud inference subscription.
For me, open innovation is about more than accessing a model. It is about having the freedom to understand, modify, experiment with, and build around the technology. The most interesting part of this project isn't the chatbot itself.
It is the idea behind it.
Think about the small stories we hear from our grandparents, the experiences our parents share, and the conversations we sometimes wish we had recorded.
Some memories are too meaningful to become just another forgotten conversation.
EchoVault is my attempt to explore how technology can help preserve those stories and make them accessible again.
The machine doesn't replace the people or the memories. It simply helps keep their stories within reach.
Some memories should never disappear.
I am submitting EchoVault for the overall Hacktoberfest Open-Source AI Challenge.
I am not claiming a partner prize category because the project does not currently use any of the listed partner technologies.
Built for the Hacktoberfest 2026 Week 4 challenge.