Skip to content

M1Z8N/calhacks-2025

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

A.R.I.S.E

Automated Routing & Inventory for Shipping Efficiency

A.R.I.S.E is an AI-powered airline operations control center that autonomously manages flight routing, crew scheduling, and resource inventory while responding to operational disruptions in real-time using a multi-agent system.

What It Solves

Airlines face constant operational challenges: weather delays, mechanical issues, crew scheduling conflicts, and cascading disruptions. Traditional operations centers rely on manual routing decisions and inventory management, leading to:

  • Inefficient flight routing and resource allocation
  • Poor inventory visibility across crew, aircraft, and cargo
  • Delayed decision-making during critical incidents
  • Inconsistent risk assessment and compliance checking
  • Reactive rather than proactive operations

A.R.I.S.E solves this by providing an intelligent, autonomous system that:

  • Optimizes routing for flights and crew assignments in real-time
  • Manages inventory of aircraft, crew, and operational resources
  • Detects incidents from multiple data sources automatically
  • Analyzes impact across flights, schedules, and resource availability
  • Generates action plans with automated routing adjustments and inventory reallocation
  • Coordinates execution via automated communications (email, SMS, voice calls)
  • Learns from history using vector memory to improve decision-making

Key Features

  • Multi-Agent System: Specialized AI agents for narration, impact analysis, options generation, risk assessment, and scoring
  • Real-Time Flight Data: Live flight tracking and status monitoring
  • Interactive Map: Visualize affected flights, weather patterns, and operational zones
  • Voice Integration: VAPI-powered voice calls for approvals and notifications
  • Vector Memory: ChromaDB-based case retrieval for experience-based decision making
  • Automated Actions: Email, Slack, and calendar integrations via Composio

Tech Stack

Frontend

  • Next.js 14 (App Router)
  • React with TypeScript
  • Tailwind CSS for styling
  • Mapbox GL for interactive mapping
  • Zustand for state management
  • Framer Motion for animations

Backend

  • Python 3.11+
  • FastAPI for REST API
  • Fetch.ai (ASI:One) for multi-agent orchestration
  • ChromaDB for vector memory and case retrieval
  • VAPI for voice call integration
  • Composio for email/Slack/calendar automation

External APIs

  • AviationStack - Live flight data
  • Bright Data - Web scraping for airport information
  • Mapbox - Map visualization

Getting Started

Prerequisites

  • Node.js 18+ and npm
  • Python 3.11+ and pip
  • Git

1. Clone the Repository

git clone https://github.com/yourusername/calhacks-2025.git
cd calhacks-2025

2. Set Up Environment Variables

Copy the example environment file to create your own:

cp be/.env.example .env

Edit .env and fill in your API keys:

Required Keys:

Optional Keys:

  • AVIATIONSTACK_API_KEY - For real flight data
  • BRIGHTDATA_API_KEY - For web scraping

3. Install Dependencies

Frontend

cd fe
npm install
cd ..

Backend

cd be
pip install -r requirements.txt
cd ..

4. Seed the Database (Optional)

Populate ChromaDB with historical incident data for case-based reasoning:

cd be
python3 seed_chromadb.py
cd ..

5. Start the Application

The easiest way is to use the start script:

./start.sh

Or start services manually:

Terminal 1 - Backend

cd be
python3 -m src.rest_server

Terminal 2 - Frontend

cd fe
npm run dev

6. Access the Application

Project Structure

calhacks-2025/
├── fe/                      # Next.js frontend
│   ├── app/                 # App router pages
│   ├── components/          # React components
│   │   ├── arise/          # A.R.I.S.E specific components
│   │   └── ops-room/       # Operations room components
│   └── lib/                # Utilities and stores
│
├── be/                      # Python backend
│   ├── src/
│   │   ├── agents/         # Multi-agent system
│   │   ├── api/            # FastAPI routes
│   │   ├── core_logic.py   # Core processing logic
│   │   ├── bureau_coordinator.py  # Agent coordination
│   │   └── rest_server.py  # FastAPI server
│   └── seed_chromadb.py    # Database seeding script
│
├── .env                     # Environment variables (create from .env.example)
└── start.sh                # Startup script

Usage

Triggering an Incident

  1. Navigate to http://localhost:3000/trigger
  2. Select an incident scenario (weather delay, mechanical issue, etc.)
  3. Watch as the multi-agent system:
    • Narrates the incident
    • Analyzes impact on flights and resources
    • Generates action plan options
    • Assesses risks and compliance
    • Scores and selects the best plan
    • Coordinates execution

Viewing the Operations Room

The main dashboard at http://localhost:3000 shows:

  • Live flight map with affected aircraft
  • Incident timeline with agent reasoning
  • Action plan with execution status
  • KPI metrics tracking resolution progress

Voice Integration (Optional)

To enable voice approvals and notifications:

  1. Set up a VAPI account and create assistants
  2. Configure phone numbers in .env
  3. For local testing, use ngrok to expose your backend:
    ngrok http 8000
  4. Update BACKEND_URL in .env with your ngrok URL

Development

Frontend Development

cd fe
npm run dev

Backend Development

cd be
python3 -m src.rest_server

Type Checking (Frontend)

cd fe
npm run type-check

Linting (Frontend)

cd fe
npm run lint

Security

All API keys and sensitive data are stored in the .env file, which is:

  • Excluded from Git via .gitignore
  • Never committed to the repository
  • Kept local to your machine

Never commit your .env file or share your API keys publicly.

Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

This project was created for CalHacks 2025.

Acknowledgments


Built with passion for CalHacks 2025

About

Automated Routing & Inventory for Shipping Efficiency

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors