# Digital Afterlife: A Local, Sovereign Memory Vault & Digital Ofrenda for Honoring Ancestors

> Source: <https://dev.to/abhinavgautam08/digital-afterlife-a-local-sovereign-memory-vault-digital-ofrenda-for-honoring-ancestors-5dhm>
> Published: 2026-10-31 19:42:45+00:00

*This article is submitted to the **Hacktoberfest Open-Source AI Challenge: Week 4** (#hf26challenge).*

**Digital Afterlife — Memory Keeper** is a local, offline-first, sovereign family memory vault and digital remembrance builder (*digital ofrenda*).

In an era where family photos, voice memos, and historical letters are routinely entrusted to commercial cloud providers that monetize data, change pricing, shut down services, or lock families out, **Digital Afterlife** guarantees permanent, sovereign preservation:

`faster-whisper` quantized to `int8`, clustering acoustic features into anonymous speaker labels with strict biometric consent enforcement.`multilingual-e5-small` in ChromaDB with Reciprocal Rank Fusion (RRF) hybrid retrieval and Ollama (`qwen2.5:3b`) grounded generation.
Week 4's theme asks us to *"build something spooky, or something that honors the past in the spirit of Día de los Muertos, with open-weight models or open-source AI."*

Between October 31 (Halloween) and November 1–2 (Día de los Muertos), we reflect on the memories and stories of those who came before us. Día de los Muertos is not about fear; it is about keeping loved ones alive in our collective memory through *ofrendas* adorned with photographs, personal reflections, favorite memories, and stories.

**Digital Afterlife transforms the "ghost in the machine" from a metaphor of eerie surveillance into an act of enduring remembrance:**

Because Digital Afterlife is an air-gapped, privacy-first local application, there is no public web-hosted server tracking users. The walkthrough below illustrates the primary local workflows:

Users upload photographs, audio interviews, scanned documents, and home videos. EXIF GPS coordinates are automatically stripped for family privacy while capture dates and metadata are indexed.

An audio recording of a grandparent telling a childhood story is queued. The local `faster-whisper` engine transcribes the audio, detects the language, and partitions segments. Users click timestamp chips (`[▶ 00:15 - 00:32]`) to seek audio playback directly.

Users ask: *"Where did grandfather live before moving to the city?"*

The system performs hybrid vector + lexical retrieval, extracting verifiable excerpts from scanned letters and transcripts, answering with direct citations that link back to the source documents.

Visiting a departed relative's Remembrance Page presents a commemorative shrine featuring:

Clicking **Lock Vault** zeroes the Data Encryption Key in memory. All sensitive endpoints return `HTTP 423 Locked`. The vault remains inaccessible until unlocked with the master password or 32-character recovery key.

Digital Afterlife is built with an open-source, offline-first technology stack:

```
┌────────────────────────────────────────────────────────┐
│            Frontend (React 19, TypeScript, Vite)       │
│      Dark Obsidian & Gold UI • Lucide • Tailwind CSS   │
└───────────────────────────┬────────────────────────────┘
                            │ (Local HTTP 127.0.0.1:8000)
┌───────────────────────────▼────────────────────────────┐
│                  Backend (FastAPI, Python 3.12)        │
├────────────────────────────────────────────────────────┤
│  Security & Crypto: AES-256-GCM Streaming, Argon2id    │
│  Speech Engine: faster-whisper (CPU int8), PyAV        │
│  Semantic Search: multilingual-e5-small (ONNX)         │
│  Local RAG: ChromaDB + Ollama (Qwen 2.5 3B Instruct)   │
│  Database: SQLite (WAL mode, authenticated fields)     │
└────────────────────────────────────────────────────────┘
```

`FileEncryptor`)` DAENC1` format) with derived nonces (`base_nonce XOR chunk_index`) and AAD chunk position binding to prevent tampering, truncation, or chunk reordering.`FieldCipher`)` description`, `extracted_text`, `transcript_text`, `content`) are encrypted in `ENC:v1:` authenticated envelopes.`m=64MB, t=3, p=4`) protects the master passphrase and generates a 128-bit emergency recovery key.`SpeakerConsent`), and revoking consent immediately purges acoustic vectors.`.da-backup` archive created entirely in RAM (`io.BytesIO`), leaving no unencrypted temp files on disk.
Why does open innovation matter for preserving family memories?

To verify the project locally:

```
# Clone the repository
git clone https://github.com/abhinavgautam08/digital-afterlife.git
cd digital-afterlife

# Setup backend
backend\.venv\Scripts\activate      # or python -m venv .venv
pip install -r backend/requirements.txt
python scripts/init_db.py

# Setup frontend
cd frontend
npm install
```

Run the full backend test suite (**132 passing tests**):

```
backend\.venv\Scripts\pytest.exe -v
```

Verify frontend build:

```
cd frontend
npm run build
```

`uvicorn backend.app.main:app --host 127.0.0.1 --port 8000`
`npm run dev` in `frontend/`
`http://127.0.0.1:5173`.`/settings`, create a remembrance page, upload an oral history, and test locking/unlocking.
