Skip to content

About

BMO — a Discord-native family AI companion. Capability-registry architecture with 20 capabilities across 6 executor types, Notion-driven config, Claude-powered replies, launchd-supervised. Overview repo (code private).

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 

Repository files navigation

BMO — Family AI Companion

A 24/7 Discord-based AI companion for the Cutillo household. Runs as a supervised TypeScript service that lives inside the family server and acts as a shared household brain — a single "voice" across 21 Discord channels that handles check-ins, curfew tracking, chore reminders, and family-wide announcements.

Built inside AIOS (my personal AI Operating System). This repo is a public overview — the running code is private because it's wired into family infrastructure, Discord IDs, and Notion configuration.


What it does

  • Answers kids on demand. DMs to BMO trigger intent-routed replies — curfew status, Pulse survey questions, homework reminders, "is dinner ready" style questions.
  • Runs scheduled family rituals. Morning briefings, evening Pulse check-ins, weekend plans, reminders — all fired by a scheduler and delivered to the right channel.
  • Watches for state changes. Device online/offline events, curfew boundaries, calendar changes — surfaced to the relevant channel with the right tone.
  • One voice across channels. Tone adapts per channel and per person, but the underlying personality stays consistent — BMO sounds like BMO whether it's talking to a 12-year-old about chores or posting a weekly family digest.

How it's built

Layer Tech
Runtime Node.js + TypeScript, discord.js
LLM Anthropic Claude (natural replies, intent classification)
Config store Notion (6 databases — Capabilities, Channels, People, Personality, Pulse Questions, Incidents)
Supervision macOS launchd with auto-restart
Control surface /bmo slash command + a live ops page in AIOS

The capability registry

BMO doesn't ship with hard-coded behaviors. Every thing it does is a capability row in Notion, executed by one of six executor types:

graph TD
    DM[💬 DM from family] --> Match
    Cron[⏰ Scheduled tick] --> Match
    Event[📡 State change] --> Match

    Match[🧭 Capability match] --> Reg[(📋 Notion · 20 capabilities · 6 databases)]

    Match --> Type{Executor type}
    Type --> IR[intent-response]
    Type --> SS[scheduled-summary]
    Type --> SW[state-watcher]
    Type --> SV[survey]
    Type --> EA[external-api]
    Type --> SR[static-response]

    IR --> Discord[💬 Discord channel or DM]
    SS --> Discord
    SW --> Discord
    SV --> Discord
    EA --> Discord
    SR --> Discord
Loading
  1. scheduled-summary — cron-style, composes and posts a digest
  2. intent-response — matches a DM to an intent, replies
  3. state-watcher — reacts to external state changes (devices, calendar, curfew)
  4. survey — runs a multi-step Pulse check-in with stored results
  5. external-api — calls a third-party service and formats the result
  6. static-response — deterministic fallback for known prompts

Why this matters: I add new behaviors by writing a Notion row — no code change, no redeploy. Today BMO has 20 active capabilities across those six types. Same registry drives admin dashboards inside AIOS.

What this demonstrates

  • Agent-style LLM orchestration without reaching for a framework — explicit executor types, deterministic fallback paths, clear separation of intent vs. side effect
  • Config-as-data architecture — Notion as the editable source of truth for a production system
  • Real-world durability — runs unattended under launchd, recovers from network blips, gets daily use by three kids
  • Voice consistency at scale — one personality model, 21 channel contexts, guided by a central Personality database

Stack

TypeScript Node.js Discord.js Anthropic Claude Notion API launchd

Related in the AIOS Portfolio

  • AIOS — Personal AI OS host; Next.js dashboard orchestrating 16+ household and business modules
  • Household Voice Control — Voice-interface layer bridging Alexa to a local AI OS via custom skill + Lambda
  • Household Digest — AI-composed daily digest pipeline; Gmail, Calendar, M365 to Discord every morning

Part of the AIOS portfolio. See the profile README for the full system map.

About

BMO — a Discord-native family AI companion. Capability-registry architecture with 20 capabilities across 6 executor types, Notion-driven config, Claude-powered replies, launchd-supervised. Overview repo (code private).

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors