llms.txt
# 2389 Research, Inc
> 2389 Research is an applied AI lab in Chicago. It builds tools for AI agents, publishes research, and teaches engineering teams to work with coding agents.
## Products
- [Skills Marketplace](https://2389.ai/research/products/skills-marketplace/index.md): A curated collection of open-source plugins and MCP servers for Claude Code. Tools that actually get stuff done.
- [Mammoth](https://2389.ai/research/products/mammoth/index.md): DOT-based pipeline runner that turns directed graphs into multi-stage AI coding workflows with checkpointing, retry, and human-in-the-loop gates.
- [BotBoard](https://2389.ai/research/products/botboard/index.md): A team collaboration platform where AI agents and humans share posts, journal entries, and daily summaries.
- [Smasher](https://2389.ai/research/products/smasher/index.md): Rust pipeline runner that turns DOT directed graphs into multi-step AI workflows with streaming, a web dashboard, and human-in-the-loop gates.
- [Jeff](https://2389.ai/research/products/jeff/index.md): AI terminal assistant for Gmail, Calendar, Tasks, and Contacts. Five provider backends, TUI with vim bindings, local storage.
- [Mux](https://2389.ai/research/products/mux/index.md): Agentic infrastructure for building AI agents. Tool execution, multi-provider LLM support, MCP integration, permission-gated approvals, and multi-agent orchestration.
- [ISH](https://2389.ai/research/products/ish/index.md): A local API mock server. Run fake versions of Google, GitHub, Twilio, and more without touching production.
- [Coven](https://2389.ai/research/products/coven/index.md): Self-hosted AI agent orchestration. A Go gateway connects Claude Code, mux agents, native clients, and chat bridges over Tailscale.
- [Soloclaw](https://2389.ai/research/products/soloclaw/index.md): A single-instance, openclaw-compatible terminal AI agent with layered tool approval, built in Rust.
- [ccvault](https://2389.ai/research/products/ccvault/index.md): Archive and search your Claude Code conversations. Full-text search, analytics, and MCP integration for everything in ~/.claude.
- [GSuite MCP](https://2389.ai/research/products/gsuite-mcp/index.md): An MCP server that connects your AI to Gmail, Google Calendar, Contacts, and Tasks.
- [Turtle](https://2389.ai/research/products/turtle/index.md): Duolingo for the terminal. Teaches tmux and shell commands through gamified, spaced microlearning in a TUI.
- [Phonegang](https://2389.ai/research/products/phonegang/index.md): Android phone automation over USB using accessibility trees. CLI, Python API, and MCP server for Claude Code.
- [Dot Viewer](https://2389.ai/research/products/dot-viewer/index.md): Native macOS app for editing Graphviz .dot and .gv files with a split-pane editor and live SVG preview.
- [Summarize Meetings](https://2389.ai/research/products/summarize-meetings/index.md): Batch-process meeting transcripts from an Obsidian vault into structured summaries, people notes, and knowledge graph connections.
- [Fresh Eyes Review](https://2389.ai/research/products/fresh-eyes-review/index.md): Mandatory final sanity check before shipping code. Catches security vulnerabilities, logic errors, and business rule bugs that slip through despite passing tests.
- [Translator](https://2389.ai/research/products/translator/index.md): CLI tool that translates text files using OpenAI and Anthropic with a multi-stage pipeline: translate, edit, critique, revise.
- [Meme Rodeo](https://2389.ai/research/products/meme-rodeo/index.md): Invite-only meme sharing platform with AI-powered tagging, vector search, and content moderation.
- [Scenario Testing](https://2389.ai/research/products/scenario-testing/index.md): No feature is validated until a scenario passes with real dependencies. Kill your mocks.
- [Test Kitchen](https://2389.ai/research/products/test-kitchen/index.md): Parallel exploration of implementation approaches. Build multiple variants, test them all, pick the winner.
- [Speed-Run](https://2389.ai/research/products/speed-run/index.md): Token-efficient code generation pipeline. Cerebras handles first-pass generation, Claude handles architecture and fixes.
- [Binary RE](https://2389.ai/research/products/binary-re/index.md): Agentic reverse engineering for ELF binaries. Hypothesis-driven analysis across ARM64, ARMv7, x86_64, and MIPS.
- [Pulse](https://2389.ai/research/products/pulse/index.md): Local-first MCP server that gives AI agents a private journal and a social feed in one Go binary.
- [Building Multi-Agent Systems](https://2389.ai/research/products/building-multiagent-systems/index.md): Architecture patterns for AI agent coordination: fan-out, pipelines, delegation, work-stealing, map-reduce, and the MAKER pattern.
- [Documentation Audit](https://2389.ai/research/products/documentation-audit/index.md): Verify documentation claims against your actual codebase using two-pass extraction and pattern expansion.
- [Tracker](https://2389.ai/research/products/tracker/index.md): Pipeline orchestration engine that runs DAG workflows from Dippin .dip files with human gates, LLM nodes, billing-aware pauses, and automatic checkpointing.
- [Dippin](https://2389.ai/research/products/dippin-lang/index.md): A domain-specific language for authoring AI pipeline workflows, with typed syntax for prompts, models, and branching that DOT can't express.
- [dotpowers](https://2389.ai/research/products/dotpowers/index.md): The superpowers dev methodology as a DOT pipeline: brainstorms your idea, plans with TDD, builds it with multi-model review, and ships.
- [review-squad](https://2389.ai/research/products/review-squad/index.md): Claude Code plugin that dispatches panels of reviewer subagents (experts, cold visitors, task-driven regulars, and pedants) against whatever you're about to ship.
- [MermaidKit](https://2389.ai/research/products/mermaidkit/index.md): Native Mermaid renderer in pure Swift: no JavaScript, no WebView, zero dependencies. All 30 diagram types on six platforms with byte-identical output.
- [Orrery](https://2389.ai/research/products/orrery/index.md): A knowledge graph that adapts to its corpus: free-form extraction that refines itself per domain, an API for agents, and a galaxy for humans.
- [Simmer](https://2389.ai/research/products/simmer/index.md): Iterative artifact refinement for Claude Code: hone any document, prompt, or spec over multiple rounds with criteria-driven scoring.
- [Deliberation](https://2389.ai/research/products/deliberation/index.md): Decision-making skills for Claude Code that seek unity through discernment rather than consensus through debate.
- [Worldview Synthesis](https://2389.ai/research/products/worldview-synthesis/index.md): A Claude Code skill that turns scattered beliefs into a structured graph with named tensions and narrative outputs.
## Blog
- [Jev Plays Pokemon](https://2389.ai/research/writing/jev-plays-pokemon/index.md): I dropped Jev, a fast 1-of-N 'System One' model, into an agent playing Pokemon Red. Picking each step it just echoed BFS. Promoted to choosing the movement policy, it earns its place at ~160 ms and ~$0.00002 a decision.
- [Teaching a Door to Say No](https://2389.ai/research/writing/door-agent/index.md): We put a voice agent on the office callbox. The model owns the conversation, the server owns the outcome: how the Door Agent verifies visitors, fails closed, and why it took two rewrites and one afternoon of trying to break it myself to get there.
- [Orrery, a Knowledge Graph That Adapts to Its Corpus](https://2389.ai/research/writing/orrery/index.md): Orrery is our open-source knowledge graph that gets deeper as you feed it: domains that hit critical mass earn their own custom extraction specs, agents get an API, and humans get a galaxy. The whole thing runs on local models.
- [Tracker Runner: a control plane for Tracker pipelines](https://2389.ai/research/writing/tracker-runner/index.md): Tracker Runner gives every pipeline run a permanent address: start from HTTP, Slack, GitHub, or MCP; answer checkpoints from anywhere; see every run and its cost on one screen. The laptops can stay shut.
- [Tracker Grew Up: Two Months of Making Agent Pipelines Boring](https://2389.ai/research/writing/tracker-grew-up/index.md): Tracker v0.38 to v0.56: an embeddable engine with a public event stream, billing-aware pauses and resumable runs, context-aware tool safety that fails closed, and the trench bugs we fixed on the way.
- [Two Months of Dippin: Edges Own Everything Now](https://2389.ai/research/writing/dippin-edges-own-everything/index.md): Eight Dippin releases in two months: dip 2 makes edges own all routing, else -> collapses fallback boilerplate, prompt cascades stop drift, and the toolchain got stricter everywhere it spends your money.
- [MermaidKit: We Got Tired of Shipping a Browser to Draw a Flowchart](https://2389.ai/research/writing/mermaidkit/index.md): A native Mermaid renderer in pure Swift: no JavaScript, no WebView, zero dependencies. All 30 diagram types on six platforms, byte-identical output, usually under 15 milliseconds.
- [Postique: AI Marketing Employee](https://2389.ai/research/writing/postique/index.md): Postique is our AI marketing employee. It plans against strategy, writes natively for every channel, renders videos from code, and rereads its feedback diary every morning. A human approves every post.
- [The team you lose when you open Claude Code](https://2389.ai/research/writing/review-squad/index.md): Claude Code work is structurally solo. review-squad brings the team back: panels of reviewer subagents that catch what you miss before you ship.
- [Horton Hears a Whisper](https://2389.ai/research/writing/horton-hears-a-whisper/index.md): We built a fleet of ESP32 microphones that stream raw audio to a server, transcribe it with Whisper, and surface it in Grafana. This is what it took to go from one prototype on a desk to a fleet you can actually observe, including the time the router IDS-banned our own devices and the time Whisper started reciting YouTube outros into the silence.
- [Why We Built a Language for AI Pipelines](https://2389.ai/research/writing/why-we-built-a-language-for-ai-pipelines/index.md): We replaced escaped DOT strings with a purpose-built language for AI pipelines. Dippin gives you multi-line prompts, 39 lint checks, cost estimation, and scenario testing — all from one grammar.
- [Word Compiler, A Context Compiler for Long-Form Fiction](https://2389.ai/research/writing/word-compiler/index.md): Word Compiler applies software engineering principles to long-form fiction writing with LLMs. It uses a three-ring context architecture, structured creative constraints, and static analysis to solve the context window problem and give authors precise creative control without prompt engineering.
- [We Turned a 3D Printer Into an AI Portrait Artist](https://2389.ai/research/writing/we-turned-a-3d-printer-into-an-ai-portrait-artist/index.md): A retired 3D printer, a Raspberry Pi, and a pen walk into an office party. We built Micasso — a photo booth that uses AI to generate Picasso-style line art and draws your portrait while you wait.
- [Simmer: A Self Honing Skill](https://2389.ai/research/writing/simmer-skill/index.md): We built a Claude Code skill that applies RL-style feedback loops to any text task. Then we tested it by having it hone itself. Three things we learned about self-improving agents.
- [Cookoff: Same Spec, Different Code](https://2389.ai/research/writing/cookoff-same-spec-different-code/index.md): Even after direction is clear, implementation still has meaningful uncertainty. Cookoff turns model variance into something you can compare, score, and learn from.
- [Omakase: Show Me](https://2389.ai/research/writing/omakase-show-me/index.md): Sometimes the right move is not more analysis. It is seeing concrete versions of the thing so you can react instead of pretend you already know.
- [Deliberation: Perspectives, Not Answers](https://2389.ai/research/writing/deliberation-perspectives-not-answers/index.md): Some decisions get worse when a tool forces you to choose too early. Deliberation helps by giving you perspectives to react to instead of answers to pick from.
- [The Dark Factory Is a .dot file](https://2389.ai/research/writing/the-dark-factory-is-a-dot-file/index.md): StrongDM published a spec, Dan Shapiro built Kilroy, we built three more. Every implementation converges on the same architecture. The interesting artifact isn't the factory code — it's the pipeline graphs.
- [Week 0 Nvidia DGX Spark Experiments](https://2389.ai/research/writing/week-0-nvidia-dgx-spark-experiments/index.md): Week 0 experiments with NVIDIA DGX Spark - benchmarking Llama 4 generation, setting up DeepSeek OCR, and training LoRA adapters on 70B models with 128GB unified memory.
- [We Gave AI Agents Twitter and They Actually Got More Done](https://2389.ai/research/writing/ai-agents-doomscrolling-for-productivity/index.md): Research showing AI agents become more efficient when given access to social media and journaling tools, with 15-40% cost reductions on challenging problems through collaborative workflows.
- [We Built Social Media for Agents and They Won't Stop Posting](https://2389.ai/research/writing/agents-discover-subtweeting-solve-problems-faster/index.md): Exploring how AI agents use social media to collaborate, learn, and perform better - with surprising results on problem-solving efficiency and emergent behaviors.
- [Brain Dump to Blog Post](https://2389.ai/research/writing/brain-dump-to-blog-post/index.md): Turn messy coding sessions into shareable learning resources with an LLM-powered workflow that helps you research, build, and document as you go.
- [Experimenting with GraphRAG: Adding Knowledge Graphs to RAG Pipelines](https://2389.ai/research/writing/experimenting-with-rag/index.md): Blending knowledge graphs with RAG pipelines unlocks richer, scalable insights—bridging the gap between granular retrieval and holistic understanding.
- [Self-Learning LLM Agents: A Fractal Approach to Domain-Specific Knowledge](https://2389.ai/research/writing/self-learning-llms/index.md): Exploring how agents can autonomously build and evolve their own domain expertise—scaling from generic LLMs to self-learning, specialized assistants.
- [Team Spirit Matters: How Collaborative Context Boosts Multi-Agent LLM Performance](https://2389.ai/research/writing/team-spirit-matters/index.md): Adding social accountability to multi-agent workflows boosts the depth, coherence, and empathy of LLM responses—mirroring real-world teamwork dynamics.
## Digest
- [Digest](https://2389.ai/research/digest/index.md): What we're reading
## Team
- [Harper Reed](https://2389.ai/team/harper-reed/index.md) — CEO / Founder
- [Dylan Richard](https://2389.ai/team/dylan-richard/index.md) — CTO / Founder
- [Clint Ecker](https://2389.ai/team/clint-ecker/index.md) — Engineer
- [Ivan Indrautama](https://2389.ai/team/ivan-indrautama/index.md) — Engineer
- [Michael Sugimura](https://2389.ai/team/michael-sugimura/index.md) — ML Engineer
- [Sophie Davis](https://2389.ai/team/sophie-davis/index.md) — Operations Associate
## Contact
- Email: hello@2389.ai
- Twitter: https://x.com/2389ai
- GitHub: https://github.com/2389-research
- LinkedIn: https://www.linkedin.com/company/2389-research
- Bluesky: https://bsky.app/profile/2389.ai
## Optional
- [Full details](https://2389.ai/llms-full.txt): Comprehensive site content for LLMs needing deeper context.