This is a submission for the Hacktoberfest Weekend Challenge: Build for a Friend
What I Built
I built AirVault for a family member who has incredible stories and recipes but zero desire to type them out. The prompt was "Build for a Friend," and I knew preserving family memories—like my grandmother's cooking process—was the perfect goal.
However, personal memories are highly private. I refused to send a single byte of my family's voice to a corporate server. AirVault is a 100% offline, air-gapped memory preservation engine running exclusively on local bare-metal hardware.
Demo
To prove the system captures genuine nostalgia, I recorded an unscripted explanation of a simple family pasta recipe. Watch the system transcribe and format the memory into a beautiful chapter while my Mac's Wi-Fi is completely disabled:
Code
AirVault is fully open-source and designed to run entirely locally.
ritamgit-alt
/
AirVault
100% offline, privacy-first AI memory and story engine built with Streamlit, Whisper, and Gemma 2.
🛡️ AirVault: Personal Memory & Story Engine
A 100% offline, privacy-first AI memory preservation engine built for the DEV Hacktoberfest challenge. AirVault takes raw voice memos and turns them into beautifully structured memoir chapters without sending a single byte of data to the cloud.
đź§ Tech Stack
- UI: Streamlit
- Audio-to-Text: OpenAI Whisper (Base model, cached locally)
- Narrative Engine: Google Gemma 2 2B (Served locally via Ollama)
- Hardware: Optimized for bare-metal local execution (tested on Apple Silicon M-series)
🚀 Quick Start
- Ensure Ollama is installed and pull the required model by running
ollama pull gemma2:2bin your terminal. - Clone the repository and install dependencies using
pip install -r requirements.txt. - Start the local Ollama background server by running
ollama serve. - In a separate terminal tab, launch the Streamlit app using
streamlit run app.py.
đź“„ License
Distributed under the MIT License. See LICENSE for more information.
How I Built It
To make this work without the internet, I engineered a localized multi-model pipeline utilizing my Mac's M2 processor.
- Audio Engine: OpenAI's
Whisper-base, permanently cached locally on the drive. - Narrative Engine: Google's open-weight
Gemma 2 (2B)served via Ollama. - UI: Streamlit.
Behind the Scenes: Bypassing Python's default SSL certificate requirements to force the initial Whisper model download into the local cache was the biggest technical hurdle.
Why Does Open Innovation Matter?
Open-source AI was mandatory for this project. Without open-weight models like Gemma 2, building an air-gapped application of this quality would be impossible. Open innovation allows us to harness powerful natural language generation without compromising data sovereignty. It keeps our family's data off servers we don't control, costs $0 in API fees, and ensures the app won't break if a third-party service goes offline.
Prize Categories
- Overall Prize
- Best Use of Gemma Partner Prize
Top comments (2)
Family memories feel even more personal than most data, so air-gapped is the right call here, not just a buzzword. I went local-only for a similar reason on mine, hard to beat "it never leaves the machine" as a privacy promise.
Exactly—when it comes to family memories, "cloud convenience" just isn't worth the privacy trade-off. Awesome to see another local-first build in the challenge!