Project

AI Assistant Ecosystem

A Claude-native personal AI assistant. Claude Code is the orchestrator, scheduled tasks fire throughout the day, plain files hold the state. Four reusable components extracted as public repos.

Live · Daily operation since March 2026 · 4 public components

What it is

Most "AI assistant" projects treat the model as a remote callable service and wrap it in custom orchestration code. This one inverts that. Claude Code IS the orchestrator; the surrounding repo is scaffolding (data files, scheduled tasks, delivery scripts, docs) that turns a CLI agent into a persistent personal assistant. Briefings, memory retrieval, reconciliation, dashboard generation, voice output — all of it runs through one Anthropic subscription instead of metered API calls.

Why this exists

The standard AI-app shape (model behind an API key, custom code in front) burns money in proportion to use, requires infrastructure to babysit (queues, workers, databases), and treats the model as a vendor service rather than a thinking partner. For a single user running automation throughout the day, that shape is wrong on every dimension.

Inverting the model and putting Claude Code at the center has three consequences worth the rebuild. One subscription covers everything — flat monthly cost, no token math. Files are the source of truthprojects.yaml, per-project BACKLOG.md, the brain's YAML index. Everything else (GitHub Projects, dashboards, scheduled task outputs) is a derived mirror; you can nuke the mirrors and rebuild from the files. No services to babysit — no Postgres, no queue broker, no custom backend maintaining state. Just Claude Code, the scheduled task scheduler, and a few Python scripts.

The result is a personal assistant that runs daily, fits inside one fixed cost, and stays understandable by the one person who uses it.

Architecture

Five subsystems wired through Claude Code as the central orchestrator. Each subsystem owns one capability and communicates through plain files in the repo — no in-memory state, no inter-process messaging.

AI Assistant system overview: Claude Code at the center orchestrates five subsystems (Tracking, Briefing, Knowledge, Delivery, Commands), all reading and writing plain files; outputs flow to Discord, email, push, and TTS audio.

Tracking

4-tier hierarchy: TELOS goals → projects → capabilities → work items. Reconciliation engine recalculates health and generates nudges. Dashboard renders the live view.

Briefing

Parallel morning gatherers (weather, news, project status), one assembler, TTS generation, multi-channel delivery, watchdog that recovers from missed runs.

Knowledge

Brain entries (cross-project knowledge graph), transcript archive, SessionStart hook that injects recent context into new sessions. /learn, /recall, /capture slash commands.

Delivery

Discord webhooks, SMTP email, ntfy push notifications, Edge TTS audio. All credentials in the OS keyring, never in .env files.

Commands

Slash commands surfaced into Claude Code. /open-ticket, /close-ticket, /backlog, /learn, /recall. The user-facing interface to the system.

How it works

The pipeline is time-driven, not event-driven. A handful of Claude Code scheduled tasks fire on cron-style schedules; each one writes its outputs to a known file or staging dir; the next stage reads from there.

Scheduled task pipeline: morning gatherers run in parallel at 6 AM, assembler runs at 6:25 AM, briefing-watchdog at 6:28 AM as recovery layer, reconciliation runs daily, dashboard rebuilds on each request.

A typical day: morning gatherers fire in parallel (weather + news + project status); the assembler stitches their outputs into a briefing; TTS and delivery scripts push the briefing to Discord, email, and audio. Later the reconciliation engine sweeps the tracking files, updates project health, and writes nudges. The dashboard, when opened, reads everything live from the files. The 6:28 AM briefing watchdog exists because automation breaks — if the 6 AM run failed, the watchdog catches it and runs a recovery briefing.

What this demonstrates

Claude Code as orchestrator

The model is the runtime, not a remote callable. Scheduled tasks invoke Claude Code directly; orchestration logic lives inside the agent session, not in custom infrastructure.

Scheduled-task automation

Cron-style scheduling drives the whole pipeline. Each task is small, idempotent, and writes outputs to known file locations. No queue, no broker, no event bus.

File-based persistence

YAML and Markdown files are the source of truth. No database. State is auditable, diffable in git, and readable without any tooling.

Multi-channel delivery

Discord, email, push notifications, and TTS audio — the same content reaches the reader through whichever channel is appropriate. Credentials live in the OS keyring.

Extracted-substrate pattern

The four reusable pieces (Brain, Tracking, Briefing, Notify) were extracted from the personal-use repo and published as standalone libraries. The personal integration stays personal; the substrate becomes shared.

See it in action

The tracking dashboard is the most visible artifact this system produces. Below: the public claude-tracking dashboard rendered against its example data set (no real personal projects shown).

claude-tracking dashboard rendered against the example projects.yaml. Two example projects shown: 'Side Project' (Idea status) and 'My Web App' (Active status, 3/6 capabilities, building authentication system). Status columns visible: Idea, Active, On Hold, Blocked, Done.

The dashboard reads projects.yaml on each request, enriches each row from the per-project BACKLOG.md file, and computes derived fields live. There's no build step; refreshing the page shows whatever the files currently say.

Public components

Four reusable libraries extracted from the personal-use integration. Each is independently usable, MIT-licensed, and lives in its own repo.

claude-brain

A cross-project persistent knowledge system for Claude Code. Solves knowledge loss between sessions and knowledge isolation between projects with a three-layer index.

github.com/JAKSecurity/claude-brain →

claude-tracking

A 4-tier project tracking system with dashboard, reconciliation engine, and GitHub Projects sync. Designed for Claude Code automation.

github.com/JAKSecurity/claude-tracking →

claude-briefing

An automated morning briefing pipeline for Claude Code. Parallel gatherers (weather, news, project status), assembler, watchdog recovery layer.

github.com/JAKSecurity/claude-briefing →

claude-notify

A lightweight notification and delivery toolkit. Discord webhooks (with chunking and attachments), SMTP email, ntfy.sh push, Edge TTS audio.

github.com/JAKSecurity/claude-notify →

Stack & scale

Stack

Claude Code Python Node.js YAML Markdown Discord webhooks SMTP ntfy.sh Edge TTS

Scale

4 public repos 5 subsystems Daily operation Since March 2026 One subscription No external LLM API

What's not here

The personal integration repo that wires the four public components together is not yet open-sourced — the scrubbing pass (hardcoded paths, personal data, internal-use language) hasn't happened yet. The four public spinouts above ARE the reusable substrate; the personal integration is the data and the configuration that makes them useful to one specific person. There's no subscriber or multi-user mode — this is single-tenant by design. There's no external LLM API call anywhere in the system — everything routes through the Claude Code subscription.