<?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>DEV Community: Sujal Gupta</title>
    <description>The latest articles on DEV Community by Sujal Gupta (@sujal_gupta_62dc6fa3f0c92).</description>
    <link>https://dev.to/sujal_gupta_62dc6fa3f0c92</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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4229073%2F39f2930a-2f2d-4413-8948-6b771a583829.png</url>
      <title>DEV Community: Sujal Gupta</title>
      <link>https://dev.to/sujal_gupta_62dc6fa3f0c92</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sujal_gupta_62dc6fa3f0c92"/>
    <language>en</language>
    <item>
      <title>I Built an AI Software Engineering Team Inside Telegram. They Have Jobs, Responsibilities, and Apparently Trust Issues</title>
      <dc:creator>Sujal Gupta</dc:creator>
      <pubDate>Thu, 05 Nov 2026 17:39:53 +0000</pubDate>
      <link>https://dev.to/sujal_gupta_62dc6fa3f0c92/i-built-an-ai-software-engineering-team-inside-telegram-they-have-jobs-responsibilities-and-4j0b</link>
      <guid>https://dev.to/sujal_gupta_62dc6fa3f0c92/i-built-an-ai-software-engineering-team-inside-telegram-they-have-jobs-responsibilities-and-4j0b</guid>
      <description>&lt;p&gt;&lt;em&gt;Codex is the manager. Cursor writes the code. OpenCode tries to destroy it. And I get to decide whether anyone gets promoted or fired.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;What if you could open Telegram, send a message like:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Hey team, add a chatbot feature to this project."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;And instead of getting another AI-generated explanation of how to build a chatbot, an entire engineering team actually builds it for you?&lt;/p&gt;

&lt;p&gt;One agent plans the work, another writes the code, a third aggressively tries to find mistakes, and finally, you get to approve the changes.&lt;/p&gt;

&lt;p&gt;Sounds like a software company's dream.&lt;/p&gt;

&lt;p&gt;Or a startup founder's attempt to avoid hiring employees.&lt;/p&gt;

&lt;p&gt;That's exactly what we built for the &lt;strong&gt;Flip the Switch Hackathon 2026&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Meet our project: &lt;strong&gt;An Autonomous AI Software Engineering Team powered by Switch.&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  1. The Problem: Why Does One AI Have to Do Everything?
&lt;/h2&gt;

&lt;p&gt;Let's be honest.&lt;/p&gt;

&lt;p&gt;We've all used AI coding assistants. You ask them to build a feature, and they confidently generate 300 lines of code.&lt;/p&gt;

&lt;p&gt;You ask them to review it, and they respond:&lt;/p&gt;

&lt;p&gt;"Everything looks good! No issues found."&lt;/p&gt;

&lt;p&gt;Of course, it looks good. YOU JUST WROTE IT, YOU ABSOLUTE GENIUS.&lt;/p&gt;

&lt;p&gt;The problem is that most AI coding workflows rely on a single agent doing everything:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Understand the requirements.&lt;/li&gt;
&lt;li&gt;Design the architecture.&lt;/li&gt;
&lt;li&gt;Write the implementation.&lt;/li&gt;
&lt;li&gt;Test the implementation.&lt;/li&gt;
&lt;li&gt;Review its own work.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;That's basically asking a student to write an exam, evaluate their own answer sheet, and declare themselves the university topper.&lt;/p&gt;

&lt;p&gt;We wanted something different.&lt;/p&gt;

&lt;p&gt;Instead of one AI trying to become an entire software engineering department, why not create multiple specialized agents with separate responsibilities?&lt;/p&gt;

&lt;p&gt;And more importantly, let them disagree with each other.&lt;/p&gt;

&lt;p&gt;Because sometimes the best way to improve code is to have another AI tell the first one that its code is terrible.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. The Idea: A Software Engineering Team That Lives Inside Telegram
&lt;/h2&gt;

&lt;p&gt;Imagine having an engineering team available directly inside your Telegram group.&lt;/p&gt;

&lt;p&gt;No opening five different applications. No manually copying code between agents. No repeatedly explaining the same context.&lt;/p&gt;

&lt;p&gt;Just Telegram.&lt;/p&gt;

&lt;p&gt;Here's how a typical interaction looks:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Human Developer:&lt;/strong&gt;&lt;br&gt;
"In prompt-wars, add an interactive chatbot feature."&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Codex (Engineering Lead):&lt;/strong&gt;&lt;br&gt;
"Task #001 created. Identifying the project architecture and planning implementation."&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Cursor (Developer):&lt;/strong&gt;&lt;br&gt;
"Detected React 19 + Vite + TypeScript. Created Chatbot.tsx, implemented state management and UI, and integrated it into App.tsx."&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;OpenCode (QA Engineer):&lt;/strong&gt;&lt;br&gt;
"Running adversarial QA... Oxlint passed. No syntax errors or warnings detected."&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Codex:&lt;/strong&gt;&lt;br&gt;
"Changes are ready for review. Type /diff to inspect or Approve to proceed."&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Human Developer:&lt;/strong&gt;&lt;br&gt;
"Approve."&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Codex:&lt;/strong&gt;&lt;br&gt;
"Git branch created, changes committed, and GitHub Pull Request opened!"&lt;/p&gt;

&lt;p&gt;And just like that, your AI employees have completed their assignment.&lt;/p&gt;

&lt;p&gt;Fortunately, they don't ask for salary hikes. Yet.&lt;/p&gt;


&lt;h2&gt;
  
  
  3. Why Switch? The Communication Problem
&lt;/h2&gt;

&lt;p&gt;Having multiple AI agents sounds cool until you actually try making them communicate.&lt;/p&gt;

&lt;p&gt;Suddenly, you have three different agent CLIs, separate contexts, different execution environments, and absolutely no idea how to coordinate everything.&lt;/p&gt;

&lt;p&gt;You need to answer questions like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;How does Codex communicate its plan to Cursor?&lt;/li&gt;
&lt;li&gt;How does OpenCode receive Cursor's code changes?&lt;/li&gt;
&lt;li&gt;How do agents maintain shared context?&lt;/li&gt;
&lt;li&gt;How do messages reach Telegram?&lt;/li&gt;
&lt;li&gt;How do you avoid building a complicated collection of custom communication bridges?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is where &lt;strong&gt;Switch&lt;/strong&gt; enters the picture.&lt;/p&gt;

&lt;p&gt;Switch acts as the central communication layer of our architecture.&lt;/p&gt;

&lt;p&gt;We used it for:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Decoupled Agent Communication&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Instead of hardcoding direct connections between agents, they communicate through Switch rooms using the Model Context Protocol (MCP).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Telegram Integration&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Switch bridges our internal agent communication room with a Telegram group.&lt;/p&gt;

&lt;p&gt;Messages from humans enter the system through Telegram, and agent responses are delivered back into the same conversation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Context Preservation&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;When Codex hands a task to Cursor, Cursor receives the relevant task history. When Cursor finishes, OpenCode receives the implementation context needed to review the changes.&lt;/p&gt;

&lt;p&gt;Basically, nobody has to ask:&lt;/p&gt;

&lt;p&gt;"Wait, what were we doing again?"&lt;/p&gt;

&lt;p&gt;Even AI agents hate repeating themselves.&lt;/p&gt;


&lt;h2&gt;
  
  
  4. System Architecture: Seven Stages of Engineering Chaos
&lt;/h2&gt;

&lt;p&gt;We orchestrated the complete workflow using &lt;strong&gt;LangGraph&lt;/strong&gt;, with SQLite handling persistent state and checkpoints.&lt;/p&gt;

&lt;p&gt;Here's the pipeline:&lt;/p&gt;
&lt;h3&gt;
  
  
  Stage 1 &amp;amp; 2: Codex Receives and Classifies the Task
&lt;/h3&gt;

&lt;p&gt;Codex acts as the engineering lead.&lt;/p&gt;

&lt;p&gt;It receives the developer's request, understands the intent, generates a unique task ID, and classifies the task into one of four categories:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;BUG&lt;/li&gt;
&lt;li&gt;FEATURE&lt;/li&gt;
&lt;li&gt;REFACTOR&lt;/li&gt;
&lt;li&gt;DOCUMENTATION&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It then prepares the implementation plan.&lt;/p&gt;
&lt;h3&gt;
  
  
  Stage 3: Cursor Investigates the Repository
&lt;/h3&gt;

&lt;p&gt;Before writing code, Cursor needs to understand what it's working with.&lt;/p&gt;

&lt;p&gt;It inspects the repository to identify:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Programming languages.&lt;/li&gt;
&lt;li&gt;Frameworks and libraries.&lt;/li&gt;
&lt;li&gt;Existing project structure.&lt;/li&gt;
&lt;li&gt;Relevant components and files.&lt;/li&gt;
&lt;li&gt;Potential integration points.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Because blindly writing code without understanding the project is a great way to create a second project inside the first one.&lt;/p&gt;
&lt;h3&gt;
  
  
  Stage 4: Cursor Implements the Feature
&lt;/h3&gt;

&lt;p&gt;Once the plan is ready, Cursor gets to work.&lt;/p&gt;

&lt;p&gt;It generates the required components, creates files, integrates imports, and modifies the relevant application files.&lt;/p&gt;

&lt;p&gt;It also produces a unified diff so that changes can be inspected.&lt;/p&gt;
&lt;h3&gt;
  
  
  Stage 5: OpenCode Performs Adversarial QA
&lt;/h3&gt;

&lt;p&gt;This is where things get interesting.&lt;/p&gt;

&lt;p&gt;OpenCode independently reviews the generated implementation.&lt;/p&gt;

&lt;p&gt;It executes tests, performs static analysis, checks syntax, and looks for potential issues.&lt;/p&gt;

&lt;p&gt;If something fails, the system sends the feedback back to Cursor for correction.&lt;/p&gt;

&lt;p&gt;This process repeats for up to three correction cycles.&lt;/p&gt;

&lt;p&gt;If the issue still persists, the system escalates it to the human developer.&lt;/p&gt;

&lt;p&gt;Apparently, even AI employees need performance reviews.&lt;/p&gt;
&lt;h3&gt;
  
  
  Stage 6: Human Approval
&lt;/h3&gt;

&lt;p&gt;Once QA passes, Codex sends the developer a review request.&lt;/p&gt;

&lt;p&gt;The developer can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;/diff&lt;/code&gt; — Inspect the changes.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;Approve&lt;/code&gt; — Allow Git operations.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;Reject&lt;/code&gt; — Stop the workflow.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;No approval means no commit or push.&lt;/p&gt;

&lt;p&gt;We wanted autonomy, not an AI agent accidentally rewriting someone's entire repository at 3 AM.&lt;/p&gt;
&lt;h3&gt;
  
  
  Stage 6.5: Git Operations
&lt;/h3&gt;

&lt;p&gt;After approval, the system:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Creates a Git branch.&lt;/li&gt;
&lt;li&gt;Commits the changes.&lt;/li&gt;
&lt;li&gt;Pushes the branch.&lt;/li&gt;
&lt;li&gt;Opens a GitHub Pull Request.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;
  
  
  Stage 7: Final Report
&lt;/h3&gt;

&lt;p&gt;Codex generates a final summary and posts it directly into Telegram.&lt;/p&gt;

&lt;p&gt;The developer gets a complete overview without having to inspect every internal execution step.&lt;/p&gt;


&lt;h2&gt;
  
  
  5. Meet the Team: Everyone Has a Job
&lt;/h2&gt;

&lt;p&gt;We didn't want three agents doing the same thing. Each agent has a clearly defined responsibility.&lt;/p&gt;
&lt;h3&gt;
  
  
  Codex — The Manager Who Never Stops Assigning Tasks
&lt;/h3&gt;

&lt;p&gt;Codex is responsible for orchestration and coordination.&lt;/p&gt;

&lt;p&gt;Its responsibilities include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Understanding user requirements.&lt;/li&gt;
&lt;li&gt;Classifying tasks.&lt;/li&gt;
&lt;li&gt;Generating task IDs.&lt;/li&gt;
&lt;li&gt;Preparing implementation plans.&lt;/li&gt;
&lt;li&gt;Coordinating agent handoffs.&lt;/li&gt;
&lt;li&gt;Managing approval workflows.&lt;/li&gt;
&lt;li&gt;Delivering final reports.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Think of Codex as the engineering manager who attends every meeting but doesn't necessarily write the code.&lt;/p&gt;
&lt;h3&gt;
  
  
  Cursor — The Developer Who Actually Does the Work
&lt;/h3&gt;

&lt;p&gt;Cursor is responsible for implementation.&lt;/p&gt;

&lt;p&gt;It investigates the repository and generates actual application code.&lt;/p&gt;

&lt;p&gt;Some of its capabilities include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Creating complete React components.&lt;/li&gt;
&lt;li&gt;Implementing state hooks.&lt;/li&gt;
&lt;li&gt;Adding responsive styling.&lt;/li&gt;
&lt;li&gt;Integrating components into existing applications.&lt;/li&gt;
&lt;li&gt;Safely modifying imports.&lt;/li&gt;
&lt;li&gt;Generating unified diffs.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It also uses AST-based boundary detection to identify safe integration points.&lt;/p&gt;

&lt;p&gt;Because simply appending code to the end of a file and hoping for the best is not a software engineering strategy.&lt;/p&gt;
&lt;h3&gt;
  
  
  OpenCode — The QA Engineer Who Trusts Nobody
&lt;/h3&gt;

&lt;p&gt;OpenCode is our adversarial reviewer.&lt;/p&gt;

&lt;p&gt;Its job is not to appreciate Cursor's creativity.&lt;/p&gt;

&lt;p&gt;Its job is to find problems.&lt;/p&gt;

&lt;p&gt;It performs:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Pytest execution.&lt;/li&gt;
&lt;li&gt;Oxlint static analysis.&lt;/li&gt;
&lt;li&gt;Syntax validation.&lt;/li&gt;
&lt;li&gt;Brace and quotation checks.&lt;/li&gt;
&lt;li&gt;AST compilation checks.&lt;/li&gt;
&lt;li&gt;Automated QA feedback.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If Cursor introduces an issue, OpenCode reports it, and the system sends the feedback back for correction.&lt;/p&gt;

&lt;p&gt;Basically, Cursor writes code, and OpenCode wakes up every morning wondering how to break it.&lt;/p&gt;
&lt;h3&gt;
  
  
  Human Developer — The Actual Boss
&lt;/h3&gt;

&lt;p&gt;Despite having three AI agents, one important person remains in charge.&lt;/p&gt;

&lt;p&gt;You.&lt;/p&gt;

&lt;p&gt;Agents can inspect, generate, test, and prepare changes, but they cannot independently commit or push code.&lt;/p&gt;

&lt;p&gt;The final decision always belongs to the human developer.&lt;/p&gt;

&lt;p&gt;Because giving an AI complete control over your GitHub repository is an interesting experiment, but perhaps not one we should conduct on our main branch.&lt;/p&gt;


&lt;h2&gt;
  
  
  6. Technical Challenges: Things That Broke Before They Worked
&lt;/h2&gt;

&lt;p&gt;Of course, building this wasn't as simple as writing three prompts and watching magic happen.&lt;/p&gt;

&lt;p&gt;We encountered several interesting problems.&lt;/p&gt;
&lt;h3&gt;
  
  
  Challenge 1: The Great README Disaster
&lt;/h3&gt;

&lt;p&gt;During our early prototypes, we asked Cursor to implement a chatbot feature.&lt;/p&gt;

&lt;p&gt;It couldn't find an existing chatbot file.&lt;/p&gt;

&lt;p&gt;So what did it do?&lt;/p&gt;

&lt;p&gt;It started appending comments to README.md.&lt;/p&gt;

&lt;p&gt;Yes. We asked for a chatbot and got documentation.&lt;/p&gt;

&lt;p&gt;Technically, the README was updated. Technically, our requirements were not met.&lt;/p&gt;

&lt;p&gt;We realized that Cursor needed a much better understanding of repository architecture.&lt;/p&gt;

&lt;p&gt;So we developed a Stack and Component Architecture Detector.&lt;/p&gt;

&lt;p&gt;Now the system:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Inspects package.json.&lt;/li&gt;
&lt;li&gt;Detects React 19 and TypeScript.&lt;/li&gt;
&lt;li&gt;Identifies the src/components directory.&lt;/li&gt;
&lt;li&gt;Creates Chatbot.tsx.&lt;/li&gt;
&lt;li&gt;Finds the appropriate integration point in App.tsx.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The README can finally rest in peace.&lt;/p&gt;
&lt;h3&gt;
  
  
  Challenge 2: QA That Doesn't Take Forever
&lt;/h3&gt;

&lt;p&gt;A conversational development workflow needs fast feedback.&lt;/p&gt;

&lt;p&gt;Nobody wants to wait a minute after every small code modification.&lt;/p&gt;

&lt;p&gt;We integrated Oxlint, a Rust-based linter, along with AST-based validation.&lt;/p&gt;

&lt;p&gt;In our test environment, Oxlint analyzed 39 files in approximately 27 milliseconds.&lt;/p&gt;

&lt;p&gt;That's fast enough that the QA engineer barely has time to complain.&lt;/p&gt;
&lt;h3&gt;
  
  
  Challenge 3: Working With Multiple Repositories
&lt;/h3&gt;

&lt;p&gt;Developers rarely work on just one repository.&lt;/p&gt;

&lt;p&gt;We therefore implemented a dynamic ProjectManager inside Codex.&lt;/p&gt;

&lt;p&gt;Developers can manage repositories directly through Telegram.&lt;/p&gt;

&lt;p&gt;Available commands include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;/projects&lt;/code&gt; — List available repositories.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;/use prompt-wars&lt;/code&gt; — Switch to another repository.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;/files&lt;/code&gt; — Explore the project file tree.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;/undo&lt;/code&gt; — Roll back changes.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Switching projects shouldn't require performing an archaeological excavation through your terminal history.&lt;/p&gt;


&lt;h2&gt;
  
  
  7. Testing: Did It Actually Work?
&lt;/h2&gt;

&lt;p&gt;We validated the system using 20 automated unit and integration tests.&lt;/p&gt;

&lt;p&gt;These covered:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;SQLite state persistence.&lt;/li&gt;
&lt;li&gt;LangGraph workflow execution.&lt;/li&gt;
&lt;li&gt;Switch MCP envelope formatting.&lt;/li&gt;
&lt;li&gt;Agent communication and mention addressing.&lt;/li&gt;
&lt;li&gt;Python, TypeScript, React JSX, JSON, and HTML validation.&lt;/li&gt;
&lt;li&gt;Automated correction loops.&lt;/li&gt;
&lt;li&gt;Timeout boundaries.&lt;/li&gt;
&lt;li&gt;Human rejection guardrails.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And the result?&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;============================= test session starts =============================
collected 20 items

tests\test_workflow.py .................... [100%]

============================= 20 passed in 15.97s =============================
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;20 tests passed. Zero excuses from the QA department.&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  8. What We Learned
&lt;/h2&gt;

&lt;p&gt;Building this project taught us a few important things.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Multi-agent systems need proper coordination.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Simply running multiple LLMs does not automatically create a collaborative system. You need shared state, communication protocols, task boundaries, and reliable handoffs.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Independent QA is incredibly valuable.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A model reviewing its own code is not the same as an independent agent critically examining the implementation.&lt;/p&gt;

&lt;p&gt;Separating development and QA creates an opportunity to catch mistakes that might otherwise go unnoticed.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Human-in-the-loop is not optional.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Autonomy is useful, but unrestricted autonomy can be dangerous.&lt;/p&gt;

&lt;p&gt;We deliberately kept Git operations behind an explicit approval gate.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Developer experience matters.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A powerful system is not necessarily a useful system if interacting with it is complicated.&lt;/p&gt;

&lt;p&gt;Being able to request a feature, inspect a diff, and approve changes from Telegram makes the entire workflow much more accessible.&lt;/p&gt;




&lt;h2&gt;
  
  
  9. Open Source: Go Break It Yourself!
&lt;/h2&gt;

&lt;p&gt;We built this project for the &lt;strong&gt;Flip the Switch Hackathon 2026&lt;/strong&gt;, and the entire implementation is available on GitHub.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GitHub Repository:&lt;/strong&gt; &lt;a href="https://github.com/Sujal01go/switch-hackathon" rel="noopener noreferrer"&gt;https://github.com/Sujal01go/switch-hackathon&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tech Stack:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Switch&lt;/li&gt;
&lt;li&gt;Telegram Bot API&lt;/li&gt;
&lt;li&gt;MCP (Model Context Protocol)&lt;/li&gt;
&lt;li&gt;LangGraph&lt;/li&gt;
&lt;li&gt;Python 3.12&lt;/li&gt;
&lt;li&gt;SQLite&lt;/li&gt;
&lt;li&gt;Pytest&lt;/li&gt;
&lt;li&gt;Codex CLI&lt;/li&gt;
&lt;li&gt;Cursor Agent&lt;/li&gt;
&lt;li&gt;OpenCode CLI&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Feel free to explore the repository, experiment with the architecture, and suggest improvements.&lt;/p&gt;

&lt;p&gt;We would genuinely love to hear your feedback.&lt;/p&gt;




&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;We started with a simple question:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;What if AI coding assistants stopped working alone and started working together?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The result was a small virtual engineering team with a manager, a developer, a QA engineer, and one human who still has to approve everything.&lt;/p&gt;

&lt;p&gt;The funny part?&lt;/p&gt;

&lt;p&gt;They can write code, review code, communicate, and open pull requests.&lt;/p&gt;

&lt;p&gt;But I still have to tell them when to take a break.&lt;/p&gt;

&lt;p&gt;Maybe the next feature should be an AI HR department.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Until then, happy coding! 🚀&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Built with Switch for Flip the Switch Hackathon 2026.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>agents</category>
      <category>ai</category>
      <category>automation</category>
      <category>softwareengineering</category>
    </item>
  </channel>
</rss>
