Passion Project

Cortex

Personal AI second brain that captures, classifies, and acts on everything you send it — text, voice, photos, documents, and links via Telegram.

Product Designer & Developer 1 Month (Ongoing) Web App (Self-Hosted) Python, FastAPI, Next.js, Claude API, Docker
Cortex activity log showing 20 messages with color-coded intent badges including task, question, reminder, research, bookmark, habit, expense, and conversational

Activity log with service status badges and color-coded intent classification across 18 message types.

Cortex model routing page showing 10 AI operations with per-operation model selection across Claude, Gemini, and Ollama with cost tier badges

Per-operation model routing with provider badges and cost tiers across Claude, Gemini, and local Ollama.

Cortex heartbeat agent page showing stat cards, configuration, and alert log with check tags for overdue tasks, habits, budgets, and packages

Heartbeat agent with stat cards, config, and alert log showing proactive monitoring results.

18 Intent Types

Text, voice, photos, documents, and URLs auto-classified by a local LLM and routed to Notion, Calendar, or agent workflows.

Multi-Provider LLM Routing

Per-operation model selection across Claude, Gemini, and local Ollama — optimized for cost per operation with a dashboard UI.

Self-Hosted & Encrypted

AES-256-GCM encryption for all secrets at rest, Docker one-command deploy, setup wizard — zero cloud dependency.

Cortex Soul editor showing a configurable SOUL.md personality definition that controls how the AI communicates, prioritizes, and responds

Configurable personality via SOUL.md — injected into all AI system prompts for Q&A, heartbeat, and digest.

Cortex habits page showing 5 daily habits with streak counters and 7-day completion grids in green and gray

Habit tracking with streak counters and 7-day completion grids.

Cortex reminders page showing 5 active reminders with recurring badges and next-fire timestamps

One-time and recurring reminders with natural language scheduling.

From Telegram Bot to AI Platform

Cortex evolved from a simple message-to-Notion bridge into a full agentic platform with 20+ dashboard pages, 3 autonomous agents, and multi-provider LLM routing.

Telegram Bot

Intent classification + Notion routing — Feb 2026

Next.js Dashboard

20+ pages, setup wizard, config UI — Feb 2026

Agentic Architecture

Research, heartbeat, and work queue agents — Mar 2026

The Process

Cortex started from a personal frustration: ideas, tasks, and notes scattered across apps with no single capture point. I wanted to send a Telegram message — text, voice, or photo — and have it automatically land in the right place in Notion. I wrote a detailed PRD in Claude Code defining the classification pipeline: Telegram input → local LLM intent classification (Ollama with Llama 3.2) → Claude enrichment for titles, dates, and tags → Notion API write. The zero-cost classification layer was a deliberate design decision — local inference means unlimited messages without API spend.

The project expanded rapidly once the core pipeline worked. Each new intent type (reminders, calendar events, bookmarks, package tracking, expenses, habits) followed the same pattern: detect intent locally, enrich with a cloud LLM, then route to the right destination. The model routing system emerged from a real cost problem — Claude Sonnet for every operation was wasteful when Gemini Flash or local Ollama could handle classification and casual conversation. The dashboard lets you assign Claude, Gemini, or Ollama to each of the 10 operations independently, with per-million-token cost labels so the trade-offs are visible.

The agentic architecture was the biggest design leap. The heartbeat agent runs on a schedule with a 9-tool suite (overdue tasks, habits, budgets, stale contacts, packages) and decides for itself what warrants a Telegram alert. The research agent runs an iterative loop — web searches, page reads, memory lookups — until it decides coverage is sufficient. The work queue agent processes overnight tasks with the same broad tool suite. All three agents use the configurable SOUL.md personality, which means the AI’s tone and priorities are consistent across every interaction — direct, opinionated, no sycophancy.

Impact

18

Intent Types Classified

707

Automated Tests

Docker

One-Command Deploy

Back to All Projects