Project Info
Inspiration
I got this idea because of the current hurricane Milton causing devastation across Florida. The inspiration behind Autonomous AI Society stems from the need for faster, more efficient, and autonomous systems that can make critical decisions during disaster situations. With multiple sponsors like Fetch.ai, Groq, Deepgram, Hyperbolic, and Vapi providing powerful tools, I envisioned an intelligent system of AI agents capable of handling a disaster response chain—from analyzing distress calls to dispatching drones and contacting rescue teams. The goal was to build an AI-driven solution that can streamline emergency responses, save lives, and minimize risks.
What it does
Autonomous AI Society is a fully autonomous multi-agent system that performs disaster response tasks in the following workflow: Distress Call Analysis: The system first analyzes distress calls using Deepgram for speech-to-text and Hume AI to score distress levels. Based on the analysis, the agent identifies the most urgent calls and the city. Distress Call Analysis: The system first analyzes distress calls using Deepgram for speech-to-text and Hume AI to score distress levels. Based on the analysis, the agent identifies the most urgent calls and the city. Drone Dispatch: The distress analyzer agent communicates with the drone agent (built using Fetch.ai) to dispatch drones to specific locations, assisting with flood and rescue operations. Drone Dispatch: The distress analyzer agent communicates with the drone agent (built using Fetch.ai) to dispatch drones to specific locations, assisting with flood and rescue operations. Human Detection: Drones capture aerial images, which are analyzed by the human detection agent using Hyperbolic's LLaMA Vision model to detect humans in distress. The agent provides a description and coordinates. Human Detection: Drones capture aerial images, which are analyzed by the human detection agent using Hyperbolic's LLaMA Vision model to detect humans in distress. The agent provides a description and coordinates. Priority-Based Action: The drone results are displayed on a dashboard, ranked based on priority using Groq. Higher priority areas receive faster dispatches, and this is determined dynamically. Priority-Based Action: The drone results are displayed on a dashboard, ranked based on priority using Groq. Higher priority areas receive faster dispatches, and this is determined dynamically. Rescue Call: The final agent, built using Vapi, places an emergency call to the rescue team. It uses instructions generated by Hyperbolic’s text model to give precise directions based on the detected individuals and their location. Rescue Call: The final agent, built using Vapi, places an emergency call to the rescue team. It uses instructions generated by Hyperbolic’s text model to give precise directions based on the detected individuals and their location. How I built it The system consists of five agents, all built using Fetch.ai’s framework, allowing them to interact autonomously and make real-time decisions: Request-sender agent sends the initial requests. Distress analyzer agent uses Hume AI to analyze calls and Groq to generate dramatic messages. Drone agent dispatches drones to designated areas based on the distress score. Human detection agent uses Hyperbolic’s LLaMA Vision to process images and detect humans in danger. Call rescue agent sends audio instructions using Deepgram’s TTS and Vapi for automated phone calls. Challenges I ran into Simulating a drone movement on florida map: The lat_lon_to_pixel function converts latitude and longitude coordinates to pixel positions on the screen. The drone starts at the center of Florida. Its movement is calculated using trigonometry. The angle to the target city is calculated using math.atan2. The drone moves towards the target using sin and cos functions.This allows placing cities and the drone accurately on the map. Simulating a drone movement on florida map: The lat_lon_to_pixel function converts latitude and longitude coordinates to pixel positions on the screen. The drone starts at the center of Florida. Its movement is calculated using trigonometry. The angle to the target city is calculated using math.atan2. The drone moves towards the target using sin and cos functions.This allows placing cities and the drone accurately on the map. Callibrating the map to right coordinates: I had manually experiment with increasing and decreasing the coordinates to fit them at right spots on the florida map. Callibrating the map to right coordinates: I had manually experiment with increasing and decreasing the coordinates to fit them at right spots on the florida map. Coordinating AI agents: Getting agents to communicate effectively while working autonomously was a challenge. Coordinating AI agents: Getting agents to communicate effectively while working autonomously was a challenge. Handling dynamic priorities: Ensuring real-time analysis and updating the priority of drone dispatch based on Groq's risk assessment was tricky. Handling dynamic priorities: Ensuring real-time analysis and updating the priority of drone dispatch based on Groq's risk assessment was tricky. Integration of multiple APIs: Each sponsor's tools had specific nuances, and integrating all of them smoothly, especially with Fetch.ai, required careful handling. Integration of multiple APIs: Each sponsor's tools had specific nuances, and integrating all of them smoothly, especially with Fetch.ai, required careful handling. Accomplishments that I am proud of Successfully built an end-to-end autonomous system where AI agents can make intelligent decisions during a disaster, from distress call analysis to rescue actions. Integrated cutting-edge technologies like Fetch.ai, Groq, Hyperbolic, Deepgram, and Vapi in a single project to create a highly functional and real-time response system. What I learned AI for disaster response: Building systems that leverage multimodal AI agents can significantly improve response times and decision-making in life-critical scenarios. Cross-platform integration: We learned how to seamlessly integrate various tools, from vision AI to TTS to drone dispatch, using Fetch.ai and sponsor technologies. Working with real-time data: Developing an autonomous system that processes data in real-time provided insights into handling complex workflows.
What's next
Scaling to more disasters: Expanding the system to handle other types of natural disasters like wildfires or earthquakes. Edge deployment: Enabling drones and agents to run on the edge to reduce response times further. Improved human detection: Enhancing human detection with more precise models to handle low-light or difficult visual conditions. Expanded rescue communication: Integrating real-time communication with the victims themselves using Deepgram’s speech technology.
Analysis
View
Metric
No commits on this project resolved to a GitHub account.
Technology
- CSSIn code
- ExpressIn code
- HTMLIn code
- JavaScriptIn code
- PythonIn code
- ReactIn code
- Node.jsClaimed
6 of 7 appear in the indexed code. 1 claimed on Devpost could not be matched to code, which may simply mean the tool leaves no trace in the repository.
AI coding agents
No AI coding agent signals were found in this repository.
Detected from committed agent config files and commit authorship. Absence of a signal is not proof an agent was unused.
Codebase size
Source size
56 KB
Source files
23
Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.
Repository
rajashekarcs2023/Autonomous-AI-Society
55 files · 3.9 MB · @ a592479
Structure
Interface
4 files · 7%Screens, components and styles rendered to the user.
Application logic
15 files · 27%Domain rules, services and shared utilities.
Supporting
Layers are inferred from where files sit in the tree, not from reading the code. A project that names its directories unconventionally will read oddly here — open the file browser to check anything the diagram implies.
Languages
- Python62%
- JavaScript23%
- CSS8%
- Markdown6%
- HTML1%
Share of indexed source by file size. Binary and vendored files are excluded.
Dependencies
frontend/package.json
npm · 15- @emotion/react
- @emotion/styled
- @mui/material
- @testing-library/jest-dom
- @testing-library/react
- @testing-library/user-event
- axios
- cors
- express
- react
- react-circular-progressbar
- react-dom
- react-router-dom
- react-scripts
- web-vitals
Declared in the repository’s manifests at the indexed commit. A declared package is not proof it is used, and runtime dependencies are listed first.
Feature verification
Call instructions generated by Hyperbolic text modelVerified
Vapi call uses instructions generated by Hyperbolic's text model based on detected individuals and location
Claimed on Devposthigh confidenceAgents/call_rescue_agent.py:17— call_llama_vision_for_summary() sends the rescue message to Hyperbolic model 'meta-llama/Llama-3.2-3B-Instruct' to generate a concise summary, whose result is passed as create_vapi_call()'s firstMessage
Drone dispatch agent via Fetch.aiVerified
Distress analyzer agent communicates with a Fetch.ai drone agent to dispatch drones to locations
Claimed on Devposthigh confidenceAgents/distress_analyzer_agent.py:132— send_city_to_bob() sends a DroneDispatchRequest uAgents message to Bob's hardcoded agent addressAgents/bob_drone_agent.py:28— bob agent (uagents.Agent) receives DroneDispatchRequest and triggers drone_simulation.py plus the human detection agent
Five-agent Fetch.ai multi-agent architectureVerified
The system consists of five agents, all built using Fetch.ai's framework, interacting autonomously
Claimed on Devposthigh confidenceAgents/request_sender.py:8— uagents.Agent instance 'request_sender'Agents/distress_analyzer_agent.py:25— uagents.Agent 'distress_analyzer_agent'Agents/bob_drone_agent.py:13— uagents.Agent 'bob' (drone dispatch)Agents/human_detection_agent.py:15— uagents.Agent 'human_detection_agent'Agents/call_rescue_agent.py:5— uagents.Agent 'call_rescue_agent'
Florida map drone-movement simulation using trigonometryVerified
lat_lon_to_pixel converts coordinates to pixel positions; drone moves via atan2/sin/cos trigonometry toward target city
Claimed on Devposthigh confidencedrone_simulation.py:31— lat_lon_to_pixel() implements the described coordinate-to-pixel conversiondrone_simulation.py:160— drone_angle computed via math.atan2 and position updated via math.sin/math.cos toward the target city, rendered on florida.png with pygame
Priority ranking of drone/human-detection results via Groq, displayed on dashboardVerified
Drone results are displayed on a dashboard, ranked based on priority using Groq, determined dynamically
Claimed on Devposthigh confidencefrontend/src/components/DroneUpdates.js:10— getRiskPriority() calls Groq chat completions per result description to classify Low/Moderate/High/Very High risk, and results.map renders each with a priority-colored box
React frontend dashboard with Distress Calls and Drone Updates viewsVerified
Implicit: dashboard displaying distress calls and drone results (readme/devpost implies a dashboard UI)
Claimed on readmehigh confidencefrontend/src/components/DistressCalls.js:7— React component polls backend for distress_call_*.txt and final_summary.txt, renders per-call severity/progress bars and a link to Drone Updatesfrontend/src/components/DroneUpdates.js:6— React component fetches processed_results.txt and renders description/coordinates/priority per detectionfrontend/server.js:1— Express server statically serves distress_details and descriptions folders on port 4001 for the frontend to consume
City identification from transcriptCode-supported
Agent identifies the most urgent calls and the city
Claimed on Devpostmedium confidenceAgents/distress_analyzer_agent.py:285— identify_city() sends transcript to Groq chat completions to extract a city name, with fallback to 'Miami'
Distress call speech-to-text via DeepgramCode-supported
System analyzes distress calls using Deepgram for speech-to-text
Claimed on Devpostmedium confidenceAgents/distress_analyzer_agent.py:197— transcribe_audio() calls DeepgramClient.listen.rest.v('1').transcribe_file to transcribe recorded audio, but API key is blank and code records live mic audio rather than processing real distress calls
Distress scoring via Hume AICode-supported
Hume AI scores distress levels of calls
Claimed on Devpostmedium confidenceAgents/distress_analyzer_agent.py:226— analyze_audio() uses AsyncHumeClient prosody stream; interpret_distress() sums Stress/Anxiety/Fear/Sadness emotion scores. HUME_API_KEY is empty so it cannot run as-is
Human detection in aerial images via Hyperbolic LLaMA VisionCode-supported
Human detection agent uses Hyperbolic's LLaMA Vision model to detect humans in distress and provide description/coordinates
Claimed on Devpostmedium confidenceAgents/human_detection_agent.py:38— call_llama_vision() posts images to Hyperbolic API with model 'Qwen/Qwen2-VL-72B-Instruct' (not literally 'LLaMA Vision' but a vision-capable model) to get a description; api_key is blankAgents/human_detection_agent.py:78— get_random_coordinates() generates random Florida coordinates rather than deriving them from actual image geolocation, so 'coordinates' are simulated, not detected
Rescue call placed via VapiCode-supported
Final agent, built using Vapi, places an emergency call to the rescue team
Claimed on Devpostmedium confidenceAgents/call_rescue_agent.py:48— create_vapi_call() POSTs to https://api.vapi.ai/call/phone to place a phone call; auth_token, phone_number_id, customer_number are all hardcoded empty strings so it cannot function without them being filled in
TTS narration during drone dispatch/human detection via DeepgramCode-supported
Call rescue agent sends audio instructions using Deepgram's TTS
Claimed on Devpostmedium confidencedrone_simulation.py:50— generate_audio() uses DeepgramClient.speak to synthesize dispatch/complete audio for the drone simulationAgents/human_detection_agent.py:132— generate_audio()/play_audio_message() synthesize and play a Deepgram TTS alert after human detection, but not specifically in call_rescue_agent.py which instead uses Vapi for the actual call
README project documentationClaimed only
README describes the project (project-z)
Claimed on readmehigh confidence
An AI agent derived these features from the project’s Devpost page and readme, then searched the code for each one. Verified features are backed by cited code; claimed-only features had no supporting code, which is not by itself proof a feature is missing.
Export this project's context (description, README, evidence, key source files) to chat with an AI agent elsewhere.