Royei Shaabon
← All work

AI dev team

Can a manual back-and-forth with one AI tool be replaced by a coordinated system of agents, with one control point in Telegram and a clear chain of review?

Period
Feb–Aug 2026
Status
Architecture implemented in experiments, including output to GitHub
Role
Independent: product, architecture, build

Shipping a digital product takes a chain of hats: task definition, architecture, frontend, backend, QA, fixes until merge. With a single AI tool, I'm the one carrying context between steps, and that's the bottleneck.

  • Telegram
  • StateGraph
  • TeamState
  • Python
  • Redis
  • LangGraph
  • GitHub PR
  1. Telegram IntakeA business requirement or dev task. Gate: clarifying questions if needed
  2. OrchestratorBreakdown, routing, agent selection
  3. Architect (on demand)Only for structure, DB or dependency changes
  4. FE / BE WorkersWrite code within the defined context, with logs, files, status
  5. Deterministic QABuild, tests, lint. Failure goes back to the orchestrator to re-plan
  6. QA LLMDoes the output meet the requirement? Reasoned PASS/FAIL
  7. Decision in TelegramMERGE / REJECT / HOLD. The human decides
  8. GitHub PR MergeChanges merge only after approval

A shared TeamState holds context, decisions and blockers. Agents don't chat freely with each other: information flows through the state.

WhenWhat happenedWhat it taught
Feb 2026Architecture research, orchestrator vs. tech lead, budget and token capsSeparate product governance from engineering
Apr 2026Python/Redis/LangGraph build with Product, TL, FE, BE, QA, DevOps, Architect agentsAgents and routing worked, no end-to-end proof yet
Apr 2026Sign-up page test failed: GitHub clone 403, empty workspaces, retries with no commitEnvironment, observability and stop conditions are part of the product
Aug 2026StateGraph + TeamState, two-layer QA, loop back to orchestrator, Telegram approvals, GitHub PRA mature, documented architecture

A chat that only says “done” hides failures. So I defined structured events, each with a task_id and context, so my reply returns to the right agent instead of getting lost as a new message.

  • TASK_CREATED
  • ROUTING_DECISION
  • AGENT_UPDATE
  • HANDOFF
  • QUESTION_FOR_HUMAN
  • BLOCKER
  • QA_RESULT
  • Less noise: short stage summaries instead of every token
  • More control: PAUSE / RESUME / APPROVE / REJECT
  • Resource control: iteration and budget caps, loop stopping
  • Audit trail: who decided, which file changed, what QA said
AlternativeWhat it offersHow mine differs
Claude Code / Codex / CursorA strong coding environment with one agentMultiple roles and external governance via Telegram
Devin / JulesAutonomous development in various formsCustom control over routing, QA and merge conditions
GitHub CopilotBuilt into the developer's workflowA whole team, not code completion
CrewAI / LangGraphOrchestration frameworksLangGraph was a building block, not a competitor

The open question: do several agents really beat one strong coding agent on ROI? Without a rigorous comparison on quality, bugs, time, cost and intervention, I have no grounded claim of superiority, and I don't make one.

NextOperational systems →