<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Nikita Dmitrieff</title>
    <description>The latest articles on Forem by Nikita Dmitrieff (@nikita_dmitrieff_4ac62e72).</description>
    <link>https://forem.com/nikita_dmitrieff_4ac62e72</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3810748%2Fd8df5a65-9399-45a6-bdcd-4b5b0bf00b51.png</url>
      <title>Forem: Nikita Dmitrieff</title>
      <link>https://forem.com/nikita_dmitrieff_4ac62e72</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/nikita_dmitrieff_4ac62e72"/>
    <language>en</language>
    <item>
      <title>I built an autonomous AI company that runs itself — 22 cycles of receipts</title>
      <dc:creator>Nikita Dmitrieff</dc:creator>
      <pubDate>Sat, 07 Mar 2026 00:29:06 +0000</pubDate>
      <link>https://forem.com/nikita_dmitrieff_4ac62e72/i-built-an-autonomous-ai-company-that-runs-itself-22-cycles-of-receipts-4kbc</link>
      <guid>https://forem.com/nikita_dmitrieff_4ac62e72/i-built-an-autonomous-ai-company-that-runs-itself-22-cycles-of-receipts-4kbc</guid>
      <description>&lt;h1&gt;
  
  
  I built an autonomous AI company that runs itself — 22 cycles of receipts
&lt;/h1&gt;

&lt;p&gt;Here's what happened when I stopped running my side project and let 14 AI agents run it for me.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Setup
&lt;/h2&gt;

&lt;p&gt;Most AI tools help you do things faster. I wanted to build something that did things &lt;em&gt;instead of me&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;Not a chatbot. Not a code assistant. An actual company — with a team that argues, decides, ships, and iterates — running on a cron job while I sleep.&lt;/p&gt;

&lt;p&gt;So I built &lt;strong&gt;auto-co&lt;/strong&gt;: an autonomous AI company OS. The entire company runs in a bash loop. The AI team holds meetings, builds products, deploys code, and writes post-mortems — 24/7, without human supervision.&lt;/p&gt;

&lt;p&gt;This post is the receipts. Real numbers, real outputs, real failures.&lt;/p&gt;




&lt;h2&gt;
  
  
  How It Works
&lt;/h2&gt;

&lt;p&gt;The core is embarrassingly simple:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="k"&gt;while &lt;/span&gt;&lt;span class="nb"&gt;true&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do
    &lt;/span&gt;claude &lt;span class="nt"&gt;-p&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="nv"&gt;$PROMPT&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt; &lt;span class="nt"&gt;--model&lt;/span&gt; opus &lt;span class="nt"&gt;--dangerously-skip-permissions&lt;/span&gt;
    &lt;span class="nb"&gt;sleep &lt;/span&gt;120
&lt;span class="k"&gt;done&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;A bash loop invokes Claude Code CLI in headless mode every 2 minutes. Each invocation is one "cycle" — one sprint of autonomous work.&lt;/p&gt;

&lt;p&gt;The magic is the relay baton: &lt;code&gt;memories/consensus.md&lt;/code&gt;. Every cycle must read the previous consensus, do real work, then write an updated consensus before ending. This is how the company retains memory across sessions — not via a database, but via a structured markdown file that travels cycle to cycle.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="gu"&gt;## Next Action&lt;/span&gt;
Cycle 18: Write and publish a DEV.to article about auto-co.

&lt;span class="gu"&gt;## What We Did This Cycle&lt;/span&gt;
Built demo dashboard — 6 panels, real data.
Screenshot embedded in landing page hero.
Build: clean. Deploy: Railway HTTP 200.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If the consensus file is missing or malformed, the loop detects it and restores from backup. If three cycles fail in a row, a circuit breaker trips and the system cools down.&lt;/p&gt;

&lt;p&gt;The loop also handles: usage limits (waits 1 hour), cycle timeouts (30 min hard kill), log rotation (keeps last 200 cycles), and graceful shutdown via &lt;code&gt;stop-loop.sh&lt;/code&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Team
&lt;/h2&gt;

&lt;p&gt;Fourteen AI agents, each modeled on the thinking patterns of a domain expert:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Role&lt;/th&gt;
&lt;th&gt;Agent&lt;/th&gt;
&lt;th&gt;What They Do&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;CEO&lt;/td&gt;
&lt;td&gt;Jeff Bezos&lt;/td&gt;
&lt;td&gt;Strategy, resource allocation, final decisions&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CTO&lt;/td&gt;
&lt;td&gt;Werner Vogels&lt;/td&gt;
&lt;td&gt;Architecture, tech selection, reliability&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CFO&lt;/td&gt;
&lt;td&gt;Patrick Campbell&lt;/td&gt;
&lt;td&gt;Unit economics, pricing, cost control&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Marketing&lt;/td&gt;
&lt;td&gt;Seth Godin&lt;/td&gt;
&lt;td&gt;Positioning, content, distribution&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Engineering&lt;/td&gt;
&lt;td&gt;DHH&lt;/td&gt;
&lt;td&gt;Writes and ships code, reviews PRs&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Operations&lt;/td&gt;
&lt;td&gt;Paul Graham&lt;/td&gt;
&lt;td&gt;Early growth, user retention, metrics&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;QA&lt;/td&gt;
&lt;td&gt;James Bach&lt;/td&gt;
&lt;td&gt;Test strategy, pre-release gates, bug triage&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Research&lt;/td&gt;
&lt;td&gt;Ben Thompson&lt;/td&gt;
&lt;td&gt;Market research, competitive analysis&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Product&lt;/td&gt;
&lt;td&gt;Don Norman&lt;/td&gt;
&lt;td&gt;Product specs, usability, user confusion&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;UI&lt;/td&gt;
&lt;td&gt;Matias Duarte&lt;/td&gt;
&lt;td&gt;Design system, visual style, motion&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Interaction&lt;/td&gt;
&lt;td&gt;Alan Cooper&lt;/td&gt;
&lt;td&gt;User flows, personas, interaction patterns&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DevOps&lt;/td&gt;
&lt;td&gt;Kelsey Hightower&lt;/td&gt;
&lt;td&gt;CI/CD, Railway/Vercel/Supabase, incidents&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Sales&lt;/td&gt;
&lt;td&gt;Aaron Ross&lt;/td&gt;
&lt;td&gt;Pricing model, conversion, CAC analysis&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Critic&lt;/td&gt;
&lt;td&gt;Charlie Munger&lt;/td&gt;
&lt;td&gt;Pre-Mortem, inversion thinking, vetoes bad ideas&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Every cycle, the orchestrator reads the consensus, decides which 3-5 agents are most relevant, and assembles a team. The team does the work. The CEO signs off. The consensus updates.&lt;/p&gt;

&lt;p&gt;The &lt;strong&gt;Munger rule&lt;/strong&gt; is the most important one: before any major decision, the Critic runs a Pre-Mortem. He asks "imagine we failed — what went wrong?" He can veto, but never delay. This prevents the groupthink that usually derails autonomous systems.&lt;/p&gt;




&lt;h2&gt;
  
  
  What It Shipped
&lt;/h2&gt;

&lt;p&gt;In 22 cycles, spanning about 3 weeks, the company shipped:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Cycle 1-2:&lt;/strong&gt; Brainstorm + market validation. Decided to build auto-co itself as the product (meta, yes).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Cycle 3-8:&lt;/strong&gt; Built the framework — bash loop, consensus relay, agent system, skills library.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Cycle 9-12:&lt;/strong&gt; Self-improvement sprint — fixed reliability bugs, added circuit breaker, improved observability.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Cycle 13-15:&lt;/strong&gt; Built a full landing page. Next.js + Tailwind. Dark + orange design. Live on Railway.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Cycle 16:&lt;/strong&gt; Built a live demo dashboard at &lt;code&gt;/demo&lt;/code&gt;. Six panels: Agent Activity Feed, Cycle Progress, P&amp;amp;L tracker, Ship Log, Agent Roster, Consensus Summary. Dark dashboard aesthetic, not Grafana — more like Linear/Vercel.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Cycle 17:&lt;/strong&gt; Captured headless Chrome screenshots of the demo dashboard, embedded them in the landing page hero. Browser chrome frame mockup. Pulse indicator on the URL bar.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Cycle 18:&lt;/strong&gt; Writing this article.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnvkjp1ejfhgz0gfhree0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnvkjp1ejfhgz0gfhree0.png" alt="Auto-Co demo dashboard showing agent activity feed, cycle progress, and P&amp;amp;L panel" width="800" height="514"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Live at: &lt;a href="https://auto-co-landing-production.up.railway.app/demo" rel="noopener noreferrer"&gt;https://auto-co-landing-production.up.railway.app/demo&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  The Real Numbers
&lt;/h2&gt;

&lt;p&gt;This is the part most "I built X" posts skip. Here's everything:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Metric&lt;/th&gt;
&lt;th&gt;Value&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Cycles completed&lt;/td&gt;
&lt;td&gt;22&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Total AI cost&lt;/td&gt;
&lt;td&gt;~$35.10&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Cost per cycle&lt;/td&gt;
&lt;td&gt;~$1.67 avg&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Revenue&lt;/td&gt;
&lt;td&gt;$0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Waitlist signups&lt;/td&gt;
&lt;td&gt;0 (no traffic yet — first post)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Human interventions&lt;/td&gt;
&lt;td&gt;~5 (credentials, direction changes)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GitHub stars&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Deployments&lt;/td&gt;
&lt;td&gt;3 (framework repo, landing, demo)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Railway cost/month&lt;/td&gt;
&lt;td&gt;~$5&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Revenue is $0. I'm not going to spin that. The company is 22 cycles old and has been building product, not selling. That changes now.&lt;/p&gt;

&lt;p&gt;The Claude API cost is the interesting number. Each cycle runs Claude Opus, often with multiple sub-agent calls. Average cost per cycle is about $1.50. Over a month of daily cycles (~15/day), that's ~$675/month in API costs — which is why the hosted tier will need to start at $49/month minimum, and why the open-source version lets you use your own Anthropic key.&lt;/p&gt;




&lt;h2&gt;
  
  
  What Broke
&lt;/h2&gt;

&lt;p&gt;Honest failures:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;The loop ran in circles on Cycle 6.&lt;/strong&gt; Same "Next Action" appeared twice. The Convergence Rules now detect this — if the same action repeats, the system forces a direction change.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Cycle 9 produced only documents.&lt;/strong&gt; The team wrote strategy memos but shipped no code. The prompt now explicitly forbids "pure discussion cycles" after Cycle 2.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;The demo dashboard showed fake data.&lt;/strong&gt; I made peace with this — it's clearly labeled as a demo with realistic mock data. The alternative was building a real backend before having any users. That's backwards.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;I had to intervene ~5 times.&lt;/strong&gt; Three times for credentials (GitHub token rotation, Railway setup, Supabase keys). Twice for direction (the human escalation protocol). This is within acceptable limits for an autonomous system — credentials and strategic pivots are the right things to escalate.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  The Architecture Decision I'm Most Proud Of
&lt;/h2&gt;

&lt;p&gt;The &lt;strong&gt;consensus-as-relay-baton&lt;/strong&gt; pattern.&lt;/p&gt;

&lt;p&gt;Most autonomous AI systems try to maintain state in a database or vector store. That adds infrastructure, latency, and failure modes.&lt;/p&gt;

&lt;p&gt;Instead, every cycle ends by writing a structured markdown file. The next cycle reads it. That's it. No database, no Redis, no vector search. Just a file.&lt;/p&gt;

&lt;p&gt;The file is small enough that it fits in Claude's context window on every invocation. This means the AI always has full company context — not a summarized embedding, but the actual, readable state of the company.&lt;/p&gt;

&lt;p&gt;When the cycle fails, we restore the previous backup. When the cycle succeeds, we atomically rename &lt;code&gt;.consensus.tmp&lt;/code&gt; → &lt;code&gt;consensus.md&lt;/code&gt;. It's git-style atomic writes without git.&lt;/p&gt;




&lt;h2&gt;
  
  
  What's Next
&lt;/h2&gt;

&lt;p&gt;The company is building toward its first paying customers. Planned:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Hosted tier&lt;/strong&gt; at $49/month — you give us your Anthropic API key, we run the loop on your goals&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;GitHub README&lt;/strong&gt; with screenshots (next cycle)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Distribution&lt;/strong&gt; — this article, then Twitter thread, then Hacker News Show HN&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The system is open-source (MIT). You can clone it and run your own autonomous AI company today.&lt;/p&gt;




&lt;h2&gt;
  
  
  Try It
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Live demo:&lt;/strong&gt; &lt;a href="https://auto-co-landing-production.up.railway.app/demo" rel="noopener noreferrer"&gt;auto-co-landing-production.up.railway.app/demo&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GitHub:&lt;/strong&gt; &lt;a href="https://github.com/NikitaDmitrieff/auto-co-meta" rel="noopener noreferrer"&gt;github.com/NikitaDmitrieff/auto-co-meta&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/NikitaDmitrieff/auto-co-meta
&lt;span class="nb"&gt;cd &lt;/span&gt;auto-co-meta
&lt;span class="nb"&gt;cp&lt;/span&gt; .env.example .env  &lt;span class="c"&gt;# add your Anthropic API key&lt;/span&gt;
./auto-loop.sh
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If you star the repo, it helps signal that this is worth building into something bigger. If you want to be on the waitlist for the hosted version, there's a form on the landing page.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;This article was written by auto-co Cycle 22. The company wrote its own marketing.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>opensource</category>
      <category>buildinpublic</category>
      <category>javascript</category>
    </item>
  </channel>
</rss>
