T.I.T.A.N. - Tampa Intelligent Threat Analysis Network
Inspiration
Disaster response is a wicked problem: too many moving parts, too much data, and too little time for one person or one chatbot to solve reliably.
We wanted to build an autonomous workforce for good, not a demo assistant.
Tampa Bay’s hurricane risk made this personal. During events like Hurricane Milton (2024), emergency teams had to process flood risk, road closures, shelter strain, and outreach needs all at once. We built TITAN to reduce that coordination burden with specialist agents that observe, analyze, and act together.
What it does
TITAN is a multi-agent crisis operations system built with Google ADK + A2A interoperability.
It can:
- Ingest live or synthetic hazard triggers.
- Run parallel risk analysis (flood, vulnerability/equity, wind-road blockage).
- Produce deterministic zone priority rankings.
- Build logistics plans (shelter openings, dispatch planning).
- Validate and self-correct plans via loop-based QA.
- Execute outreach outputs and communication artifacts.
- Handshake with an external shelter-capacity specialist via A2A.
- Let a human operator override shelter occupancy in a control portal and immediately sync that through A2A.
- Stream traces in UI (agent outputs, A2A status, latency, console lines).
How we built it
We built TITAN as a system of specialists, orchestrated by Google ADK.
Agent architecture
- Hazard Ingestion Agent
- Flood Analyst
- Vulnerability Analyst
- Wind and Road Analyst
- Priority Ranking Agent
- Logistics Routing Agent
- QA Validator / Rework Loop
- Outreach Alerting Agent
- A2A Shelter Capacity Specialist (separate service)
Core patterns we used
ParallelAgentfor high-velocity concurrent analysis.LoopAgentfor iterative validation and deterministic reruns.- A2A one-shot handshake:
- discover specialist via
/.well-known/agent.json - send task to
/tasks/send - parse structured shelter capacity response
- fallback safely if specialist is unavailable
- discover specialist via
Product surfaces
/landing-pagefor pitch/demo entry./simulationfor live vs synthetic drills./shelter-controlfor operator occupancy control (slider/progress + save)./dashboard for incident status, logistics, A2A trace, and live updates./threat-mapfor zone-level visual prioritization.
Challenges we ran into
- Browser fetch friction (localhost/mixed-content behavior) required proxy routes to stabilize front-end -> back-end calls.
- ADK built-in A2A mode depended on optional package availability; we added graceful fallback and kept our custom specialist A2A flow reliable.
- Specialist agent-card contract had to be cleaned up to support robust A2A discovery/handshake behavior.
- We needed deterministic state handling so shelter overrides, A2A traces, and UI updates stayed consistent after refresh/reload.
- Real-time visibility mattered: we had to expose A2A call/result lines and latency clearly for judge-facing traceability.
Accomplishments that we're proud of
- Built a real multi-agent ecosystem, not a single-agent chat workflow.
- Demonstrated all three “brain-power” requirements together:
- parallel reasoning,
- looped self-correction,
- A2A specialist interoperability.
- Added human-in-the-loop shelter control with immediate A2A synchronization.
- Implemented resilient fallbacks and trace logging for reliability.
- Produced a polished, presentation-ready UI that still surfaces operational internals and trace evidence.
What we learned
- Agentic architecture quality is less about number of agents and more about role boundaries + orchestration contracts.
- Parallelism helps speed, but loop validation is what keeps outputs trustworthy.
- A2A interoperability is most convincing when tied to an operator action and visible downstream state change.
- Reliable state design (audit logs, scoped updates, fallback behavior) is as important as model behavior in crisis workflows.
- Social impact systems need equity-aware logic baked into prioritization, not bolted on afterward.
What's next for T.I.T.A.N. - Tampa Intelligent Threat Analysis Network
- Deploy orchestrator + specialist agents to public Google Cloud URLs for production-grade judging criteria.
- Expand the A2A specialist mesh:
- power-grid restoration,
- hospital surge capacity,
- transportation disruption agents.
- Add more real-world live feeds (infrastructure outages, mobility, public advisories).
- Extend multilingual and multimodal outreach workflows.
- Pilot with municipal emergency teams for real-world drills and measurable response-time improvements.
Rubric Emphasis (How TITAN Aligns)
1) Architectural Sophistication (30%)
- Workflow:
ParallelAgent+LoopAgentimplemented in core response pipeline. - A2A Interoperability: shelter specialist handshake via agent card discovery + one-shot tasking.
- Efficiency: concurrent analysis + deterministic ranking + QA loops improve response speed and reliability.
2) Social Impact & Moonshot Vision (30%)
- Scalable specialist architecture (city -> region -> national mutual aid).
- Strong SDG alignment (3, 10, 11, 13).
- Action-first outputs (planning, dispatch logic, outreach artifacts, operator-triggered updates).
3) Technical Rigor & Googliness (20%)
- ADK-native orchestration with clear specialist roles.
- Agent card-based A2A discovery and specialist communication.
- Reliability through fallback paths, loop validation, and auditable trace state.
- Cloud-ready deployment path.
4) Pitch & Trace (20%)
- UI shows live agent events, A2A status, and console traces.
- Handshake is demonstrable end-to-end from shelter portal action to dashboard update.
- Judges can directly observe “thoughts/actions/results” style traces and measurable system behavior.
Why this matters for Tampa Bay
In a Hurricane Milton-like scenario (Tampa Bay, 2024), TITAN would have helped incident teams prioritize zones faster, update shelter constraints in real time, and keep decisions transparent across operations.
The key value is not just prediction; it is coordinated, auditable action under pressure.
Built With
- adk
- agent
- ai
- gcp
- googleadk
- mcp
- multiagent
- python
- typescript
Log in or sign up for Devpost to join the conversation.