Inspiration

Cursor built cloud agents you can trigger from Slack, GitHub, or their own app. But every option requires switching editors, installing something new, or paying for a subscription. We wanted the same workflow with zero friction: no new app, no IDE switch, just text a message on a platform you already have open.

What it does

Bopple is an AI coding agent you control from Telegram. Send a task in plain English and Bopple:

  • Clones your GitHub repo into an isolated cloud VM
  • Runs a Claude-powered agent loop that reads your codebase, writes code, and runs tests
  • Commits the changes and opens a real GitHub pull request
  • Pings you on Telegram with the PR link when it's ready
  • Lets you reply with feedback to iterate on the same PR

Nothing ever touches your main branch without your review.

How we built it

The core loop runs on Trigger.dev for durable background jobs, E2B for isolated cloud VMs, and Anthropic's Claude for the agent's tool-calling loop (bash, read file, write file, list files). Supabase handles auth, data, and real-time dashboard updates with row-level security. The GitHub integration uses Octokit to clone, branch, and open PRs programmatically. Telegram's Bot API is the primary trigger surface, with a full dashboard as a secondary interface.

Challenges we ran into

Getting a stateful, long-running agent to work reliably across a distributed system was the hardest part. We hit sandbox session expiry, model versioning mismatches, GitHub OAuth callback misconfigurations, and had to sync status updates across three separate systems: the E2B VM, the Trigger.dev job, and the Telegram bot, all while keeping the dashboard and Telegram in sync as a single source of truth.

What we learned

Building an AI agent with real tool access is a distributed systems problem before it's an AI problem. The reliability of the VM lifecycle, the job queue, and the notification layer mattered more than the intelligence of the model itself.

What's next for Bopple

Live screenshot previews after every PR so you can see your app running before you review the diff. Support for WhatsApp and iMessage alongside Telegram. Multi-repo tasks in a single message.

Built With

Share this project:

Updates