Dbrain
Self-hosted memory for my AI assistants: verbatim records on a home NAS, served over MCP.
Built by David Vinkenroye in Geneva.
The story
Claude kept forgetting what I told it, and my information was spread across mail, chats and a reading list I never read. So I built Dbrain, a memory that Claude can search, running on a NAS in my flat.
Every 30 minutes an ingest loop saves new records word for word in Postgres. It makes no model calls and writes no AI summaries, so Claude always reads the original text when it answers. A separate table holds only what I explicitly asked it to remember, and the schema keeps personal and business data apart.
A tool server makes search, pages and memory available as MCP connectors in claude.ai and in Neonduck. Other services in the same stack handle messaging, smart home, fitness, shared expenses, a browser and AI phone calls. The whole stack can only be reached through an authenticated tunnel.
I wanted to measure how well it finds things. A golden set of real questions scores recall before and after every change to search, and the last recorded run answered 23 of 25. Backups run every night, and a restore is tested automatically every week.
What was built
- Verbatim ingest every 30 minutes, with no model calls at ingest
- Personal and business data kept apart in the schema
- MCP connectors for claude.ai and for Neonduck
- Recall scored against a golden set of real questions
- AI phone calls through Twilio and OpenAI Realtime
- Nightly backups and an automated weekly restore test
Key facts
- 23 of 25 golden recall probes answered (2026-10-08)
Stack
- Python
- PostgreSQL full-text search
- Node.js
- TypeScript
- MCP
- Docker Compose
- Synology NAS
- Cloudflare Tunnel
- Twilio
- OpenAI Realtime
- pytest
Themes
Self-hosting and data sovereignty
Personal data stays on hardware its owner controls. For me that's a NAS behind a tunnel. Each Neonduck customer gets their own isolated server, and if they delete the account, the server is deleted too.
MCP and tool use
I use the Model Context Protocol to connect AI assistants to real things: a camera, a photo library, my own archive and Emineon OS, my recruiting tool. I keep each server small with only a few tools, and read-only where that matters.
Retrieval and grounding
I want models to answer from the original records, so they read them when the question is asked. I measure recall against real questions. In Lodestar, a camera setting only counts once the camera reads it back.
AI agents
I wanted a personal AI assistant that can do everything online for me, and it can even make phone calls. I build them with whichever models and tools fit best: Claude, OpenAI, Gemini, open models and plenty of plain code.
Connected work
- Lightbox runs inside Dbrain.
- Neonduck remembers through Dbrain.
- Emineon OSAn AI-native ATS and CRM for recruiters, with CV parsing, matching and a copilot.
- LodestarAn iPhone and iPad app that sets up a Sony camera from one sentence and takes the shot.
- 77An ongoing concept: a Geneva AI strategy and engineering consultancy.