← Back Case study · Agent platform Self-hosted · evolved into v2

Brains

One system remembers everything I work on, and acts on it. Every coding session, commit, voice note and email lands in a persistent memory that a fleet of agents briefs from, triages with, and reflects on, behind human approval gates, on my own hardware. I designed it, built it, and used it every day.

Designer · Sole engineer · Daily operator Independent · self-hosted 2026 · v1 archived, v2 in daily use Python · FastAPI · SQLite · sqlite-vec
Brains agent console with knowledge graph
Agent console: knowledge-graph viewdesigned mockup; the live system holds private data

00 / 04Context

The problem.

Knowledge work leaks memory. A decision made in one coding session is invisible to the next; a voice note never meets the commit it explains; the context that made last month's choice sensible evaporates when the window closes. LLM assistants make this worse: each conversation starts from zero.

The brief I set myself: give agents real memory: one store that captures everything worth remembering, retrieval that works by meaning, and agents that act on it, with two hard constraints: it runs on my own hardware, and nothing outward happens without my approval.

01 / 04System

The memory loop.

One loop, five stages, capture to action. Everything is an episode: a timestamped unit of memory with its source attached. Episodes are embedded for retrieval, distilled into a knowledge graph, and served back to every tool that needs context.

→ 01

Capture

Coding sessions, git commits across every configured repo, transcribed voice notes, mail-triage decisions, ingested news: everything worth remembering, with provenance.

→ 02

Embed

Every episode embedded (bge-m3) into a local vector index: recall works by meaning, not keywords.

→ 03

Distill

A local model extracts entities and relations into a living knowledge graph; a nightly deep-sleep agent clusters it into community summaries.

→ 04

Retrieve

Context follows the work: session-start injection, entity cards, and a local HTTP API any tool can query.

→ 05

Act

A fleet of scheduled agents (briefing, triage, reflection) drafts; I decide. Every outward action sits behind a human approval gate.

02 / 04Memory

Memory is the product.

Not a chat log: a queryable, compounding store that gets more useful the longer it runs, because retrieval works by meaning and the graph maintains itself.

Episodic store

14,344 episodes at v1's June 2026 measurement: every session, commit, note and decision, timestamped with its source. SQLite-backed: one file, trivially backed up, no cloud dependency.

Semantic retrieval

Recall by meaning, not keywords: asking about a topic surfaces the sessions and commits that actually dealt with it.

Living knowledge graph

11,455 entities and 6,465 relations, distilled by a local model (people, projects, repos, topics), so the system knows not just what happened, but how things connect.

Deep-sleep summaries

A nightly agent clusters the graph and writes community summaries: the themes of the week, discovered rather than filed. Memory that organises itself while I sleep.

Episodes
14,344 · measured Jun 2026
Entities
11,455
Relations
6,465
Recall
semantic · sqlite-vec
Agents
10 scheduled · HITL-gated
Interfaces
API · Discord · voice

03 / 04Result

What it proved.

Nothing gets forgotten

Every session starts with context from the last one; every commit and note lands somewhere retrievable. The compounding effect is real within weeks.

Trust needs gates

Human-in-the-loop approval on every outward action is what made a fleet of autonomous agents livable: drafts flow freely, actions wait for me.

Local-first works

One SQLite file, local embeddings, local extraction models: private by construction, backed up in seconds, no cloud dependency to rot.

Honest status

v1 ran daily through the first half of 2026 and was archived in July when the architecture converged into a leaner, headless successor, which carries the same memory forward and is in daily use today.

Next case study Forge →
© 2026 Anthony Meijer · Singapore Brains · independent, self-hosted