Skip to content

edycutjong/RescueNodeZero

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

61 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

⚑ RescueNode Zero

Air-gapped multimodal triage intelligence hub β€” when the grid goes dark, the AI stays on.

Empowering disaster responders to find critical protocols in <1ms using Actian VectorAI DB β€” 100% offline on a single laptop.

Live Demo Video Demo DoraHacks


πŸ“Έ See it in Action

1. Real-Time Concept Demo (Loop)

Real-Time Dashboard Demo

2. Instant HAZMAT Lookup with RRF Fusion

Hazardous Materials Search

Searching chemical burn treatment acetone β€” watch RRF fusion cross-reference HAZMAT and medical protocols in 0.9ms with zero internet.

3. Medical Emergency Protocols

Medical Triage Interface

Advanced medical triage protocols (like Crush Syndrome) available instantly offline β€” critical for field extraction teams.

4. Multimodal Reconnaissance (Images & Audio)

Drone Reconnaissance Demo
πŸ“Έ Drone Reconnaissance
Field Audio Report Demo
πŸŽ™οΈ Field Audio Report

Cross-references standard text queries with MobileCLIP drone photo captions and Whisper-transcribed field audio reports.


πŸ’‘ The Problem & Solution

When natural disasters strike, cloud infrastructure is the first thing to die. Cell towers collapse, data centers flood, and first responders are left with no access to critical safety databases. A firefighter facing an unknown chemical spill can't Google "chlorine gas PPE requirements" when there's no internet.

RescueNode Zero solves this by running an entire AI-powered triage intelligence system on a single laptop β€” no cloud, no Wi-Fi, no dependencies. It uses Actian VectorAI DB for sub-millisecond hybrid vector search across HAZMAT protocols, medical procedures, and field inventory.

Key Features:

  • ⚑ 0.9ms Hybrid Search: Reciprocal Rank Fusion (RRF) combines semantic + keyword search across 49 pre-seeded documents
  • πŸ§ͺ HAZMAT Intelligence: 10 protocols with UN codes, PPE levels, decontamination procedures β€” instantly searchable
  • πŸ₯ Medical Triage: START/SALT protocols, chemical burns, crush syndrome, anaphylaxis treatment guides
  • πŸŽ™οΈ Audio Field Reports: Whisper-powered transcription of radio communications with zone/reporter metadata
  • πŸ“Έ Drone Imagery Analysis: CLIP-based captioning for aerial reconnaissance β€” ingest photos, search by description
  • ⚠️ Allergy Safety Filters: Exclude protocols containing patient allergens (penicillin, sulfa, codeine, aspirin)
  • πŸ“¦ Inventory Tracking: Real-time stock monitoring with LOW STOCK / CRITICAL threshold alerts
  • 🌐 100% Air-Gapped: Every model runs locally β€” all-MiniLM-L6-v2, MobileCLIP, Whisper. Zero cloud API calls.

πŸ—οΈ Architecture & Tech Stack

The frontend is a Next.js 16 military-grade SOC dashboard with glassmorphism cards, scanline overlays, and Orbitron typography. The backend is a Python FastAPI server running local ML models for text embeddings, image captioning, and audio transcription. Actian VectorAI DB powers the vector storage and hybrid search with Reciprocal Rank Fusion.

Architecture Diagram

Layer Technology
Frontend Next.js 16 (App Router), React 19, Tailwind CSS v4
Backend Python 3.12, FastAPI (async)
Vector DB Actian VectorAI DB
Text Embeddings all-MiniLM-L6-v2 (384-dim, runs locally)
Image Processing MobileCLIP ViT-B/32 (runs locally)
Audio Processing openai-whisper base (runs locally)
Search Fusion Reciprocal Rank Fusion (RRF) β€” semantic + keyword

πŸ† Sponsor Track: Actian VectorAI DB

We built RescueNode Zero specifically to demonstrate Actian VectorAI DB's edge-native capabilities β€” proving that enterprise-grade vector search doesn't need the cloud.

Integration Point Where in Code What It Does
VectorStore Adapter backend/core/vectordb.py Abstracted client interface for VectorAI DB operations
Embedding Pipeline backend/core/embeddings.py Generates 384-dim vectors via all-MiniLM-L6-v2, stores in VectorAI
Hybrid Search (RRF) backend/core/rrf.py Reciprocal Rank Fusion combining VectorAI semantic search + keyword filtering
Document Ingestion backend/api/ingest.py Upserts HAZMAT, medical, inventory docs into VectorAI collections
Filtered Queries backend/api/search.py SQL-style metadata filtering (allergens, categories) on VectorAI results

Why VectorAI DB? Traditional databases can't do semantic similarity search. Cloud vector DBs (Pinecone, Weaviate) require internet. Actian VectorAI DB is the only solution that delivers sub-millisecond vector search on a local Docker container β€” exactly what you need when infrastructure is destroyed.

(For reference on the underlying technology, see the Actian VectorAI DB Beta Repository)


πŸ“Š Performance

Metric Target Achieved
Query Latency < 15ms 0.9ms βœ…
Filtered Query < 15ms 2.3ms βœ…
Seed Documents 40+ 49 βœ…
Cloud Dependencies 0 0 βœ…
Build Errors 0 0 βœ…

πŸš€ Run it Locally (For Judges)

Option 1: Quick Start (Demo Mode)

# 1. Clone the repo
git clone https://github.com/edycutjong/rescuenodezero.git
cd rescuenodezero

# 2. Start the backend (auto-seeds 49 documents)
cd backend
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
DEMO_MODE=true uvicorn main:app --port 8000 --reload

# 3. In a new terminal β€” start the frontend
cd frontend
npm install
npm run dev

Open http://localhost:3000 β€” the dashboard is ready.

Option 2: Docker Compose

cp .env.example .env
docker-compose up --build

πŸ” Try These Searches

Query What It Demonstrates
chemical burn treatment acetone RRF fusion across HAZMAT + medical protocols
UN-1090 Direct HAZMAT protocol lookup by UN code
crush syndrome field extraction Medical emergency procedures
chlorine gas leak Toxic industrial chemical response
Toggle ⚠ penicillin filter Allergen-aware protocol exclusion

πŸ’‘ No accounts needed. The app is fully functional immediately β€” no login, no API keys, no cloud setup. Everything runs locally with pre-seeded data.


πŸ“ Project Structure

RescueNodeZero/
β”œβ”€β”€ backend/
β”‚   β”œβ”€β”€ api/                # REST endpoints (search, ingest, system)
β”‚   β”‚   β”œβ”€β”€ search.py       # Hybrid search with RRF fusion
β”‚   β”‚   β”œβ”€β”€ ingest.py       # Multimodal document ingestion
β”‚   β”‚   └── system.py       # Health checks, stats
β”‚   β”œβ”€β”€ core/               # Core intelligence layer
β”‚   β”‚   β”œβ”€β”€ vectordb.py     # Actian VectorAI DB adapter
β”‚   β”‚   β”œβ”€β”€ embeddings.py   # all-MiniLM-L6-v2 embedding pipeline
β”‚   β”‚   β”œβ”€β”€ rrf.py          # Reciprocal Rank Fusion engine
β”‚   β”‚   β”œβ”€β”€ whisper.py      # Audio transcription (Whisper)
β”‚   β”‚   └── clip.py         # Image captioning (MobileCLIP)
β”‚   β”œβ”€β”€ data/               # Seed datasets
β”‚   β”‚   β”œβ”€β”€ hazmat/         # 10 HAZMAT protocols (UN codes, PPE, decon)
β”‚   β”‚   β”œβ”€β”€ medical/        # 5 medical triage protocols
β”‚   β”‚   └── inventory/      # 24 supply inventory items
β”‚   β”œβ”€β”€ tests/              # Pytest test suite
β”‚   β”œβ”€β”€ main.py             # FastAPI entry point
β”‚   └── requirements.txt
β”œβ”€β”€ frontend/
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ app/            # Next.js 16 App Router
β”‚   β”‚   β”œβ”€β”€ components/     # 8 React 19 components
β”‚   β”‚   β”‚   β”œβ”€β”€ SearchBar   # Natural language query input
β”‚   β”‚   β”‚   β”œβ”€β”€ FilterChips # Allergen + category toggles
β”‚   β”‚   β”‚   β”œβ”€β”€ ResultCard  # Protocol cards with severity badges
β”‚   β”‚   β”‚   β”œβ”€β”€ ResultsGrid # Masonry-style results layout
β”‚   β”‚   β”‚   β”œβ”€β”€ InventoryPanel  # Stock level monitoring
β”‚   β”‚   β”‚   β”œβ”€β”€ UploadZone  # Drag-and-drop multimodal ingestion
β”‚   β”‚   β”‚   β”œβ”€β”€ LatencyBadge    # Real-time ms counter
β”‚   β”‚   β”‚   └── OfflineBadge   # Air-gap status indicator
β”‚   β”‚   └── lib/            # Types, API client, mock data
β”‚   └── package.json
β”œβ”€β”€ docs/
β”‚   └── architecture.png    # System architecture diagram
β”œβ”€β”€ docker-compose.yml      # One-command deployment
β”œβ”€β”€ Makefile                # Dev shortcuts (make dev, make test)
└── .env.example            # Environment template

🎨 Design System

Element Choice Rationale
Aesthetic Military SOC / Command Center Matches disaster response context
Headings Orbitron Technical, authoritative feel
Data JetBrains Mono Monospace for protocol codes & metrics
Body Inter Clean readability
Primary Cyan #06b6d4 Data/tech indicators
Success Green #22c55e Offline status badge
Warning Amber #f59e0b Low stock / caution alerts
Critical Red #ef4444 Emergency / critical severity
Effects Glassmorphism, scanlines, pulse-glow Premium SOC dashboard feel

πŸ“ License

MIT