Showcase · Personal AI OS · 001 · Live

The Dominio Router

My AI only reads the parts of my life a prompt touches.

The problem

The dominio router is the context layer of my personal AI setup. My life is split into thirteen areas (work, travel, study, side projects and so on), and each area has one markdown file that holds only current, approved values, plus a skill that holds the method for working in that area.

How it works

Loading everything into every session wastes tokens and buries the answer; loading nothing leaves the model guessing. A hook in Claude Code therefore reads each prompt before the model does, decides which areas it touches, and injects just those files, the area's standing rules, and the exact sections it needs from neighbouring areas. A general question gets nothing extra.

This runs live on every prompt. The router is about 1,200 lines of Python, and it is tested by replaying real past prompts and checking which areas fire. A scheduled audit flags files that have gone stale so they get re-verified against live sources before anyone quotes them.

  • Thirteen life areas, each in its own file
  • A hook injects only the areas touched
  • Replay-tested and audited on a schedule

Outcome

Three rules carry the whole design: one owner per fact, state overwritten in place, history pushed to a dated log.

Stack

  • claude-code
  • ai-agents
  • context-engineering
  • personal-knowledge-management

Code

github.com/HenryLop/dominio-router

Transcript

My AI only reads the parts of my life a prompt touches. I split everything into thirteen areas, each with one file holding current values. Before Claude sees my message, a hook decides which areas it touches and injects only those. A money question gets money, a trip question gets travel, a general question gets nothing. Old prompts are replayed against the router to catch regressions, and a scheduled audit checks the files stay true.

How this was made

Voiceover is text-to-speech (Microsoft Edge neural voice). Background art is AI-generated (Gemini). Titles and captions are set in code, not generated. The build itself was made with Claude Code.