Interlocking projects that make up the Lobs AI ecosystem. Current owned-code footprint by cloc: lobs-core 67k, lobs-nexus 19k, lobs-mobile 5.6k, lobs-memory 3k, lobs-vim 2.1k, lobs-sentinel 1.2k, lobs-voice 0.5k, website 4.5k.
The standalone agent runtime. TypeScript monorepo that runs as its own Node.js process. Orchestrator, agent runner, context engine, workflow system, HTTP server, Discord bot, voice pipeline, and live meeting transcription β all in one. Current owned source footprint: about 67k lines of code by cloc.
TypeScriptSQLiteNode.js67k LOCCurrent
WFWorkflow Engine
DAG execution with state machines, conditional branching, rollback, event-driven triggers, and cron scheduling.
MCModel Chooser
Five-tier cost-aware model selection with per-agent fallback chains. The cheapest model that can handle the task wins.
CBCircuit Breaker
Tracks worker failure rates, quarantines bad actors, and prevents cascading failures.
DBTask Database
SQLite via drizzle-orm. Full task history, worker run records, workflow state, and research memos.
CLINative CLI
lobs init, lobs start, lobs status, and lobs logs manage the system without a host platform.
APIDirect Provider Calls
The runtime calls Anthropic, OpenRouter, LM Studio, and other OpenAI-compatible endpoints directly through its own runner.
MEMMemory Supervision
lobs-memory runs under lobs-core supervision, so semantic search is part of the runtime instead of an external bolt-on.
QAPost-Success Validation
Artifact validation and selective review triggers catch phantom completions before bad output gets marked done.
DTDynamic Tools
Agents can create, edit, and delete their own tools at runtime β shell scripts, TypeScript modules, or procedural steps that persist across sessions.
SLSelf-Learning Loop
Corrections and preferences are captured in persistent memory automatically, so the same mistake never happens twice.
NX
lobs-nexus
Nexus Dashboard
+
React + Vite web dashboard served directly by lobs-core. Real-time monitoring of agents, tasks, workflow runs, and system health. Includes agent chat, live meeting transcription with AI activity feed, and brain dump task capture. Current owned frontend footprint: about 19k lines of code by cloc.
ReactViteTailwind19k LOCCurrent
ASAgent Status Monitoring
View all six agent types in idle, running, or error state, with worker history and success rates.
WVWorkflow Visualization
Active workflow steps, completed nodes, and pending branches are visible in the dashboard.
PUPolling-Based Updates
Periodic polling tracks task state changes, worker completions, and system alerts. WebSocket support is planned.
TITask Inspector
Inspect notes, agent assignment, model tier, worker run log, output, and timing in one view.
MTLive Meeting Transcription
Record meetings from the browser with real-time transcription and an AI activity feed that extracts action items, decisions, flags, and open questions as the meeting happens.
AI coding agent for Neovim. Reasoning runs on lobs-core, tools execute locally in your editor. File editing, shell commands, search β all with an approval system for dangerous operations. About 2.1k lines across Lua and TypeScript.
LuaTypeScriptNeovim2.1k LOCCurrent
LTLocal Tool Execution
The LLM reasons on the server; file edits, shell commands, and searches run locally in Neovim. No round-trip for tool execution.
APExec Approval System
Dangerous commands require explicit approval. Safe operations (reads, searches) run automatically. Configurable trust levels.
CTXProject Context Injection
Automatically sends project context on new sessions so the agent understands the codebase from the first message.
WSWebSocket Streaming
Real-time streaming of agent responses and tool calls over WebSocket. Cookie-based auth ties into lobs-core's session system.
ST
lobs-sentinel
Sentinel Agents
+
Persistent single-purpose AI agents for GitHub. Each sentinel runs in Docker, watches repos, and performs one job: reviewing PRs, triaging issues, or auto-labeling. Multi-provider LLM support (Anthropic + OpenAI). About 1.2k lines of TypeScript.
TypeScriptDockerGitHub API1.2k LOCCurrent
RVPR Reviewer
Reviews pull requests with full context β diffs, comments, commit history. Posts code review comments and approve/request-changes decisions.
LBAuto-Labeler
Classifies issues and PRs by content and applies labels automatically. Keeps repos organized without manual triage.
TRIssue Triage
Categorizes new issues, assigns priority, and asks clarifying questions. First-responder for incoming work.
MPMulti-Provider LLM
Supports Anthropic and OpenAI models. Per-deployment config lets you pick the right model for the task and budget.
VC
lobs-voice
Voice Pipeline
+
Local STT + TTS sidecar services for Discord voice integration. Whisper.cpp handles speech-to-text, Chatterbox handles text-to-speech. The voice module in lobs-core bridges Discord voice channels to the agent pipeline. About 500 lines of Python and shell scripts.
PythonWhisper.cppChatterbox TTS0.5k LOCCurrent
STTSpeech-to-Text
Whisper.cpp with CoreML acceleration on Apple Silicon. Converts Discord voice input to text for agent processing.
TTSText-to-Speech
Chatterbox TTS server generates natural speech from agent responses. Streams audio back into Discord voice channels.
BRVoice Bridge
The voice module in lobs-core connects Discord voice channels to the STT β Claude β TTS pipeline. Fully local, no cloud speech APIs.
RTOpenAI Realtime
Alternative speech-to-speech bridge using OpenAI's Realtime API for lower-latency conversational voice interaction.
iOS companion app for staying connected to your agents on the go. Check task status, receive completions, and interact with Lobs from your phone.
SwiftiOSPush notifications5.6k LOCCurrent
PNiOS Push Notifications
Get notified when blockers arise, urgent tasks complete, or the system needs attention without checking Discord.
TCTask Creation On The Go
Create tasks from anywhere. The orchestrator picks them up within ten seconds.
QVTask Queue View
Browse active, completed, and blocked tasks. Filter by agent type or model tier, and see what is running now.
CIChat Interface
Message Lobs directly from the app. Same coordinator, same routing, just on mobile instead of Discord.
ME
lobs-memory
Memory Search
+
Hybrid search server for agent memory. Combines BM25 keyword search with vector embeddings for semantic retrieval across all agent context, learnings, and project documentation. Runs on port 7420 under lobs-core supervision. About 3k lines of TypeScript and Python.
TypeScriptPythonEmbeddings3k LOCCurrent
HBHybrid Search
BM25 keyword matching combined with dense vector search. Best of both worlds for finding relevant context across hundreds of memory files.
EMEmbeddings
Local embedding generation for all indexed content. No external API calls needed for search β everything runs on the same machine.
SVSupervised Process
Runs under lobs-core process supervision with automatic restart on failure. Health checks ensure search is always available to agents.
IXMulti-Collection Index
Indexes workspace files, shared memory, daily logs, project docs, and ADRs as separate searchable collections.
KB
lobs-shared-memory
Shared Memory
+
A Git-backed cross-project knowledge base. ADRs, research memos, runbooks, and agent instructions that persist across sessions and sync across the entire system. The supporting lobs-memory search service provides hybrid BM25 + vector search over the knowledge base.
GitMarkdownADRsRunbooks
ADRArchitecture Decision Records
Every major technical decision is recorded as an ADR: what was decided, why, and what alternatives were rejected. Agents read these before acting.
GSGit-Backed Sync
All memory files live in a git repo. Changes are committed and synced. Workers can read, agents can write, and everything is auditable.
RMResearch Memos
Researcher agents write structured memos that persist across sessions. When a similar question returns, the answer is already there.
RBAgent Runbooks
Operational playbooks for each agent type explain edge cases, preferred tools, and failure modes. They keep evolving with the system.
LL
lobslab-apps
LobsLab Apps
+
Web apps hosted on lobslab.com subdomains. Crapuler (UMich course watchlist), Ballz (physics toy), Stellar Siege (cosmic RTS), and more. Each app runs in Docker with Caddy reverse proxy. About 16k lines of code plus course catalog data.
JavaScriptDockerCaddy16k LOCCurrent
CRCrapuler
UMich course section watchlist. Monitors registration status and alerts when seats open. Backed by 50k lines of course catalog JSON data.
BZBallz
Physics sandbox with 10k lines of vanilla JavaScript. Bouncing balls with collision, gravity, and interactive controls.
SSStellar Siege
Cosmic real-time strategy game. Conquer star systems, build fleets, and manage resources across a procedurally generated galaxy.
DKDocker + Caddy Stack
Each app containerized independently. Caddy handles automatic TLS and subdomain routing. Add a new app with a Dockerfile and one compose entry.
Applied Agentic Software Engineering β hands-on course building autonomous AI agents that do real work. Covers agent architectures, tool use, memory systems, multi-agent orchestration, and deployment. Uses OpenClaw as the runtime. Co-developed with Marcus Darden at the University of Michigan.
AGAgent Architectures
Designing and implementing autonomous agents: reasoning loops, tool use, and goal-directed behavior.
TUTool Use & Memory Systems
Building agents that use tools effectively and maintain persistent memory across sessions.
MAMulti-Agent Orchestration
Coordinating multiple agents to work in parallel on complex, multi-step tasks.
DPDeployment & Runtime
Taking agents from prototype to production using OpenClaw as the runtime platform.
API
lobs-server, Legacy / Retired
lobs-server
+
The FastAPI backend that powered v4 and v5: REST API, task queue, worker management, and health monitoring. Replaced by lobs-core. 38K lines of Python that taught us everything.
PythonFastAPISQLiteRetired
APIREST API
Full task management API to create, read, update, and delete tasks and projects. It backed Mission Control and Lobs Mobile before the standalone era.
PYPython Orchestrator
Multi-agent spawning with aiohttp. It taught us the cost of race conditions, session leaks, and if/else workflow logic at scale.
HMHealth Monitoring
Worker status tracking, failure rates, and uptime metrics. Those patterns directly influenced lobs-core's circuit breaker design.
RTWhy It Was Retired
The Python stack grew large and hard to maintain. The glue was heavier than the logic it connected. lobs-core replaced it completely.