AWS Builder Center

Agents for Humans: Our Hackathon Journey Building Conduit

Our hackathon build journey creating Conduit an open-source multi-agent supervision studio that empowers humans to safely orchestrate parallel coding agents using Amazon Bedrock, the Strands Agents SDK, and Amazon Nova 2 Sonic voice streaming.

Agents for Humans: Our Hackathon Journey Building Conduit with Amazon Bedrock, Strands SDK, and Nova Sonic

When we entered this hackathon, we set out to tackle one of the most pressing yet overlooked frontiers in generative AI: how do humans meaningfully supervise a fleet of autonomous coding agents?
Running a single coding agent like Claude Code or OpenAI Codex in a terminal window is exhilarating. But the moment you attempt to scale up running five or six autonomous agents simultaneously across different repositories, refactoring microservices, debugging unit tests, and preparing deployment configurations the development paradigm fractures.
The bottleneck in modern agentic software development is no longer compute; it is human attention. When multiple agents output hundreds of lines of terminal logs each minute, no human engineer can keep up. Important questions get buried in scrollback, silent failures slip past unnoticed, and dangerous operations like accidental database drops or force-pushes happen before anyone can intervene.
We asked ourselves a core question: If AI agents are meant to work for humans, how do we build an interface where the human remains firmly in command without being buried in noise?
That question gave birth to our hackathon project: Conduit - an open-source multi-agent studio and real-time supervision cockpit built entirely on AWS.
Here is the story of our build journey, the architecture we engineered, the hurdles we navigated, and how Amazon Bedrock, the Strands Agents SDK, and Amazon Nova 2 Sonic made it possible.

The Build Journey: From Concept to Cockpit

Milestone 1: The Attention Problem and Core Tenets

We began the hackathon by codifying three non-negotiable architectural principles:
  1. Agents scale; human attention does not. The machine should read raw terminal output so the engineer does not have to. Only updates that alter an engineering decision should ever reach the user.
  2. A gate is an active decision, not a passive notification. A warning sent to Slack or an email notification is not a safety control; it can easily be missed. When an agent attempts an irreversible command, its underlying pseudo-terminal must be frozen on the spot until a human engineer inspects and authorizes the action.
  3. The supervisor proposes; the human disposes. An automated supervisor should possess the intelligence to inspect files, query project documentation, and propose remedies, but it must never possess write permissions without human sign-off.
With these tenets established, we set out to build a dual-layer system that could bridge low-level operating system processes with cloud-scale generative AI intelligence.

System Architecture: Why Decoupling Matters

Architecture diagram of Conduit illustrating the decoupled presentation tier, web server, background daemon running CLI coding agents, and AWS Strands supervisor backed by Amazon Bedrock.
Conduit architecture topology showing the decoupled presentation layer, persistent daemon managing CLI agents, and AWS Strands supervisor powered by Amazon Bedrock.
Early in our prototyping, we encountered a fundamental architectural trap: coupling agent processes to the web interface.
In standard web applications, if an engineer refreshes their browser tab, if the web server restarts, or if a laptop lid closes, running child processes are killed. For an autonomous agent executing a thirty-minute database migration or test suite, this was unacceptable.
We solved this by splitting Conduit into two decoupled tiers:

1. The Presentation and Hub Layer

A modern responsive single-page application built with React and Vite, paired with an Electron wrapper for native desktop distribution. The accompanying web server hosts REST endpoints and high-speed WebSocket relays for terminal frames and audio data. Crucially, the web server owns zero agent processes.

2. The Background Daemon Layer

A dedicated, persistent background daemon running locally on loopback. It directly manages pseudo-terminals and lifecycle bindings for all agent CLIs including Claude Code, OpenAI Codex, Gemini CLI, OpenCode, and Aider. Even if the web tier is restarted or the browser is disconnected, the daemon keeps every agent running uninterrupted.
The daemon captures raw terminal output across all agents and routes it to our supervisory intelligence layer on AWS.

Supercharging Supervision with Amazon Bedrock & Strands Agents SDK

Raw terminal streams are chaotic. They contain ANSI escape codes, terminal redraw cycles, loading spinners, and verbose compiler chatter. Our goal for the hackathon was to transform this flood of raw data into high-value situational awareness.
To accomplish this, we integrated the Strands Agents SDK connected directly to Amazon Bedrock.

The Five-Part Output Taxonomy

We designed a specialized supervisory agent within the Strands framework. It reads batches of terminal output and maps them into a five-category taxonomy:
  • Progress: The agent reached a milestone (e.g., test suite passed or scaffolding completed). The supervisor generates a one-sentence plain-English summary for the shared team activity feed.
  • Blocker: The agent encountered a missing package, failed compilation, or port conflict requiring human help.
  • Question: The agent is waiting at an interactive command-line prompt for input.
  • Risky Action: The agent is about to execute a destructive command (such as recursive directory deletion, dropping database tables, or force-pushing remote branches). This immediately halts the terminal process and raises a visual approval gate in front of the engineer.
  • Noise: Terminal repaints and progress spinners. These are silently discarded to conserve human attention.
By filtering through this lens, the supervisor distills thousands of lines of terminal output into instant, actionable clarity.

Real-World AWS Lessons Learned During the Hackathon

Integrating Amazon Bedrock into a real-time, low-latency multi-agent environment taught us hard-won operational lessons that proved pivotal to our project's success:

1. The Critical Shift to Regional Inference Profiles

During our initial integration tests, we called bare foundation model identifiers and were met with unexpected errors stating that the models had reached end-of-life.
We quickly learned that AWS has retired bare model identifiers in favor of Application Inference Profiles (specifically regional profiles with the us. prefix). Switching to regional inference profile ARNs for Anthropic Claude models on Amazon Bedrock resolved the issue and provided cross-region routing resilience. We also updated our IAM execution policies to explicitly allow access to both the inference profile ARN and the underlying foundation models.

2. Building Multi-Tier Resilience for Token Quotas

In a hackathon setting with new AWS accounts, default token-per-minute (TPM) limits on flagship models can be tight. When multiple agents compile code simultaneously, token spikes can occur.
To ensure Conduit never drops supervisory coverage, we engineered a multi-tier fallback ladder inside the Strands SDK:
  • Primary Tier: Amazon Bedrock via the Strands BedrockModel.
  • Secondary Tier: Anthropic direct fallback when Bedrock capacity limits are hit.
  • Model Step-Down: Automatic down-stepping from larger models to ultra-fast, lower-cost models like Claude Haiku when rate limits are approached.
  • Transport Resilience: A lightweight direct HTTP fallback if local SDK layers encounter anomalies.
Because all tiers operate under the unified Strands SDK architecture, all telemetry, tool definitions, and event callbacks remain completely consistent.

The Breakthrough: Hands-Free Voice Oversight with Amazon Nova 2 Sonic

One of our biggest hackathon breakthroughs was realizing that developers don't always want to stare at a dashboard to monitor their agents. When agents are running long tasks, developers often step away to whiteboard, review physical architecture diagrams, or write documentation.
To enable true hands-free supervisory control, we integrated Amazon Nova 2 Sonic on Amazon Bedrock.
Using Bedrock's bidirectional streaming API, Nova 2 Sonic provides native, full-duplex speech-to-speech interaction. An engineer can simply talk out loud:
"Luna, how is the backend refactor coming along?"
"The Claude agent finished the auth migration, but OpenCode is blocked on an unhandled promise rejection in the payments service."
"Approve the database reset gate and instruct OpenCode to retry."

Mastering Bidirectional Streaming Nuances

Working with Nova 2 Sonic's streaming protocol over HTTP/2 yielded fascinating technical discoveries:
  1. Continuous Audio Lifecycle: Nova detects conversational turn boundaries automatically from audio energy. Closing the audio content block between sentences causes the session to time out, and opening multiple concurrent audio blocks causes internal errors. The audio stream must remain continuously open throughout the session.
  2. Silence Keepalive Injection: Amazon Bedrock terminates idle bidirectional streams after 55 seconds of silence on the wire. To allow developers to pause and think without losing connection, we engineered a background audio worker that transmits silent PCM keepalive frames every five seconds during quiet periods.
  3. 8-Minute Session Budgeting: Bedrock limits individual streaming sessions to eight minutes. Conduit implements an automated 7-minute budget manager that seamlessly reconnects and migrates context before any session termination occurs.
  4. Client-Side Voice Activity Detection (VAD): Rather than flooding the network with continuous microphone data, we built an in-browser Web AudioWorklet that measures audio energy and only dispatches audio frames across the WebSocket when the user is actively speaking.
Most importantly, AWS credentials never touch the browser. The frontend connects via an authenticated WebSocket relay, while all AWS signatures and Bedrock invocations remain strictly encapsulated on the backend server.

Production Deployment on AWS EC2 & Security

Because Conduit manages real operating system pseudo-terminals and long-running daemons, it cannot run on ephemeral serverless platforms like AWS Lambda.
We deployed Conduit on Amazon EC2 (t3.small and larger instances) using containerized Docker environments:
  • Zero Hardcoded Secrets: We attach an IAM Instance Profile to the EC2 host using least-privilege scoping, permitting Bedrock model invocations and Nova voice streaming without storing long-lived secret keys on disk.
  • Network Isolation: The administrative daemon is bound exclusively to the internal loopback interface, while the web tier is protected by HTTP Basic Authentication across all endpoints and WebSocket upgrades.
To assist future builders, we packaged built-in diagnostic commands that verify Bedrock credentials, IAM permissions, and Nova voice stream latency prior to starting agents.

Conclusion: Truly Putting Agents to Work for Humans

This hackathon began with a simple conviction: AI agents should empower humans, not overwhelm them.
By uniting Amazon Bedrock's cutting-edge reasoning, the Strands Agents SDK's modular architecture, and Amazon Nova 2 Sonic's lightning-fast speech streaming, we transformed a chaotic terminal environment into an organized, safe, and conversational multi-agent studio.
With Conduit, developers no longer have to babysit terminal windows or worry about unintended commands executing behind their backs. The agents do the heavy lifting, Bedrock handles the supervision, and the human stays right where they belong in the pilot's seat.

Conduit is open source and available under the MIT License. Explore our complete architecture, documentation, and setup instructions in the Conduit GitHub repository .
Any opinions in this article are those of the individual author and may not reflect the opinions of AWS.
Enjoyed reading this content? Let the author know!

Your likes, comments, shares, and saves help creators reach more builders.

Loading recommendations

Loading article