Project 4 of ~34

⚡ Second Brain — Architecture

Personal knowledge management via Telegram + AI. Capture, organize, search, and surface insights. Runs on Mac Mini + Supabase + Ollama.

🛠️ Tech Stack

ComponentTechnologyWhy
InterfaceTelegram Bot (Deno)Primary capture interface — zero friction
BackendDeno 2 + OakAPI + AI pipeline
DatabaseSupabase (PostgreSQL + pgvector)Knowledge base + vector embeddings for semantic search
EmbeddingsOllama (Mac Mini) + MiniMax API fallbackLocal: nomic-embed-text for embeddings; API for complex queries
QueueUpstash QStashWeekly digest scheduling, async processing
Email captureGmail APIForward + auto-archive
ExportNotion API, Obsidian (Markdown files)Portable output

🗄️ Data Model

kb_items
iduuidPrimary key
user_iduuid (FK)Ref users
content_typeenum('text','url','email','voice','image','file')
raw_contenttextOriginal content
summarytextAI-generated summary
embeddingvector(768)pgvector for semantic search
tagsuuid[]Ref to tags
entities_jsonjsonbExtracted people, places, orgs
source_urlvarchar(500)If from URL
source_email_idvarchar(255)Gmail message ID
is_action_itemboolean
action_statusenum('open','done','dismissed')
created_attimestamp
tags
iduuidPrimary key
user_iduuid (FK)Ref users
namevarchar(100)Tag name
colorvarchar(7)Hex color
item_relations (cross-refs)
item_id_auuid (FK)Ref kb_items
item_id_buuid (FK)Ref kb_items
relation_typevarchar(50)related_to, cites, contradicts
confidencefloatAI confidence 0–1
digests
iduuidPrimary key
user_iduuid (FK)Ref users
week_startdateWeek this digest covers
contenttextAI-generated digest content
item_countintegerItems surfaced
sent_attimestamp

🤖 AI Pipeline

Capture → Process (async)
1. Receive item via Telegram/email. 2. QStash queues processing job. 3. Ollama generates summary + extracts entities + generates embedding (nomic-embed-text on Mac Mini). 4. Store in Supabase with pgvector.
Cross-Reference (weekly)
Weekly job: for each new item, find semantically similar items using vector search. Generate cross-reference relations if similarity > 0.8. User approves or dismisses suggested links.
Weekly Digest (Sunday)
Agent reviews week's captures. Groups by theme, identifies patterns ("you captured 5 things about AI agents"), surfaces forgotten relevant items, generates action item reminders. MiniMax API for digest generation.
Ask the Brain
Natural language query → embed query → semantic search in pgvector → fetch top 10 items → MiniMax synthesizes answer with citations. Fast path: QStash timeout 30s for sync answers.

Requirements  |  All Projects  |  Presentation →