🛡️ ResQAI — Fully Offline AI Emergency & Survival Assistant
An offline AI companion designed to provide life-saving guidance during emergencies — even when the internet fails.
🚨 Inspiration
Natural disasters, power outages, war zones, trekking accidents, and emergency situations often happen when internet connectivity is unavailable.
Most AI assistants today rely completely on cloud servers.
We asked ourselves:
What if AI could still help people survive even when the entire network goes down?
That idea inspired ResQAI — a fully offline emergency and survival assistant powered entirely by local AI models.
💡 What it does
ResQAI provides:
- 🩹 First-aid instructions
- 🔥 Survival guidance
- 🚑 Emergency response help
- 🌲 Outdoor survival assistance
- 📡 Offline AI conversations
- 🔒 Private local-only storage
- 🌐 LAN-accessible emergency support
Unlike traditional AI systems, ResQAI works 100% offline using locally running language models through Ollama.
🛠️ How I built it
⚡ Frontend Stack
const frontend = [
"React.js",
"Vite",
"Tailwind CSS v4",
"Framer Motion",
"GSAP",
"React Router v6"
];
The frontend was designed with a futuristic glassmorphism cyberpunk UI focused on smooth animations and responsive mobile-first performance.
🧠 Backend & AI Stack
from fastapi import FastAPI
import ollama
import faiss
app = FastAPI()
Technologies used:
- FastAPI
- Ollama
- Phi-3 / TinyLlama
- Nomic-Embed-Text
- FAISS Vector Database
- SQLite
- JWT Authentication
- bcrypt password hashing
🔍 Offline RAG Pipeline
The AI retrieval system follows this architecture:
$$ User\ Query \rightarrow Embedding\ Model \rightarrow FAISS\ Search \rightarrow Context\ Retrieval \rightarrow LLM\ Response $$
Inline representation:
( Offline\ AI + Local\ RAG = Reliable\ Emergency\ Assistance )
This allows ResQAI to retrieve relevant emergency protocols from local survival manuals and first-aid datasets entirely offline.
⚔️ Challenges I ran into
🔥 Running AI Locally
Optimizing local LLM inference while keeping response times usable on consumer hardware was difficult.
📦 Building the RAG System
Integrating embeddings, semantic search, and context injection without any cloud infrastructure required multiple iterations.
🎨 UI Optimization
Combining:
- Framer Motion
- GSAP
- Glassmorphism effects
while maintaining smooth FPS across devices was challenging.
🔐 Privacy & Security
Creating a fully private system with local authentication and encrypted storage required careful backend architecture.
🏆 Accomplishments that I'm proud of
- ✅ Built a fully offline AI assistant
- ✅ Integrated local RAG retrieval
- ✅ Designed a premium animated UI
- ✅ Achieved zero cloud dependency
- ✅ Implemented privacy-focused architecture
- ✅ Created an AI system usable during internet outages
One accomplishment we are especially proud of:
Proving that powerful AI systems can exist completely offline.
📚 What I learned
This project taught us:
- 🤖 Local AI inference
- 🔍 Vector embeddings & semantic retrieval
- ⚡ FastAPI backend engineering
- 🎨 High-performance frontend animation
- 🔒 Privacy-first architecture
- 📡 Offline-first AI system design
🚀 What's next for ResQAI
Future roadmap ideas:
- 📱 Native Android application
- 🛰️ Mesh-network communication
- 🗺️ Offline GPS integration
- 🎙️ Voice-controlled emergency assistant
- 🌍 Multi-language support
- 📶 Radio / LoRa communication
- 🧑⚕️ Specialized medical emergency datasets
🌟 Final Thoughts
ResQAI is more than just an AI chatbot.
It represents a future where AI remains functional during disasters, emergencies, and internet failures.
When connectivity fails, survival intelligence should not.
🔗 Project Links
Built With
- bcrypt-password-hashing-other-technologies:-local-first-architecture
- exposure
- faiss-vector-store-database-&-auth:-sqlite
- fastapi
- framer-motion
- frontend:-react.js
- gsap
- jwt-authentication
- lan/ssh
- lucide-react-backend:-python
- network
- nomic-embed-text
- offline-rag-pipeline
- ollama-(local-ai-inference)-ai-&-rag:-phi-3-/-tinyllama
- react-router-v6
- rest-apis
- tailwind-css-v4
- vite
Log in or sign up for Devpost to join the conversation.