Projects > Cheng Fam Brain
Cheng Fam Brain: Self-hosted family second brain with semantic search, Telegram bot, and PDF ingestion.

Cheng Fam Brain

Self-hosted family second brain with semantic search, Telegram bot, and PDF ingestion.

Year
Apr–May 2026
Status
Active dev
Platforms
Home server · Docker · macOS
Type
AI/ML, Automation, Pipeline
Role
Sole developer

Every family accumulates a paper brain: manuals, medical records, school forms. Ours now lives on a machine in my house, searchable from Claude, Telegram, or a Drive folder, with no inference leaving the network.

A self-hosted knowledge base for the Cheng family that stores thoughts, household items, vendors, and maintenance tasks and lets you search them by meaning, not just exact words. It runs on hardware in the home and has no custom app of its own: you use it through the family's existing chat assistant, a command line, or a Telegram bot.

Drop in a PDF and it reads the document and files it appropriately on its own. An invoice might become a vendor record and a list of household items; a newsletter might become saved thoughts and maintenance tasks. You can hand it a document three ways: from the command line, as a Telegram attachment, or by dropping it into a watched cloud folder that it checks every few minutes.

The search and document reading happen on machines in the house, so family data stays on the home network. The only things that reach outside are reading PDFs and researching web pages.

Features

  • Search the family's knowledge by meaning, so "the guy who fixed the deck" finds the right vendor even if you never saved those exact words
  • Keeps track of thoughts, household items, vendors, and maintenance tasks in one place
  • No new app to learn, you use it from the family's existing chat assistant, the command line, or a Telegram chat
  • Hand it a PDF and it reads the document and files it as the right kind of record on its own, an invoice becomes a vendor and a list of items
  • Or just drop documents into a shared cloud folder, they get picked up, filed, and moved to a processed folder within minutes
  • Give it a web link and it reads the page, summarizes it, and saves the summary where search can find it later
  • Recurring maintenance reminders that work out the next due date each time you mark a task done
  • Family data stays on the home network, searches and answers are computed on machines in the house

Under the hood

29Files
6,637Lines of code
39Commits
Apr–May 2026Dev window
StackDeno · Hono · TypeScript · Python 3 · PostgreSQL · pgvector · Ollama · nomic-embed-text · qwen3:8b · Gemini 2.5 Flash · Docker · python-telegram-bot
InfraDocker Compose on a home NAS; local inference on an Apple-silicon node
Notable
  • Single Deno/Hono server exposes 29 MCP tools covering thoughts, items, vendors, maintenance, files, and URL research; Claude Desktop, Claude Code, and the Telegram bot all connect as standard MCP clients, so adding a client needs no integration code
  • Semantic search is pgvector cosine similarity over 768-dim embeddings, with a Postgres full-text keyword fallback in every search tool, so proper nouns and abbreviations that embeddings miss still match
  • PDF ingestion hands the raw document to Gemini 2.5 Flash, which reads it natively and calls the MCP tools itself to create records; there is no text-extraction, chunking, or routing pipeline to maintain
  • Telegram bot pairs slash-command shortcuts with a free-text agentic loop, so a chat message drives the same MCP tools a desktop client would
  • Google Drive watcher polls a drop folder every 5 minutes, ingests new PDFs, and moves them to a processed subfolder, so the folder itself serves as both queue and receipt
  • Embeddings (nomic-embed-text) and chat inference (qwen3:8b) run locally via Ollama; only PDF reading and URL research calls leave the network
  • CLI, Telegram bot, and Drive watcher share one async MCP client library: one ingest code path, three entry points