Case study
ODIN
A personal AI command center. One orchestrator, specialist agents with their own lanes, and no team required.
- Role
- Creator. Designed and built, in public.
- Owned
- Agent design, Orchestration, Tool use, Voice, Interface
- Stack
- Next.js, TypeScript, Anthropic API, ElevenLabs, GitHub Octokit, Web Speech API, WebGL
- Status
- Building, coming soon
Try itRuns in your browser with sample data
GitHub via Octokitpush gated
Send the task to see how ODIN routes it.
01 The problem
A solo founder is a broken team.
Solo founders don’t have a team. They have a task list that never ends and one brain covering every role: engineer, product manager, analyst, marketer, researcher. Context switches constantly. Things fall through.
Doing everything alone doesn’t just cost time, it costs context. A marketing task starts in the headspace of an engineer. A product decision gets made with zero user data. Things get built that nobody asked for, because nobody was around to ask the uncomfortable questions.
02 What I built
A command center, not a chatbot.
A persistent, memory-equipped orchestration layer that routes work to the right specialist agent, tracks what is in flight, and surfaces the result when it is done. Every agent has a defined specialty and a mandate to push back. Built for my own use, in public, while building Clarai.
ODIN
Orchestrator
The orchestrator and external brain. Carries context across sessions, connects dots, routes incoming work to the right agent and synthesises results. Not a chatbot.
LUCA
Senior developer
Knows the codebase, has opinions about architecture, and says when something is going to hurt in three months. Creates real GitHub repositories, writes production code and opens pull requests.
MAYA
Product owner
Protects the founder from himself. Before anything gets built she asks why: who needs this, what is the smallest version that proves the point, what hasn't been validated.
NOVA
Internal analyst
Works with data that already exists: outreach conversion rates, runway calculations, agent usage. One recommendation with reasoning, not five options.
FREYA
Marketing and sales
Designs outreach campaigns, writes LinkedIn messages in the founder's voice, prepares for objections, and closes the loop when NOVA analyses the results.
MIMIR
External researcher
Sweeps the market for signals: competitors, pricing, technology trends, what is being built and what has failed. Her output becomes NOVA's input.
03 How it works
Route. Dispatch. Track. Surface.
A task comes in. ODIN decides who owns it. The agent works asynchronously in the background, and ODIN surfaces the result when it is ready. If another agent should pick up from there, ODIN offers the handoff. It never auto-chains without asking.
Analytical work MIMIR → NOVA → MAYA → LUCA
Outreach and marketing FREYA → NOVA → FREYA
Every agent has a voice. ElevenLabs handles text-to-speech, and wake-word detection routes spoken requests to the right agent without touching a keyboard.
04 Technical decisions
Cheap models route, strong models work, humans confirm.
Next.js App Router, TypeScript and Tailwind on the front, the Anthropic API underneath: Claude Haiku for routing, Sonnet for the heavy work. GitHub Octokit for LUCA’s code operations, the Web Speech API for wake-word detection.
File-based memory per project. A cost tracker that enforces a daily budget per model. Prompt caching on static system prefixes. A confirmation gate before LUCA pushes anything to a remote repository. Agents are configuration-driven, not hardcoded: new agents load from .claude/agents/ without a restart.
The interface is a rotating 3D neural network rendered in WebGL. Neurons fire, pulses travel the synapses, and voice input drives the animation in real time through Web Audio RMS. The network lights up in the colour of whichever agent is active.
- Input
- Text
- Voicewake word, Web Speech API
- Orchestrator
- RouterClaude Haiku
- Memoryfile-based, per project
- Cost gatedaily budget per model
- Agents
- MIMIR
- NOVA
- MAYA
- LUCA
- FREYA
- Tools
- Claude Sonnetheavy work
- GitHubOctokit, gated push
- ElevenLabsagent voices
Handoffs between agents are offered, never auto-chained. Pushes to a remote need confirmation.
05 What I owned
The agent design is the product.
The code matters less than the design of the team: every specialist gets a mandate to challenge, a scope that doesn’t bleed into the next agent’s lane, and a clear answer to “what does this agent say no to?” Agent system prompts and architectural decisions are documented publicly.
06 Why it matters
Most AI tooling is one model and a text box.
ODIN is a team with defined roles, institutional memory, cost limits and the ability to say “that’s not my department.” It is the same set of problems every serious AI feature runs into: routing, context, tool permissions, spend and a human in the loop where it counts.