<?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: Akhil Maddala</title>
    <description>The latest articles on DEV Community by Akhil Maddala (@akill_m_8f67cabd174364802).</description>
    <link>https://dev.to/akill_m_8f67cabd174364802</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%2F4103231%2F4fad3bc6-185b-4830-bbf6-ee933042a49e.png</url>
      <title>DEV Community: Akhil Maddala</title>
      <link>https://dev.to/akill_m_8f67cabd174364802</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/akill_m_8f67cabd174364802"/>
    <language>en</language>
    <item>
      <title>CaseRelay: A governed agent fleet that follows up on a child's court ordered services for weeks</title>
      <dc:creator>Akhil Maddala</dc:creator>
      <pubDate>Mon, 31 Aug 2026 19:59:41 +0000</pubDate>
      <link>https://dev.to/akill_m_8f67cabd174364802/caserelay-a-governed-agent-fleet-that-follows-up-on-a-childs-court-ordered-services-for-weeks-3hnf</link>
      <guid>https://dev.to/akill_m_8f67cabd174364802/caserelay-a-governed-agent-fleet-that-follows-up-on-a-childs-court-ordered-services-for-weeks-3hnf</guid>
      <description>&lt;p&gt;Imagine a nine year old named Maya. She is in foster care. A court has ordered five things for her: a school seat, a clinic appointment, legal aid, a shelter bed, and a family assessment. Those are &lt;strong&gt;five promises, in five different systems&lt;/strong&gt;. Most of the dates have already passed.&lt;/p&gt;

&lt;p&gt;Elena is her &lt;strong&gt;CASA volunteer&lt;/strong&gt;: Court Appointed Special Advocate. One person, appointed to check that those orders actually happened. She has &lt;strong&gt;no single place to look&lt;/strong&gt;. She calls the school, then the clinic, then legal aid. The school is waiting on the clinic. The clinic never got the referral. Nobody has a named owner she can call back.&lt;/p&gt;

&lt;p&gt;That is the daily job. We built &lt;strong&gt;CaseRelay&lt;/strong&gt; so Elena does not have to do the chase by hand. We wanted her to see the whole picture at once, &lt;strong&gt;approve what gets shared&lt;/strong&gt; before anything moves, and have someone pick it back up on time, even if nobody remembers to call.&lt;/p&gt;

&lt;h2&gt;
  
  
  The problem
&lt;/h2&gt;

&lt;p&gt;What Elena is actually doing:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Picking up work someone else started&lt;/strong&gt;: referrals already sent, deadlines already slipping, no log of who was contacted.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Finding who still owns each promise&lt;/strong&gt;: a coordinator, a scheduler, a caseworker, without handing the school a medical file.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Coming back later&lt;/strong&gt;: if the clinic said two weeks, someone has to call on week two. If nobody is at the desk, it slips again.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  The solution
&lt;/h2&gt;

&lt;p&gt;To solve that, we built CaseRelay around &lt;strong&gt;eight scoped agents&lt;/strong&gt;. They follow up, hand work to the right specialist, pause when an agency needs more time, and come back later without Elena refreshing a dashboard.&lt;/p&gt;

&lt;p&gt;Under the hood, it is a governed fleet: each agent has its own identity, each action is monitored through guardrails and audit logs, and supervisor approval sits in front of anything consequential.&lt;/p&gt;

&lt;p&gt;All of it surfaces in one portal, where Elena can see where each commitment stands and do the work by asking the &lt;strong&gt;CaseRelay copilot&lt;/strong&gt;. The copilot is not just a chat box: it can list assigned cases, open the live view, start outreach, and generate reports through &lt;strong&gt;browser actions&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fofhkzfly2ed2blaiuik0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fofhkzfly2ed2blaiuik0.png" alt="CaseRelay portal with case status and copilot" width="800" height="461"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;This is the CASA volunteer's view:&lt;/strong&gt; assigned cases on the left, live commitment status in the middle, and the &lt;strong&gt;CaseRelay copilot&lt;/strong&gt; on the right to help drive the workflow.&lt;/p&gt;

&lt;h2&gt;
  
  
  How it works behind the scenes
&lt;/h2&gt;

&lt;p&gt;Let's walk through Maya's case from Elena's view, then show what CaseRelay is doing underneath.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Elena starts from her assigned cases
&lt;/h3&gt;

&lt;p&gt;Elena opens CaseRelay and asks the &lt;strong&gt;CaseRelay Copilot&lt;/strong&gt; to pull up Maya's case. The portal shows which commitments are still open, blocked, or waiting for approval, while the copilot can &lt;strong&gt;trigger the next action&lt;/strong&gt; from the same screen.&lt;/p&gt;

&lt;p&gt;On the system side, CaseRelay reads Elena's assigned case state from Firestore, restores the session context, and lets the copilot act as the entry point to the agent system. &lt;a href="https://docs.copilotkit.ai/" rel="noopener noreferrer"&gt;CopilotKit&lt;/a&gt; frontend tools connect the chat to browser actions like opening a case, starting outreach, and preparing a report, while &lt;a href="https://docs.cloud.google.com/gemini-enterprise-agent-platform/build/runtime" rel="noopener noreferrer"&gt;Agent Runtime&lt;/a&gt; hosts the reasoning engine that powers it.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Human approval sets the boundary
&lt;/h3&gt;

&lt;p&gt;Before anything is sent outside the system, Elena and Dana approve what the fleet is allowed to do and what each agent can access.&lt;/p&gt;

&lt;p&gt;For Maya's case, that approval is not just a button in the UI. &lt;a href="https://docs.cloud.google.com/gemini-enterprise-agent-platform/govern/agent-identity-overview" rel="noopener noreferrer"&gt;Agent Identity&lt;/a&gt; and scoped grants make every approval traceable and keep each agent limited to the fields it needs. Firestore records who approved and when.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. The agent fleet follows up
&lt;/h3&gt;

&lt;p&gt;The orchestrator sends work to the right specialist agents. They contact agencies, exchange status, and hand off tasks when one agency depends on another.&lt;/p&gt;

&lt;p&gt;Inside the fleet, &lt;a href="https://docs.cloud.google.com/gemini-enterprise-agent-platform/build/runtime" rel="noopener noreferrer"&gt;Agent Runtime&lt;/a&gt; hosts the agents, and &lt;a href="https://docs.cloud.google.com/gemini-enterprise-agent-platform/build/agent-to-agent-communication" rel="noopener noreferrer"&gt;A2A&lt;/a&gt; handles controlled agent to agent coordination.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. The case pauses and wakes later
&lt;/h3&gt;

&lt;p&gt;When an agency asks for more time, CaseRelay does not depend on someone remembering to come back. The case is parked and resumed when the deadline arrives.&lt;/p&gt;

&lt;p&gt;When Maya's follow up is not ready yet, Firestore checkpoints, &lt;a href="https://cloud.google.com/scheduler" rel="noopener noreferrer"&gt;Cloud Scheduler&lt;/a&gt;, &lt;a href="https://cloud.google.com/pubsub" rel="noopener noreferrer"&gt;Pub/Sub&lt;/a&gt;, and &lt;a href="https://docs.cloud.google.com/gemini-enterprise-agent-platform/scale/memory-bank" rel="noopener noreferrer"&gt;Memory Bank&lt;/a&gt; keep the long running case alive across sessions.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Guardrails decide when to stop
&lt;/h3&gt;

&lt;p&gt;If a reply asks for something out of scope, CaseRelay stops the action and routes it to a supervisor instead of letting the model continue.&lt;/p&gt;

&lt;p&gt;When a reply crosses the boundary, &lt;a href="https://docs.cloud.google.com/model-armor/overview" rel="noopener noreferrer"&gt;Model Armor&lt;/a&gt;, gateway policies, audit logs, and human in the loop escalation keep the workflow governed.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F0jbte48tgjibdevy62hb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F0jbte48tgjibdevy62hb.png" alt="CaseRelay multi agent mesh" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;This is the technical view of the same Maya workflow:&lt;/strong&gt; Copilot at the front, orchestration in the middle, and GEAP runtime, identity, guardrails, memory, and observability around the fleet.&lt;/p&gt;

&lt;h2&gt;
  
  
  How CaseRelay became an enterprise agent fleet
&lt;/h2&gt;

&lt;p&gt;The walkthrough above is what Elena sees. Underneath it, GEAP gave us the pieces to make the fleet reusable, governed, and able to wake back up later.&lt;/p&gt;

&lt;h3&gt;
  
  
  How do agents discover and work with each other?
&lt;/h3&gt;

&lt;p&gt;This matters beyond Maya's case. &lt;a href="https://docs.cloud.google.com/gemini-enterprise-agent-platform/govern/agent-registry" rel="noopener noreferrer"&gt;Agent Registry&lt;/a&gt; gives the organization a catalogue of approved agents and their routes. Nothing in a run looks it up: the catalogue is for discovery only, not routing. You find an agent in the Registry; you wire it via &lt;a href="https://docs.cloud.google.com/gemini-enterprise-agent-platform/build/agent-to-agent-communication" rel="noopener noreferrer"&gt;A2A&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  How does a case last when nobody is watching?
&lt;/h3&gt;

&lt;p&gt;For Elena, the important part is that the work survives after she closes the browser. &lt;a href="https://docs.cloud.google.com/gemini-enterprise-agent-platform/build/runtime" rel="noopener noreferrer"&gt;Agent Runtime&lt;/a&gt; runs each specialist engine. Firestore holds the case: commitments, grants, and wake times. When an agency needs more time, CaseRelay writes checkpoints, ends the run, and waits for the next due date. &lt;a href="https://cloud.google.com/scheduler" rel="noopener noreferrer"&gt;Cloud Scheduler&lt;/a&gt; finds due work and publishes to &lt;a href="https://cloud.google.com/pubsub" rel="noopener noreferrer"&gt;Pub/Sub&lt;/a&gt;. An authenticated push resumes the waiting case. No browser click.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://docs.cloud.google.com/gemini-enterprise-agent-platform/scale/memory-bank" rel="noopener noreferrer"&gt;Memory Bank&lt;/a&gt; receives a session write at the end. Facts scoped to the &lt;code&gt;case_id&lt;/code&gt; are recalled on the next run, so Maya's notes stay with Maya's case and do not leak into another child's work.&lt;/p&gt;

&lt;h3&gt;
  
  
  Who is allowed to see what, and what happens when a reply goes wrong?
&lt;/h3&gt;

&lt;p&gt;For Maya's record, access has to stay narrow. Each specialist gets its own &lt;a href="https://docs.cloud.google.com/gemini-enterprise-agent-platform/govern/agent-identity-overview" rel="noopener noreferrer"&gt;Agent Identity&lt;/a&gt;: a platform principal, not a shared service account. The education engine cannot answer as the health engine. Later escalations name the verifier, not "system."&lt;/p&gt;

&lt;p&gt;The school's reply goes through &lt;a href="https://docs.cloud.google.com/model-armor/overview" rel="noopener noreferrer"&gt;Model Armor&lt;/a&gt;: Google's screen for injection, jailbreak, and sensitive data patterns. Our template is &lt;code&gt;caserelay-screen&lt;/code&gt;. It flags "retrieve Maya's medical notes" but not "medical notes" in a summary. Screening fails closed. The verifier opens an escalation in its own identity. The request never runs.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://docs.cloud.google.com/gemini-enterprise-agent-platform/govern/gateways/agent-gateway-overview" rel="noopener noreferrer"&gt;Agent Gateway&lt;/a&gt; intercepts every outbound call. MCP method names are parsed and checked against policy.&lt;/p&gt;

&lt;h3&gt;
  
  
  What evidence does the run leave behind?
&lt;/h3&gt;

&lt;p&gt;For us, the run also had to leave evidence. &lt;a href="https://docs.cloud.google.com/trace" rel="noopener noreferrer"&gt;Cloud Trace&lt;/a&gt; shows the calls leaving the engines and Model Armor ruling on them. The recorded Cloud Trace captures in the GCP console show an MCP enabled run: an outbound partner call appears as the root span, with &lt;code&gt;apply_guardrail "Google Cloud Model Armor"&lt;/code&gt; nested beneath it. &lt;a href="https://docs.cloud.google.com/gemini-enterprise-agent-platform/optimize/observability/overview" rel="noopener noreferrer"&gt;Agent Observability&lt;/a&gt; collects the spans. &lt;a href="https://docs.cloud.google.com/logging" rel="noopener noreferrer"&gt;Cloud Logging&lt;/a&gt; holds the gateway request log. This is not a picture of the agents thinking. ADK does not export execution traces. It is a picture of the perimeter.&lt;/p&gt;

&lt;h2&gt;
  
  
  Problems we faced
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Scoped access had to be more than a prompt.&lt;/strong&gt; Each specialist should see only the fields needed for its job, not the whole case file. We handled that with an authority gateway in our code, separate from &lt;a href="https://docs.cloud.google.com/gemini-enterprise-agent-platform/govern/gateways/agent-gateway-overview" rel="noopener noreferrer"&gt;Agent Gateway&lt;/a&gt;, which controls outbound traffic.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Redeployment cleared the feed.&lt;/strong&gt; Early on, a case ran inside a single process. When we redeployed the control plane, that process died and the case history vanished. We fixed it by making every run event its own Firestore document. Now a run is wake, Scheduler to Pub/Sub message, then new execution against stored state. The history survives restarts because Firestore does.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Silent fallbacks hide bugs.&lt;/strong&gt; We had a fallback where if Cloud Run was unreachable, the control plane would assemble a specialist agent in process. That silently hid connection problems. Now if a specialist is unreachable at startup, we fail hard and immediately. The laptop can still run everything in one process for testing; Cloud Run cannot pretend it can.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Evaluation helped us stop old bugs from coming back.&lt;/strong&gt; While implementing the agents, we hit bugs that only showed up in certain case scenarios. Google ADK evals gave us a way to turn those scenarios into repeatable checks, so before a major change or deployment gate we could run them again and make sure the important flows still completed successfully.&lt;/p&gt;

&lt;h2&gt;
  
  
  What we liked
&lt;/h2&gt;

&lt;p&gt;We came into GEAP and Google Cloud with almost no practical experience. At first the surface area felt big: agents, runtime, identity, gateway, memory, observability, deployment, and a portal that still had to feel simple for a CASA volunteer.&lt;/p&gt;

&lt;p&gt;The Google ecosystem helped us turn that into a build path. &lt;code&gt;agents-cli&lt;/code&gt; and &lt;code&gt;gcloud&lt;/code&gt; made deployment repeatable. ADK and Agent Runtime gave us a real place to run the agents. Agent Identity, Agent Gateway, Model Armor, Memory Bank, Firestore, Scheduler, Pub/Sub, and Cloud Trace gave us the pieces for access control, safety, wake ups, and proof.&lt;/p&gt;

&lt;p&gt;That mattered because it let us spend more time on the problem itself: how a volunteer follows up &lt;strong&gt;without sharing too much data&lt;/strong&gt;, how a supervisor stays in the loop, and how a case can go quiet &lt;strong&gt;without being forgotten&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  What we used
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Layer&lt;/th&gt;
&lt;th&gt;What we used&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Models&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Gemini 3.5 Flash on Vertex AI for the agents. Gemma 4 drafts session summaries that the CaseRelay copilot and report flow can surface. Gemini Nano Banana helped create visuals for the demo video and architecture diagrams.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Frameworks&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Google ADK for the agent fleet. CopilotKit for the portal copilot experience.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Protocols&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;A2A for agent to agent coordination. MCP for partner tool calls. AG UI for chat and the run event stream.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Agents&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Google ADK. Eight reasoning engines on &lt;a href="https://docs.cloud.google.com/gemini-enterprise-agent-platform/build/runtime" rel="noopener noreferrer"&gt;Agent Runtime&lt;/a&gt; in &lt;code&gt;us-central1&lt;/code&gt;. A2A to the specialists.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Platform&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;
&lt;a href="https://docs.cloud.google.com/gemini-enterprise-agent-platform/govern/agent-identity-overview" rel="noopener noreferrer"&gt;Agent Identity&lt;/a&gt;, &lt;a href="https://docs.cloud.google.com/gemini-enterprise-agent-platform/govern/gateways/agent-gateway-overview" rel="noopener noreferrer"&gt;Agent Gateway&lt;/a&gt;, &lt;a href="https://docs.cloud.google.com/gemini-enterprise-agent-platform/govern/agent-registry" rel="noopener noreferrer"&gt;Agent Registry&lt;/a&gt;, &lt;a href="https://docs.cloud.google.com/gemini-enterprise-agent-platform/scale/sessions" rel="noopener noreferrer"&gt;Sessions&lt;/a&gt;, &lt;a href="https://docs.cloud.google.com/gemini-enterprise-agent-platform/scale/memory-bank" rel="noopener noreferrer"&gt;Memory Bank&lt;/a&gt;, Model Armor, &lt;a href="https://docs.cloud.google.com/gemini-enterprise-agent-platform/optimize/observability/overview" rel="noopener noreferrer"&gt;Observability&lt;/a&gt;.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Backend&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Python, FastAPI, Cloud Run (requires auth).&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;State&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Firestore. Cloud Scheduler on a recurring sweep. Pub/Sub to resume parked cases.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Frontend&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Next.js, Cloud Run (behind HTTP Basic auth). AG UI for chat and the run stream.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Partners&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Simulated partner agencies exposed through MCP tools. Not live systems.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Disclosures
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Mock data.&lt;/strong&gt; Maya, Rosa, and Priya are fictional. The agencies are fixtures. We cannot use real child welfare records in a public hackathon demo video: the data is sensitive, the consent path is strict, and the point of the demo is to prove the workflow without exposing a real child, family, volunteer, court, or provider.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;No endorsement.&lt;/strong&gt; This is a hackathon prototype, not endorsed by CASA or any court.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Compressed timeline.&lt;/strong&gt; A case like this can run for weeks: agencies ask for more time, checkpoints are written, Cloud Scheduler sweeps them, and the fleet wakes on time. The demo video uses a shortened window to show the same architecture quickly. The case is still inherited; only the deadline is compressed.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Authority gateway.&lt;/strong&gt; Field level access control lives in our code. &lt;a href="https://docs.cloud.google.com/gemini-enterprise-agent-platform/govern/gateways/agent-gateway-overview" rel="noopener noreferrer"&gt;Agent Gateway&lt;/a&gt; is Google's egress control point. We call ours the "authority gateway" to avoid confusion.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Portal is deployed, behind a password.&lt;/strong&gt; &lt;a href="https://caserelay-portal-6nwo7o4bbq-uc.a.run.app" rel="noopener noreferrer"&gt;&lt;code&gt;caserelay-portal-6nwo7o4bbq-uc.a.run.app&lt;/code&gt;&lt;/a&gt;: Cloud Run, HTTP Basic auth. Credentials on request. Setup is in the &lt;a href="https://github.com/akhil-bot/CaseRelay/blob/main/README.md" rel="noopener noreferrer"&gt;README&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AI use during building.&lt;/strong&gt; We used an agentic IDE while developing the code, Gemini for architecture help and ADK/API guidance, and Gemini Nano Banana for visuals used around the demo and architecture story. AI also helped us shape supporting assets such as image generation, Google Cloud integration notes, demo narration, and voiceover drafts. The product decisions, implementation, and final submission are ours.&lt;/p&gt;

&lt;h2&gt;
  
  
  Resources
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Demo video:&lt;/strong&gt; &lt;a href="https://www.youtube.com/watch?v=Bp2PKUXg_PQ" rel="noopener noreferrer"&gt;Watch on YouTube&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Repo:&lt;/strong&gt; &lt;a href="https://github.com/akhil-bot/CaseRelay" rel="noopener noreferrer"&gt;github.com/akhil-bot/CaseRelay&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Portal:&lt;/strong&gt; &lt;a href="https://caserelay-portal-6nwo7o4bbq-uc.a.run.app" rel="noopener noreferrer"&gt;&lt;code&gt;caserelay-portal-6nwo7o4bbq-uc.a.run.app&lt;/code&gt;&lt;/a&gt;: Cloud Run, behind HTTP Basic auth. Credentials on request.&lt;/p&gt;




&lt;p&gt;I created this piece of content for the purposes of entering the All Things Agentic Hackathon. #AllThingsAgenticHackathon&lt;/p&gt;

&lt;p&gt;CaseRelay is our &lt;a href="https://allthingsagentichackathon.devpost.com/" rel="noopener noreferrer"&gt;Fortified Enterprise Fleet&lt;/a&gt; entry.&lt;/p&gt;

&lt;p&gt;Questions, suggestions, or ideas for making this useful to real volunteers are welcome in the comments.&lt;/p&gt;

</description>
      <category>allthingsagentichackathon</category>
      <category>multiagentsystems</category>
      <category>governance</category>
      <category>googlecloud</category>
    </item>
  </channel>
</rss>
