Skip to content

Introducing Estelle, your agents’ self-improving software factory.

Estelle is the infrastructure your agents use to build their own software factory. Talk to it from Slack, Linear or your phone: it builds and tests every change in its own Silo, then follows your code into production and comes back with a fix when something breaks. We’re building one platform for the whole software development lifecycle.

Keep payment identity across retriesRunning

Customers on a flaky connection get charged twice when checkout retries. Keep the payment identity the same across retries.

retryCheckout() mints a new key on every call, and the retry calls it again

Read shop/checkout.js

Find every caller of retryCheckout

Edited shop/checkout.js+1 −1

Ran npm test · 7 passed

Subagents

Check the refund path for the same bugRunning · 6m13s

Found it. retryCheckout() in shop/checkout.js:3 called payments.newAttemptKey() on every attempt, so the retry sent the provider a new key and it charged again. It now reuses order.paymentKey, and a regression test sends the same order twice.

#1Keep payment identity across retriesOpenOpen on GitHub

1 changed file +1 −1

shop/checkout.js
11 // One payment identity, even when the request is retried.
22 function retryCheckout(order, payments) {
3− const key = payments.newAttemptKey();
3+ const key = order.paymentKey;
44 return payments.charge(order.total, key);
55 }
Demo data from uqeu/estelle-demo-homepage

Trusted by engineering teams at

The whole factory, in one place.

Follows your code into production

Estelle watches errors, logs and uptime, traces each issue to the change that likely caused it, pages you, and comes back with a fix as a pull request you merge.

Builds and tests in its own Silo

Every task gets a clean sandbox with your repository in it, where Estelle installs, runs the tests and checks its own work.

Joins the thread when you @Estelle

Ask from Slack, Linear or your phone. Estelle reads the thread, answers follow-ups and gets to work.

Knows how your whole system fits

Atlas maps every repository you connect, so each agent starts from how your code actually works.

Runs your recurring work on its own

Automations handle failed CI, dependency drift and new bug reports on a schedule, each in its own Silo.

One loop, from the first prompt to production.

Estelle follows your code all the way into production, and brings what it finds there back to the start of the loop.

~/src/activity.js

Reads your repository

Every file, symbol and caller is checked against your real code before the agent writes a line.

retry.test.jsfailing

Tests in its own Silo

Each agent runs your test suite in a sandbox and keeps going until the failing test passes.

POST /orderscharged twice

Fixes production errors

When an error starts firing in production, it traces the call, opens the fix as a pull request and watches the error clear.

Use any model.
The factory runs on all of them.

Bring a key from a provider you already pay for and that provider bills you directly, with no second charge from us. Point the CLI at your own endpoint and the weights never leave your machine. Every paid plan includes Estelle’s own inference, so you do not need a key to start.

  • Claude
  • GPT
  • Gemini
  • Grok
  • Kimi
  • DeepSeek
  • Qwen
  • Llama
  • GLM
  • Mistral
  • GPT-OSS
  • OpenRouter
  • Ollama
  • LM Studio

Anything else reaches Estelle through OpenRouter, an OpenAI-compatible endpoint, or weights you host yourself.

Built to be trusted with your code.

Your code stays yours, your keys stay yours, and every action Estelle takes on its own is written to a tamper-evident log.