Ask more, code less.
An AI agent changes your site or app from a conversation on Telegram or the web, shows you a staging preview and only ships once you approve. Open source, in your own Cloudflare account.
From request to production in one conversation
Sample conversation
- You: Make the “Buy” button green and add Pix as a payment method.
- bohr: Got it. I'm updating the checkout on the staging branch…
- bohr: Done! Here's how it looks: Staging preview: store-staging.workers.dev
- You tapped “Approve”.
- bohr: Live in production ✅ PR #42 merged. If you need to, just send /rollback.

How it works
Connect
Link your Cloudflare account, your GitHub repository and your Anthropic key. Your keys go straight to your own account.
Ask
Describe the change the way you'd explain it to a developer, on Telegram or on the web.
Review
The agent edits the code in an isolated environment and sends you the staging link. Iterate as many times as you like.
Approve
One tap opens the PR, merges it and GitHub Actions ships it. Something went wrong?
/rollbackbrings back the previous version.
Your bohr, on your infrastructure
bohr is open source under the MIT license. Install your own instance in your Cloudflare account in minutes and use it with your team or your clients.
- The Deploy to Cloudflare button or
npx wrangler deploy - One instance for many users and projects
- No dependency on bohr.io: the code is yours
- Contributions are welcome on GitHub
git clone https://github.com/bohr-io/bohr
cd bohr && pnpm install
npx wrangler deploy
Everything runs in your accounts
The instance is a thin control plane. Each project's code, data and messages stay in the user's own accounts, and every provider is paid directly.
The instance only stores your Cloudflare token, encrypted, and the GitHub App installation.
You decide what goes to production
- Nothing reaches production without approval: every change goes through a staging environment with its own URL.
- Owner and members: invite people with a code and revoke access whenever you want.
- Each project gets its own isolated sandbox; nothing is shared between projects.
- Least-privilege tokens, encrypted, with every use logged.
- Roll back with a single command.
Bring your stack
When you import a project, the agent reads the repository and decides where each piece runs. Anything without a home becomes a warning, never a broken deploy.
| In the repository | In production |
|---|---|
| JS/TS or Python | Worker |
| Dockerfile | Container |
| Compose with several services | One container per service |
| Postgres | Neon, through Hyperdrive |
| Redis | Upstash |
| Queues (BullMQ, Celery…) | Cloudflare Queues |
| Files written to disk | R2 |
Choose how to use it
Self-hosted
Free
Install it in your Cloudflare account
- Every feature
- Unlimited users and projects
- You pay for infrastructure directly: from US$5/month on Cloudflare, plus Anthropic tokens
bohr.io Cloud
US$20/month
bohr runs the instance; your projects run in your Cloudflare account
- Nothing to install
- Projects run in your Cloudflare account
- You pay providers directly for infrastructure
Prices in US dollars. On both plans, you pay for infrastructure (Cloudflare and Anthropic tokens) directly to the providers.
Already a bohr customer?
Your projects already run on the new version, with the same domains and the same price. To use the agent, just add your Anthropic key. Whenever you want, move each project to your own Cloudflare account from the panel.
Frequently asked questions
Do I need to know how to code?
Not to request changes: you describe what you want and approve the result. To install your own instance, it helps to know the basics of Cloudflare and GitHub.
How much does it cost?
Self-hosted is free; the agent needs Cloudflare's Workers Paid plan (US$5/month) on your account. bohr.io Cloud costs US$20/month and works with a free Cloudflare account. Either way, you pay for your infrastructure directly to the providers: what your sites use on Cloudflare, container usage when the agent runs in your account, and Anthropic tokens.
Where does my data live?
In your accounts. The code lives in your GitHub, projects run in your Cloudflare account and databases live in your Neon or Upstash. The instance only stores your Cloudflare token, encrypted.
Does it work without Telegram?
Yes. The web interface has the same chat as the bot, with the staging preview right next to it.
Which AI model does the agent use?
Claude, by Anthropic, with your own key. You choose the model for each project.
What if the AI gets it wrong?
Nothing goes to production without your approval. You review everything on staging, ask for changes or discard it. After shipping, /rollback brings back the previous version.
What's the difference between self-hosted and Cloud?
With self-hosted, you install and run the instance. With Cloud, bohr runs the instance for you. In both, your projects run in your Cloudflare account.