<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Ayush Raj</title>
    <description>The latest articles on DEV Community by Ayush Raj (@iam_ayushraj).</description>
    <link>https://dev.to/iam_ayushraj</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4078209%2F7d70fee3-3643-49f9-9960-6259fd84963e.png</url>
      <title>DEV Community: Ayush Raj</title>
      <link>https://dev.to/iam_ayushraj</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/iam_ayushraj"/>
    <language>en</language>
    <item>
      <title>I Built CampusCopilot — A Personal AI Learning System for College Students</title>
      <dc:creator>Ayush Raj</dc:creator>
      <pubDate>Sun, 04 Oct 2026 12:31:13 +0000</pubDate>
      <link>https://dev.to/iam_ayushraj/i-built-campuscopilot-a-personal-ai-learning-system-for-college-students-2no1</link>
      <guid>https://dev.to/iam_ayushraj/i-built-campuscopilot-a-personal-ai-learning-system-for-college-students-2no1</guid>
      <description>&lt;h1&gt;
  
  
  I Built CampusCopilot — A Personal AI Learning System for College Students
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://dev.to/t/devchallenge"&gt;#devchallenge&lt;/a&gt; &lt;a href="https://dev.to/t/weekendchallenge"&gt;#weekendchallenge&lt;/a&gt; &lt;a href="https://dev.to/t/hf26challenge"&gt;#hf26challenge&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Hacktoberfest Weekend Challenge: &lt;strong&gt;Build for a Friend&lt;/strong&gt; 🤝&lt;/p&gt;

&lt;h2&gt;
  
  
  🚀 CampusCopilot — Your Personal AI Developer Campus
&lt;/h2&gt;

&lt;p&gt;What if your AI didn't just answer your study questions, but actually understood where you were struggling and told you what to work on next?&lt;/p&gt;

&lt;p&gt;I built &lt;strong&gt;CampusCopilot&lt;/strong&gt; for a college friend who was struggling with DSA, coding practice, study materials, assignments, and exams.&lt;/p&gt;

&lt;p&gt;Instead of building another generic AI chatbot, I wanted to build something that connects the entire learning process:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Study → Practice → Make mistakes → Understand weaknesses → Get a better next step&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The result is &lt;strong&gt;CampusCopilot — a personal AI learning workspace for college students.&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  🎯 The Problem
&lt;/h2&gt;

&lt;p&gt;College students often have everything scattered across different places.&lt;/p&gt;

&lt;p&gt;Notes are stored in PDFs.&lt;/p&gt;

&lt;p&gt;Coding practice happens on different platforms.&lt;/p&gt;

&lt;p&gt;Assignments are tracked separately.&lt;/p&gt;

&lt;p&gt;Exam dates live in calendars.&lt;/p&gt;

&lt;p&gt;And when students use an AI chatbot, the conversation usually doesn't become an actual learning plan.&lt;/p&gt;

&lt;p&gt;I wanted CampusCopilot to answer a different question:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;"Given everything this student has been doing, what should they do next?"&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  🧠 The Core Idea
&lt;/h2&gt;

&lt;p&gt;Most AI learning tools follow:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Question → Answer&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;CampusCopilot tries to create:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Study → Practice → Performance → Weakness → Recommendation → Action&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The AI isn't only there to answer questions.&lt;/p&gt;

&lt;p&gt;It should help the student decide &lt;strong&gt;what to do next&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  📸 CampusCopilot in Action
&lt;/h2&gt;

&lt;h3&gt;
  
  
  🏠 Dashboard
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fqetptzfj2ut026fgrafu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fqetptzfj2ut026fgrafu.png" alt="CampusCopilot Dashboard" width="800" height="384"&gt;&lt;/a&gt;&lt;br&gt;
The dashboard answers:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;"What should I do today?"&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;It brings together:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Next Best Move&lt;/li&gt;
&lt;li&gt;Today's Focus&lt;/li&gt;
&lt;li&gt;Study time&lt;/li&gt;
&lt;li&gt;Topics completed&lt;/li&gt;
&lt;li&gt;Quiz accuracy&lt;/li&gt;
&lt;li&gt;Coding problems solved&lt;/li&gt;
&lt;li&gt;Current streak&lt;/li&gt;
&lt;li&gt;Weakest areas&lt;/li&gt;
&lt;li&gt;Upcoming deadlines&lt;/li&gt;
&lt;/ul&gt;


&lt;h3&gt;
  
  
  📚 StudyBuddy
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F9aumbhub2blhhhaspq9y.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F9aumbhub2blhhhaspq9y.png" alt="CampusCopilot StudyBuddy" width="800" height="377"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;StudyBuddy turns uploaded study material into an interactive learning workspace.&lt;/p&gt;


&lt;h3&gt;
  
  
  💻 CodeExplain
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F9nogzjxh2sctmbiqe79c.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F9nogzjxh2sctmbiqe79c.png" alt="CampusCopilot CodeExplain" width="799" height="379"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;CodeExplain focuses on understanding bugs instead of simply copying fixes.&lt;/p&gt;


&lt;h3&gt;
  
  
  📅 Campus Planner
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fvycb5x6rp8x4zew6yfmp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fvycb5x6rp8x4zew6yfmp.png" alt="CampusCopilot Planner" width="800" height="381"&gt;&lt;/a&gt;&lt;br&gt;
Campus Planner brings exams, assignments and daily tasks into one workspace.&lt;/p&gt;


&lt;h3&gt;
  
  
  📊 Learning Profile
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F9s55ydehx196mphw232f.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F9s55ydehx196mphw232f.png" alt="CampusCopilot Learning Profile" width="800" height="383"&gt;&lt;/a&gt;&lt;br&gt;
The Learning Profile turns learning activity into meaningful insights.&lt;/p&gt;


&lt;h2&gt;
  
  
  🔄 The Learning Loop
&lt;/h2&gt;

&lt;p&gt;This is the core idea behind CampusCopilot:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Study&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
↓&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Practice&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
↓&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Make mistakes&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
↓&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Identify weak areas&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
↓&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Update learning profile&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
↓&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Recommend next action&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
↓&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Practice again&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;For example, if a student repeatedly struggles with recursion and has low practice accuracy, CampusCopilot can identify it as a weak topic and recommend a focused practice session.&lt;/p&gt;

&lt;p&gt;Instead of simply saying:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Here is an explanation of recursion."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;It can say:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;"Recursion is currently one of your weakest areas. Spend 35 minutes practicing it."&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The goal isn't just to provide an answer.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The goal is to help the student make progress.&lt;/strong&gt;&lt;/p&gt;


&lt;h2&gt;
  
  
  📚 StudyBuddy
&lt;/h2&gt;

&lt;p&gt;StudyBuddy turns uploaded study material into an interactive learning workspace.&lt;/p&gt;

&lt;p&gt;It provides four learning modes.&lt;/p&gt;
&lt;h3&gt;
  
  
  🔎 Ask
&lt;/h3&gt;

&lt;p&gt;Ask questions about uploaded study material and retrieve relevant context before generating the response.&lt;/p&gt;
&lt;h3&gt;
  
  
  👨‍🏫 Teach Me
&lt;/h3&gt;

&lt;p&gt;Learn a concept progressively through:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Simple explanation&lt;/li&gt;
&lt;li&gt;Code example&lt;/li&gt;
&lt;li&gt;Intuitive analogy&lt;/li&gt;
&lt;li&gt;Quick check&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;
  
  
  🧠 Quiz Me
&lt;/h3&gt;

&lt;p&gt;Practice with questions and track performance.&lt;/p&gt;
&lt;h3&gt;
  
  
  🆘 I'm Stuck
&lt;/h3&gt;

&lt;p&gt;Get a concept re-framed using different explanations, analogies and problem-solving approaches.&lt;/p&gt;

&lt;p&gt;The idea is to make studying &lt;strong&gt;interactive instead of simply reading PDFs.&lt;/strong&gt;&lt;/p&gt;


&lt;h2&gt;
  
  
  🔎 Grounded Study Assistance
&lt;/h2&gt;

&lt;p&gt;For uploaded study materials, CampusCopilot uses a retrieval pipeline:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;PDF → Text Extraction → Chunking → TF-IDF Retrieval → Cosine Similarity → Relevant Context → Llama → Grounded Response&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This helps StudyBuddy focus its responses on the student's own uploaded material instead of treating every question like a completely generic chatbot request.&lt;/p&gt;


&lt;h2&gt;
  
  
  💻 CodeExplain
&lt;/h2&gt;

&lt;p&gt;As a CSE student, one of the most frustrating experiences is getting code that doesn't work and not understanding why.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;CodeExplain focuses on teaching rather than simply fixing.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;It breaks problems into six stages:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;What happened&lt;/strong&gt; — simple error explanation&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Why it happened&lt;/strong&gt; — underlying programming concept&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Where&lt;/strong&gt; — exact location in the code&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;How to fix it&lt;/strong&gt; — clean corrected code&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;What you should learn&lt;/strong&gt; — core concept&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;What you should practice next&lt;/strong&gt; — targeted practice&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;It supports:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Python&lt;/li&gt;
&lt;li&gt;Java&lt;/li&gt;
&lt;li&gt;C++&lt;/li&gt;
&lt;li&gt;JavaScript&lt;/li&gt;
&lt;li&gt;C&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For example, a recursion error isn't treated as just something to patch.&lt;/p&gt;

&lt;p&gt;CampusCopilot explains the relationship between the recursive call, the base case and the call stack so the student understands the underlying concept.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;"Don't just fix my code. Help me understand why I made the mistake."&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;


&lt;h2&gt;
  
  
  📅 Campus Planner
&lt;/h2&gt;

&lt;p&gt;Campus Planner brings exams, assignments and tasks into the same workspace.&lt;/p&gt;

&lt;p&gt;Students can manage:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Upcoming exams&lt;/li&gt;
&lt;li&gt;Assignments&lt;/li&gt;
&lt;li&gt;Daily tasks&lt;/li&gt;
&lt;li&gt;Priorities&lt;/li&gt;
&lt;li&gt;Deadlines&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It also includes &lt;strong&gt;Build My Study Plan&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;A student can provide:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Available study hours&lt;/li&gt;
&lt;li&gt;Subjects&lt;/li&gt;
&lt;li&gt;Exam dates&lt;/li&gt;
&lt;li&gt;Confidence levels&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;CampusCopilot can then generate an intelligent, time-blocked study plan.&lt;/p&gt;


&lt;h2&gt;
  
  
  📊 Learning Profile
&lt;/h2&gt;

&lt;p&gt;The Learning Profile turns learning activity into something meaningful.&lt;/p&gt;

&lt;p&gt;It tracks:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Study time&lt;/li&gt;
&lt;li&gt;Quiz accuracy&lt;/li&gt;
&lt;li&gt;Coding problems solved&lt;/li&gt;
&lt;li&gt;Topics mastered&lt;/li&gt;
&lt;li&gt;Weak topics&lt;/li&gt;
&lt;li&gt;Current streak&lt;/li&gt;
&lt;li&gt;Learning progress&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Instead of showing only activity numbers, the profile helps answer:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;"What am I good at?"&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Where am I struggling?"&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"What should I practice next?"&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;


&lt;h2&gt;
  
  
  🎯 The Next Best Move
&lt;/h2&gt;

&lt;p&gt;This is one of the ideas I care most about in CampusCopilot.&lt;/p&gt;

&lt;p&gt;For example, if a student repeatedly struggles with recursion:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Recursion → 42% Accuracy → Weak Topic Detected → Priority Focus → 35-Minute Practice Session → Quiz → Updated Performance → Updated Recommendation&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Instead of simply giving another explanation, CampusCopilot can recommend an action.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The goal is not just knowledge delivery.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The goal is progress.&lt;/strong&gt;&lt;/p&gt;


&lt;h2&gt;
  
  
  🔗 The Complete Learning Journey
&lt;/h2&gt;

&lt;p&gt;The different parts of CampusCopilot are connected:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Dashboard → StudyBuddy → Quiz → Learning Performance → Weak Topic → CodeExplain / Practice → Campus Planner → Study Plan → Dashboard&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This creates a continuous learning loop instead of a collection of disconnected AI features.&lt;/p&gt;


&lt;h2&gt;
  
  
  🤖 Why Local AI?
&lt;/h2&gt;

&lt;p&gt;One of the most important technical decisions was supporting a local AI setup.&lt;/p&gt;

&lt;p&gt;CampusCopilot can run:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;CampusCopilot → AI Service Layer → Ollama → Llama 3.1 8B&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This creates a local-first option for working with personal study materials, code and learning context.&lt;/p&gt;

&lt;p&gt;The Settings page clearly communicates whether the application is using:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;REAL LOCAL AI&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;or&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;DEMO MODE&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If Ollama is unavailable, CampusCopilot does not pretend that a simulated response came from the local model.&lt;/p&gt;

&lt;p&gt;Instead, it provides explicit controls to retry the connection or use Demo Mode.&lt;/p&gt;


&lt;h2&gt;
  
  
  🏗️ AI Architecture
&lt;/h2&gt;

&lt;p&gt;The overall architecture is:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Student&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;↓&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;CampusCopilot Workspace&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;↓&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;StudyBuddy / CodeExplain / Campus Planner&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;↓&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Retrieval Layer&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;↓&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;TF-IDF + Cosine Similarity&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;↓&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AI Service Layer&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;↓&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ollama&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;↓&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Llama 3.1 8B&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The architecture keeps the AI service layer modular so the application can work with a local model while keeping the rest of the learning system independent from the model implementation.&lt;/p&gt;


&lt;h2&gt;
  
  
  🧩 Unified State
&lt;/h2&gt;

&lt;p&gt;Another important part of the project is the shared learning state.&lt;/p&gt;

&lt;p&gt;CampusCopilot uses a unified application state so that the different sections aren't isolated demos.&lt;/p&gt;

&lt;p&gt;The application maintains a single source of truth for the student's learning context using:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;campus_copilot_state_v3&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;stored in local browser storage.&lt;/p&gt;

&lt;p&gt;This allows information such as learning activity, tasks, progress and weak areas to remain connected across the application.&lt;/p&gt;


&lt;h2&gt;
  
  
  🧠 What Makes CampusCopilot Different?
&lt;/h2&gt;

&lt;p&gt;There are already thousands of AI chatbots.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I didn't want to build another one.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The interesting part of CampusCopilot is the connection between the features.&lt;/p&gt;

&lt;p&gt;A student can:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Study a topic → take a quiz → perform poorly → have the weak area identified → receive a practice recommendation → practice the topic → see progress reflected in their profile.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;That creates a &lt;strong&gt;learning loop&lt;/strong&gt; instead of a collection of disconnected AI features.&lt;/p&gt;


&lt;h2&gt;
  
  
  🛠️ Technology
&lt;/h2&gt;
&lt;h3&gt;
  
  
  Frontend
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;React&lt;/li&gt;
&lt;li&gt;TypeScript&lt;/li&gt;
&lt;li&gt;Vite&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  AI
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Llama 3.1 8B&lt;/li&gt;
&lt;li&gt;Ollama&lt;/li&gt;
&lt;li&gt;Modular AI service layer&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  Retrieval
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;PDF processing&lt;/li&gt;
&lt;li&gt;Text chunking&lt;/li&gt;
&lt;li&gt;TF-IDF&lt;/li&gt;
&lt;li&gt;Cosine similarity&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  State
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Unified application state&lt;/li&gt;
&lt;li&gt;Persistent local browser storage&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  Deployment
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Vercel&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;
  
  
  🎨 Product Design
&lt;/h2&gt;

&lt;p&gt;I wanted the product to feel different from a generic AI chatbot.&lt;/p&gt;

&lt;p&gt;The interface was designed as a &lt;strong&gt;developer-focused campus workspace&lt;/strong&gt; rather than a traditional chatbot.&lt;/p&gt;

&lt;p&gt;The design uses:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Dark-first interface&lt;/li&gt;
&lt;li&gt;Optional light mode&lt;/li&gt;
&lt;li&gt;Developer-inspired visual language&lt;/li&gt;
&lt;li&gt;Glassmorphism panels&lt;/li&gt;
&lt;li&gt;Modern typography&lt;/li&gt;
&lt;li&gt;Code-focused UI&lt;/li&gt;
&lt;li&gt;Dashboard-style information hierarchy&lt;/li&gt;
&lt;li&gt;Responsive layouts&lt;/li&gt;
&lt;li&gt;Developer-inspired visual elements&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The goal was to make it feel like a &lt;strong&gt;personal developer campus&lt;/strong&gt;, not another ChatGPT clone.&lt;/p&gt;


&lt;h2&gt;
  
  
  🧪 Testing &amp;amp; Product Readiness
&lt;/h2&gt;

&lt;p&gt;I tested CampusCopilot as a complete student journey rather than only testing individual screens.&lt;/p&gt;

&lt;p&gt;The main flows were checked:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Dashboard navigation&lt;/li&gt;
&lt;li&gt;StudyBuddy&lt;/li&gt;
&lt;li&gt;Uploaded study material interaction&lt;/li&gt;
&lt;li&gt;Grounded question flow&lt;/li&gt;
&lt;li&gt;Quiz flow&lt;/li&gt;
&lt;li&gt;CodeExplain&lt;/li&gt;
&lt;li&gt;Campus Planner&lt;/li&gt;
&lt;li&gt;Study plan generation&lt;/li&gt;
&lt;li&gt;Learning Profile&lt;/li&gt;
&lt;li&gt;State persistence&lt;/li&gt;
&lt;li&gt;Demo Mode&lt;/li&gt;
&lt;li&gt;Local AI connection handling&lt;/li&gt;
&lt;li&gt;Empty states&lt;/li&gt;
&lt;li&gt;Loading states&lt;/li&gt;
&lt;li&gt;Error handling&lt;/li&gt;
&lt;li&gt;Responsive navigation&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I also added explicit loading states such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;"Thinking..."&lt;/li&gt;
&lt;li&gt;"Analyzing your code..."&lt;/li&gt;
&lt;li&gt;"Preparing your question..."&lt;/li&gt;
&lt;li&gt;"Building your study plan..."&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;and protected the application against accidental double submissions.&lt;/p&gt;

&lt;p&gt;The production build was verified successfully with &lt;code&gt;npm run build&lt;/code&gt; with &lt;strong&gt;0 TypeScript or Vite build errors&lt;/strong&gt;.&lt;/p&gt;


&lt;h2&gt;
  
  
  🧹 Product Audit &amp;amp; Polish
&lt;/h2&gt;

&lt;p&gt;Before deployment, I performed a complete product audit and removed:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Obsolete boilerplate&lt;/li&gt;
&lt;li&gt;Console errors&lt;/li&gt;
&lt;li&gt;Duplicate mock data&lt;/li&gt;
&lt;li&gt;Unnecessary hardcoded values&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I also added meaningful empty states such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;"You're all caught up!"&lt;/li&gt;
&lt;li&gt;"No practice problems solved yet"&lt;/li&gt;
&lt;li&gt;"No upcoming exams scheduled"&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The goal was to make the application feel like a complete product rather than a collection of hackathon screens.&lt;/p&gt;


&lt;h2&gt;
  
  
  🔌 Real Local AI + Demo Mode
&lt;/h2&gt;

&lt;p&gt;CampusCopilot supports two clearly communicated modes.&lt;/p&gt;
&lt;h3&gt;
  
  
  REAL LOCAL AI
&lt;/h3&gt;

&lt;p&gt;When Ollama is running on port &lt;code&gt;11434&lt;/code&gt;, CampusCopilot can use:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Llama 3.1 8B Instruct&lt;/strong&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  DEMO MODE
&lt;/h3&gt;

&lt;p&gt;If Ollama isn't available, the user can explicitly choose Demo Mode.&lt;/p&gt;

&lt;p&gt;The application provides:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;[Retry Connection]&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;and&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;[Use Demo Mode]&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;instead of silently pretending that Demo Mode responses are real model responses.&lt;/p&gt;

&lt;p&gt;This makes the hackathon demo more reliable while keeping the local AI architecture transparent.&lt;/p&gt;


&lt;h2&gt;
  
  
  🎥 Demo Video
&lt;/h2&gt;

&lt;p&gt;Watch the complete CampusCopilot demonstration:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://youtu.be/if2uOkwV4c0" rel="noopener noreferrer"&gt;YouTube Demo&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The demo covers:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Dashboard → StudyBuddy → CodeExplain → Campus Planner → Learning Profile&lt;/strong&gt;&lt;/p&gt;


&lt;h2&gt;
  
  
  🤖 AI Development / Agent Sessions
&lt;/h2&gt;

&lt;p&gt;AI-assisted development was used during the project for coding assistance, debugging, iteration and documentation.&lt;/p&gt;

&lt;p&gt;The development process involved repeatedly:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Build → Test → Find bugs → Debug → Improve → Test again&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The important part wasn't simply generating code.&lt;/p&gt;

&lt;p&gt;The final product decisions, feature design, architecture and testing decisions were made based on the actual product requirements.&lt;/p&gt;


&lt;h2&gt;
  
  
  🌐 Live Demo
&lt;/h2&gt;

&lt;p&gt;🚀 &lt;strong&gt;Try CampusCopilot:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://campus-copilot-flax.vercel.app/" rel="noopener noreferrer"&gt;https://campus-copilot-flax.vercel.app/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The deployed version can be explored in &lt;strong&gt;Demo Mode&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The local setup supports &lt;strong&gt;Llama 3.1 through Ollama&lt;/strong&gt;.&lt;/p&gt;


&lt;h2&gt;
  
  
  💻 GitHub Repository
&lt;/h2&gt;

&lt;p&gt;The complete source code is available here:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/iam-ayushraj05/campus-copilot" rel="noopener noreferrer"&gt;https://github.com/iam-ayushraj05/campus-copilot&lt;/a&gt;&lt;/p&gt;


&lt;h2&gt;
  
  
  💡 Why I Built It for a Friend
&lt;/h2&gt;

&lt;p&gt;The project started with a simple problem.&lt;/p&gt;

&lt;p&gt;My friend didn't need another place to ask an AI questions.&lt;/p&gt;

&lt;p&gt;They needed something that could help organize the entire learning process.&lt;/p&gt;

&lt;p&gt;They were dealing with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;DSA practice&lt;/li&gt;
&lt;li&gt;Coding mistakes&lt;/li&gt;
&lt;li&gt;Study materials&lt;/li&gt;
&lt;li&gt;Assignments&lt;/li&gt;
&lt;li&gt;Upcoming exams&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;at the same time.&lt;/p&gt;

&lt;p&gt;That made me think:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;"What if the AI could understand all of those signals together?"&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That became CampusCopilot.&lt;/p&gt;


&lt;h2&gt;
  
  
  🌱 Why Open Innovation Matters
&lt;/h2&gt;

&lt;p&gt;For students, AI should not always mean sending every piece of personal context to a remote service.&lt;/p&gt;

&lt;p&gt;Study materials, source code, learning history and mistakes can all be personal.&lt;/p&gt;

&lt;p&gt;Open-weight models make it possible to explore architectures where AI can run locally and the student has more control over their data and environment.&lt;/p&gt;

&lt;p&gt;That's one of the reasons I wanted to experiment with &lt;strong&gt;Llama 3.1 through Ollama&lt;/strong&gt;.&lt;/p&gt;


&lt;h2&gt;
  
  
  🚧 What I Learned
&lt;/h2&gt;

&lt;p&gt;The hardest part wasn't getting an AI model to answer a question.&lt;/p&gt;

&lt;p&gt;It was deciding:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;"What should happen after the answer?"&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;A useful AI learning product needs to connect:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conversation → Practice → Performance → Weakness Detection → Recommendation → Action&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;That changed how I think about AI applications.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The AI model isn't the entire product.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The system built around the AI is the product.&lt;/strong&gt;&lt;/p&gt;


&lt;h2&gt;
  
  
  🔮 What's Next?
&lt;/h2&gt;

&lt;p&gt;There is still a lot I want to improve:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Better retrieval and embeddings&lt;/li&gt;
&lt;li&gt;More programming practice&lt;/li&gt;
&lt;li&gt;Richer learning analytics&lt;/li&gt;
&lt;li&gt;More personalized recommendations&lt;/li&gt;
&lt;li&gt;Support for additional local models&lt;/li&gt;
&lt;li&gt;Better evaluation of actual learning progress&lt;/li&gt;
&lt;li&gt;More adaptive quizzes&lt;/li&gt;
&lt;li&gt;Stronger long-term learning memory&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;But the core idea will remain the same:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Help students understand what they need to learn, why they need to learn it, and what they should do next.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;


&lt;h2&gt;
  
  
  🏆 Built for the Hackathon
&lt;/h2&gt;

&lt;p&gt;CampusCopilot was built for the &lt;strong&gt;Hacktoberfest Weekend Challenge: Build for a Friend&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The project started with a real student problem rather than starting with a technology and searching for a problem afterward.&lt;/p&gt;

&lt;p&gt;The goal was simple:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Build something a college student could actually use.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The project combines:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;AI-assisted learning&lt;/li&gt;
&lt;li&gt;Local open-weight AI&lt;/li&gt;
&lt;li&gt;Grounded retrieval&lt;/li&gt;
&lt;li&gt;Coding education&lt;/li&gt;
&lt;li&gt;Personalized recommendations&lt;/li&gt;
&lt;li&gt;Learning analytics&lt;/li&gt;
&lt;li&gt;Study planning&lt;/li&gt;
&lt;li&gt;Persistent learning state&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;All inside one connected developer-focused campus workspace.&lt;/p&gt;


&lt;h2&gt;
  
  
  ❤️ Final Thought
&lt;/h2&gt;

&lt;p&gt;I started CampusCopilot because one student was struggling to keep everything together.&lt;/p&gt;

&lt;p&gt;What started as a solution for a friend became an experiment in a bigger question:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;"What if AI stopped being just an answer machine and became a learning companion that actually understands your progress?"&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That's what I'm trying to build with CampusCopilot.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Study smarter. Understand your code. Know what to do next. 🚀&lt;/strong&gt;&lt;/p&gt;


&lt;h2&gt;
  
  
  🔗 Project Links
&lt;/h2&gt;

&lt;p&gt;🌐 &lt;strong&gt;Live Demo&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://campus-copilot-flax.vercel.app/" rel="noopener noreferrer"&gt;https://campus-copilot-flax.vercel.app/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;💻 &lt;strong&gt;GitHub Repository&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/iam-ayushraj05/campus-copilot" rel="noopener noreferrer"&gt;https://github.com/iam-ayushraj05/campus-copilot&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🎥 &lt;strong&gt;Demo Video&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/if2uOkwV4c0" width="710" height="399"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  🤖 AI Disclosure
&lt;/h2&gt;

&lt;p&gt;AI tools were used during the development of CampusCopilot for coding assistance, debugging, iteration, testing support and documentation.&lt;/p&gt;

&lt;p&gt;The product concept, problem definition, feature design, architecture decisions, implementation direction, testing, evaluation and final product decisions were made by me.&lt;/p&gt;




&lt;h2&gt;
  
  
  🏷️ Tags
&lt;/h2&gt;

&lt;h1&gt;
  
  
  devchallenge
&lt;/h1&gt;

&lt;h1&gt;
  
  
  weekendchallenge
&lt;/h1&gt;

&lt;h1&gt;
  
  
  hf26challenge
&lt;/h1&gt;

&lt;h1&gt;
  
  
  react
&lt;/h1&gt;

</description>
      <category>devchallenge</category>
      <category>weekendchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>Building Suraksha AI: My 10-Day Journey Building a Voice Agent for Disaster Response in India</title>
      <dc:creator>Ayush Raj</dc:creator>
      <pubDate>Fri, 14 Aug 2026 21:00:55 +0000</pubDate>
      <link>https://dev.to/iam_ayushraj/building-suraksha-ai-my-10-day-journey-building-a-voice-agent-for-disaster-response-in-india-3j2i</link>
      <guid>https://dev.to/iam_ayushraj/building-suraksha-ai-my-10-day-journey-building-a-voice-agent-for-disaster-response-in-india-3j2i</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;Over the past 10 days, I participated in &lt;strong&gt;10 Days of Voice Agents — VoiceForBharat Edition&lt;/strong&gt;, where I built &lt;strong&gt;Suraksha AI&lt;/strong&gt;, a voice-first disaster response assistant designed for users in India.&lt;/p&gt;

&lt;p&gt;The goal was simple: make disaster-safety information easier to access through natural voice conversations.&lt;/p&gt;

&lt;p&gt;During emergencies such as floods, earthquakes, cyclones, landslides, or heatwaves, people may not have the time or ability to navigate websites or read long instructions. A voice assistant can provide short, conversational guidance and help users reach the right kind of assistance.&lt;/p&gt;

&lt;p&gt;Suraksha AI was built for the &lt;strong&gt;Disaster Response&lt;/strong&gt; track.&lt;/p&gt;




&lt;h2&gt;
  
  
  1. The Problem
&lt;/h2&gt;

&lt;p&gt;India experiences many different types of natural disasters, including floods, cyclones, earthquakes, landslides, lightning, and extreme heat.&lt;/p&gt;

&lt;p&gt;During these situations, people may need answers to questions such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What should I do right now?&lt;/li&gt;
&lt;li&gt;Is there a recent disaster event in my area?&lt;/li&gt;
&lt;li&gt;Where can I get emergency assistance?&lt;/li&gt;
&lt;li&gt;What should I take with me?&lt;/li&gt;
&lt;li&gt;Can I get help from a human?&lt;/li&gt;
&lt;li&gt;Can the assistant remember important information for future conversations?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Traditional information systems often require users to search, read, and navigate multiple pages.&lt;/p&gt;

&lt;p&gt;I wanted to explore a different approach:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;What if disaster assistance could happen through a natural voice conversation?&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That idea became &lt;strong&gt;Suraksha AI&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  2. Meet Suraksha AI
&lt;/h2&gt;

&lt;p&gt;Suraksha AI is a real-time voice assistant focused on disaster preparedness and emergency guidance.&lt;/p&gt;

&lt;p&gt;It can help users with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Flood safety&lt;/li&gt;
&lt;li&gt;Earthquake safety&lt;/li&gt;
&lt;li&gt;Cyclone preparation&lt;/li&gt;
&lt;li&gt;Landslide awareness&lt;/li&gt;
&lt;li&gt;Heatwave precautions&lt;/li&gt;
&lt;li&gt;Lightning and severe-weather safety&lt;/li&gt;
&lt;li&gt;Emergency preparedness&lt;/li&gt;
&lt;li&gt;Recent disaster-event information&lt;/li&gt;
&lt;li&gt;Human-help escalation&lt;/li&gt;
&lt;li&gt;Shelter-related conversations&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The assistant is designed to remain calm, concise, and practical because emergency conversations should not overwhelm the user with unnecessary information.&lt;/p&gt;

&lt;p&gt;Voice is especially useful here because the user can simply speak naturally instead of navigating a complicated interface.&lt;/p&gt;




&lt;h2&gt;
  
  
  3. How the System Works
&lt;/h2&gt;

&lt;p&gt;The core voice pipeline looks like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;User Speech
     ↓
Deepgram Nova-3
     ↓
Google Gemini
     ↓
Murf Falcon
     ↓
User Voice
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;LiveKit provides the real-time communication layer that connects the different components.&lt;/p&gt;

&lt;h3&gt;
  
  
  Main technologies
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;LiveKit Agents&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Used to build and manage the real-time voice-agent workflow.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Deepgram Nova-3&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Used for speech-to-text so the user's voice can be converted into text.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Google Gemini&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Used as the reasoning and conversation engine.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Murf Falcon&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Used for natural, low-latency voice generation. I used an Indian voice to make the assistant feel more natural for the target users.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Next.js&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Used for the frontend experience, including the voice interface, transcript, status indicators, and overall UI.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Python&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Used for the LiveKit agent and backend logic.&lt;/p&gt;




&lt;h2&gt;
  
  
  4. Important Features I Built
&lt;/h2&gt;

&lt;h3&gt;
  
  
  🗣️ Natural Voice Conversation
&lt;/h3&gt;

&lt;p&gt;The most important part of the project is the ability to communicate naturally through voice.&lt;/p&gt;

&lt;p&gt;For example, a user can ask:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"There is a flood in my area. What should I do?"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The assistant can respond with concise safety guidance instead of requiring the user to read a long emergency document.&lt;/p&gt;




&lt;h3&gt;
  
  
  🛡️ Safety Guardrails
&lt;/h3&gt;

&lt;p&gt;A disaster-response assistant cannot simply generate any answer.&lt;/p&gt;

&lt;p&gt;I added explicit guardrails to prevent Suraksha AI from:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Inventing disaster information&lt;/li&gt;
&lt;li&gt;Claiming an area is completely safe&lt;/li&gt;
&lt;li&gt;Pretending to be emergency authorities&lt;/li&gt;
&lt;li&gt;Pretending to be NDRF, SDRF, IMD, police, or a doctor&lt;/li&gt;
&lt;li&gt;Claiming that rescue teams have been contacted&lt;/li&gt;
&lt;li&gt;Inventing emergency numbers&lt;/li&gt;
&lt;li&gt;Giving fake live disaster information&lt;/li&gt;
&lt;li&gt;Creating human-help requests without user permission&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For immediate emergencies, the assistant directs the user toward emergency services such as &lt;strong&gt;112&lt;/strong&gt; rather than pretending that the AI itself has contacted responders.&lt;/p&gt;

&lt;p&gt;This was an important design decision because an AI assistant should never create a false sense of security during an emergency.&lt;/p&gt;




&lt;h3&gt;
  
  
  🌐 Disaster Alert Tool
&lt;/h3&gt;

&lt;p&gt;Suraksha AI can use a disaster-alert tool to retrieve recent disaster-event information from &lt;strong&gt;GDACS&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;This creates an important distinction between:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;General knowledge&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;and&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Current disaster information.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The assistant should not present general knowledge as if it were live information.&lt;/p&gt;

&lt;p&gt;When live verification is unavailable, the system is designed to say so rather than inventing an alert.&lt;/p&gt;




&lt;h3&gt;
  
  
  🧠 Persistent Caller Memory
&lt;/h3&gt;

&lt;p&gt;I also implemented persistent caller memory.&lt;/p&gt;

&lt;p&gt;With permission, the system can store information such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Name&lt;/li&gt;
&lt;li&gt;Location&lt;/li&gt;
&lt;li&gt;Household size&lt;/li&gt;
&lt;li&gt;Mobility needs&lt;/li&gt;
&lt;li&gt;Language preference&lt;/li&gt;
&lt;li&gt;Last check-in&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;However, sensitive information such as passwords, PINs, OTPs, Aadhaar numbers, and financial credentials should never be stored.&lt;/p&gt;

&lt;p&gt;The system also requires explicit permission before saving caller information.&lt;/p&gt;




&lt;h3&gt;
  
  
  🆘 Human Help Escalation
&lt;/h3&gt;

&lt;p&gt;One of the features I found particularly important was human escalation.&lt;/p&gt;

&lt;p&gt;AI should not pretend that it can solve every emergency.&lt;/p&gt;

&lt;p&gt;If a user is trapped, injured, or needs urgent local assistance that the AI cannot provide, Suraksha AI can prepare a human-help escalation request.&lt;/p&gt;

&lt;p&gt;But there is an important safety gate:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;The user's explicit permission is required before creating the escalation.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The system can explain why human help is appropriate, explain what information will be shared, and ask the user whether they want to proceed.&lt;/p&gt;

&lt;p&gt;This makes the AI an interface to human assistance rather than pretending to replace human responders.&lt;/p&gt;




&lt;h3&gt;
  
  
  🏠 Shelter Specialist Handoff
&lt;/h3&gt;

&lt;p&gt;I also implemented a specialist-agent handoff for shelter-related conversations.&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Where can I stay if my house is flooded?"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Instead of continuing the conversation entirely as the general disaster assistant, Suraksha AI can transfer the conversation to a &lt;strong&gt;Shelter Information Specialist&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The specialist receives the existing conversation context so that the user does not have to repeat their situation.&lt;/p&gt;

&lt;p&gt;This was one of the more interesting parts of the project because it demonstrated how multiple specialized agents can work together instead of putting every responsibility into one huge prompt.&lt;/p&gt;

&lt;p&gt;The shelter specialist is also explicitly prevented from inventing shelter names, addresses, availability, or opening times when verified live shelter data is unavailable.&lt;/p&gt;




&lt;h2&gt;
  
  
  5. The Frontend
&lt;/h2&gt;

&lt;p&gt;The frontend was built with Next.js and designed around a voice-first experience.&lt;/p&gt;

&lt;p&gt;It provides:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Voice interaction&lt;/li&gt;
&lt;li&gt;Live conversation transcript&lt;/li&gt;
&lt;li&gt;Agent status&lt;/li&gt;
&lt;li&gt;Suggested voice queries&lt;/li&gt;
&lt;li&gt;Disaster-response themed interface&lt;/li&gt;
&lt;li&gt;Real-time interaction feedback&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The idea was to make the interface understandable even when the user is focused primarily on speaking.&lt;/p&gt;




&lt;h2&gt;
  
  
  6. The Challenges I Faced
&lt;/h2&gt;

&lt;p&gt;Building a voice agent was very different from simply building a chatbot.&lt;/p&gt;

&lt;p&gt;One of the biggest challenges was &lt;strong&gt;agent behavior&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;A prompt may say:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Transfer shelter-related questions to the specialist."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;But the actual conversation can be unpredictable.&lt;/p&gt;

&lt;p&gt;Users may say:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"I need a shelter."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;or:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"There is a flood and I'm trapped. I need a relief center."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;or even:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Can you connect me with the shelter specialist?"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;These variations required careful tool descriptions and system-prompt instructions.&lt;/p&gt;

&lt;p&gt;Another challenge was making the handoff feel natural.&lt;/p&gt;

&lt;p&gt;The main agent needed to clearly announce the transfer, the specialist needed to continue from the existing context, and the user should not have to repeat their emergency.&lt;/p&gt;

&lt;p&gt;I also had to test situations where multiple intents appeared together, such as:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;flood + trapped + shelter + human help&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;That taught me an important lesson:&lt;/p&gt;

&lt;blockquote&gt;
&lt;h3&gt;
  
  
  Voice agents need behavioral testing, not just code testing.
&lt;/h3&gt;
&lt;/blockquote&gt;

&lt;p&gt;A function can work perfectly while the overall conversation still feels wrong.&lt;/p&gt;




&lt;h2&gt;
  
  
  7. What I Learned
&lt;/h2&gt;

&lt;p&gt;This challenge taught me that building a voice agent is much more than connecting an LLM to text-to-speech.&lt;/p&gt;

&lt;p&gt;The hardest part is designing the &lt;strong&gt;conversation architecture&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;I learned to think about:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What should the agent know?&lt;/li&gt;
&lt;li&gt;What should it never claim?&lt;/li&gt;
&lt;li&gt;When should it use a tool?&lt;/li&gt;
&lt;li&gt;When should it ask for permission?&lt;/li&gt;
&lt;li&gt;When should it transfer the conversation?&lt;/li&gt;
&lt;li&gt;What information should be remembered?&lt;/li&gt;
&lt;li&gt;What information should never be stored?&lt;/li&gt;
&lt;li&gt;What happens when a tool fails?&lt;/li&gt;
&lt;li&gt;How should the agent behave during an emergency?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These decisions are just as important as the underlying AI model.&lt;/p&gt;




&lt;h2&gt;
  
  
  8. How You Can Build a Voice Agent
&lt;/h2&gt;

&lt;p&gt;A basic real-time voice agent needs four major pieces:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Speech-to-Text
&lt;/h3&gt;

&lt;p&gt;Converts the user's voice into text.&lt;/p&gt;

&lt;p&gt;For Suraksha AI, I used &lt;strong&gt;Deepgram Nova-3&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. LLM
&lt;/h3&gt;

&lt;p&gt;Processes the user's request and decides what the agent should say or which tool it should use.&lt;/p&gt;

&lt;p&gt;I used &lt;strong&gt;Google Gemini&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Text-to-Speech
&lt;/h3&gt;

&lt;p&gt;Converts the generated response back into natural speech.&lt;/p&gt;

&lt;p&gt;I used &lt;strong&gt;Murf Falcon&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Real-Time Transport
&lt;/h3&gt;

&lt;p&gt;Connects the user's microphone, agent, audio output, and real-time events.&lt;/p&gt;

&lt;p&gt;I used &lt;strong&gt;LiveKit Agents&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The architecture can be represented as:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;                 ┌──────────────────┐
                 │      User        │
                 │     Speech       │
                 └────────┬─────────┘
                          │
                          ▼
                 ┌──────────────────┐
                 │  Deepgram STT    │
                 │    Nova-3        │
                 └────────┬─────────┘
                          │
                          ▼
                 ┌──────────────────┐
                 │   Google Gemini  │
                 │       LLM        │
                 └───────┬───┬──────┘
                         │   │
               ┌─────────┘   └──────────┐
               ▼                        ▼
       ┌───────────────┐        ┌───────────────┐
       │   AI Tools    │        │ Specialist /  │
       │ GDACS / Memory│        │   Escalation  │
       └───────────────┘        └───────────────┘
                         │
                         ▼
                 ┌──────────────────┐
                 │    Murf Falcon   │
                 │       TTS        │
                 └────────┬─────────┘
                          │
                          ▼
                 ┌──────────────────┐
                 │      User        │
                 │      Voice       │
                 └──────────────────┘
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  9. Running the Project
&lt;/h2&gt;

&lt;p&gt;After cloning the repository, install the project dependencies and configure the required environment variables.&lt;/p&gt;

&lt;p&gt;Keep API keys in environment files such as:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;.env.local
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;and make sure those files are included in &lt;code&gt;.gitignore&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Never commit API keys, phone numbers, caller data, or private credentials to GitHub.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The general development workflow is:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/iam-ayushraj05/suraksha-ai.git
&lt;span class="nb"&gt;cd &lt;/span&gt;suraksha-ai

&lt;span class="c"&gt;# Install frontend dependencies&lt;/span&gt;
npm &lt;span class="nb"&gt;install&lt;/span&gt;

&lt;span class="c"&gt;# Install backend dependencies&lt;/span&gt;
uv &lt;span class="nb"&gt;sync&lt;/span&gt;

&lt;span class="c"&gt;# Configure environment variables&lt;/span&gt;
&lt;span class="c"&gt;# Add the required API keys to your local .env files&lt;/span&gt;

&lt;span class="c"&gt;# Start the LiveKit agent&lt;/span&gt;
uv run python src/agent.py dev

&lt;span class="c"&gt;# Start the frontend in another terminal&lt;/span&gt;
npm run dev
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The exact commands may vary depending on the project structure and environment.&lt;/p&gt;

&lt;p&gt;Once both the backend agent and frontend are running, connect to the application and test conversations through the voice interface.&lt;/p&gt;

&lt;p&gt;I recommend testing multiple scenarios rather than just saying:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Hello."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;For example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;"There is a flood in my area. What should I do?"

"Is there a recent disaster near Patna?"

"I need a relief shelter."

"I am trapped and need human help."

"Can you remember my location?"

"How do I prepare for an earthquake?"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Testing different conversation paths is where many voice-agent problems become visible.&lt;/p&gt;




&lt;h2&gt;
  
  
  10. Evidence From the Build
&lt;/h2&gt;

&lt;p&gt;During the challenge, I tested Suraksha AI through real voice conversations and iterated on the agent behavior.&lt;/p&gt;

&lt;p&gt;Some useful evidence to include with this post:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Screenshot of the Suraksha AI interface&lt;/li&gt;
&lt;li&gt;Screenshot of the live transcript&lt;/li&gt;
&lt;li&gt;Short demo video&lt;/li&gt;
&lt;li&gt;Architecture diagram&lt;/li&gt;
&lt;li&gt;Shelter specialist handoff&lt;/li&gt;
&lt;li&gt;Human escalation flow&lt;/li&gt;
&lt;li&gt;Disaster-alert tool response&lt;/li&gt;
&lt;li&gt;GitHub repository&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These demonstrate the actual system much better than screenshots of code alone.&lt;/p&gt;




&lt;h2&gt;
  
  
  11. What I Would Build Next
&lt;/h2&gt;

&lt;p&gt;Suraksha AI is still an early version.&lt;/p&gt;

&lt;p&gt;There are several directions I would like to explore next.&lt;/p&gt;

&lt;h3&gt;
  
  
  📍 Verified Shelter Discovery
&lt;/h3&gt;

&lt;p&gt;Integrate trusted government or verified local shelter datasets so that the specialist can provide actual shelter locations instead of only explaining how users can find them.&lt;/p&gt;

&lt;h3&gt;
  
  
  🗺️ Location-Aware Assistance
&lt;/h3&gt;

&lt;p&gt;With appropriate user permission, the system could use reliable location information to provide more relevant emergency guidance.&lt;/p&gt;

&lt;h3&gt;
  
  
  📞 Human/Responder Integration
&lt;/h3&gt;

&lt;p&gt;The escalation system could eventually integrate with authorized emergency-response workflows rather than simply creating an internal request.&lt;/p&gt;

&lt;h3&gt;
  
  
  🛰️ More Real-Time Disaster Data
&lt;/h3&gt;

&lt;p&gt;Additional trusted sources could provide information about weather, flooding, cyclones, earthquakes, and other hazards.&lt;/p&gt;

&lt;h3&gt;
  
  
  🧑‍🤝‍🧑 More Specialist Agents
&lt;/h3&gt;

&lt;p&gt;The architecture could be expanded with specialists for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Medical guidance&lt;/li&gt;
&lt;li&gt;Evacuation information&lt;/li&gt;
&lt;li&gt;Shelter discovery&lt;/li&gt;
&lt;li&gt;Weather information&lt;/li&gt;
&lt;li&gt;Family reunification&lt;/li&gt;
&lt;li&gt;Relief-resource information&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  📊 Better Analytics
&lt;/h3&gt;

&lt;p&gt;Call analytics could help measure:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Response latency&lt;/li&gt;
&lt;li&gt;Successful conversations&lt;/li&gt;
&lt;li&gt;Escalation rate&lt;/li&gt;
&lt;li&gt;Tool failures&lt;/li&gt;
&lt;li&gt;Handoff success&lt;/li&gt;
&lt;li&gt;Common emergency questions&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  12. Repository and Demo
&lt;/h2&gt;

&lt;h3&gt;
  
  
  💻 GitHub
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://github.com/iam-ayushraj05/suraksha-ai" rel="noopener noreferrer"&gt;https://github.com/iam-ayushraj05/suraksha-ai&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🚨 Project
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Suraksha AI — AI Disaster Response Voice Assistant for India&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The repository contains the implementation and documentation for the project.&lt;/p&gt;

&lt;h3&gt;
  
  
  📸 Screenshots
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fhn500983oqw0f4e4sp5a.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fhn500983oqw0f4e4sp5a.png" alt=" " width="800" height="385"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fble7iezwvzsu4w411qgn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fble7iezwvzsu4w411qgn.png" alt=" " width="799" height="436"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fmib5ya3lax2ylhwh7cwg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fmib5ya3lax2ylhwh7cwg.png" alt=" " width="800" height="377"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fuouemxcl23q6yi1yclmg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fuouemxcl23q6yi1yclmg.png" alt=" " width="800" height="430"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fa6ir3c07jzbic2e6wbeh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fa6ir3c07jzbic2e6wbeh.png" alt=" " width="799" height="383"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fcoyyg11llhba8wxec8ir.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fcoyyg11llhba8wxec8ir.png" alt=" " width="800" height="386"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Add screenshots of the final Suraksha AI interface, transcript, specialist handoff, and escalation flow here.&lt;/p&gt;




&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;The biggest takeaway from these 10 days is that building a useful voice agent is not simply about making an AI that can talk.&lt;/p&gt;

&lt;p&gt;It is about building a system that knows:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;when to answer, when to use a tool, when to ask permission, when to transfer to another agent, and when to involve a human.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Suraksha AI started as a voice-agent challenge project, but the experience showed me how voice interfaces, AI agents, real-time systems, tools, memory, and human escalation can come together to solve real-world problems.&lt;/p&gt;

&lt;p&gt;I'm grateful for the opportunity to learn, experiment, break things, debug them, and keep improving the system throughout the challenge.&lt;/p&gt;

&lt;h2&gt;
  
  
  10 Days of Voice Agents — VoiceForBharat Edition
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Built with LiveKit, Google Gemini, Deepgram, Next.js, Python, and Murf Falcon.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Thanks to &lt;strong&gt;Murf AI&lt;/strong&gt; for the opportunity to build and learn through this challenge.&lt;/p&gt;

&lt;h1&gt;
  
  
  VoiceForBharat #VoiceAgents #AI #GenerativeAI #LiveKit #MurfAI #MurfFalcon #DisasterResponse #India #BuildInPublic
&lt;/h1&gt;

</description>
    </item>
  </channel>
</rss>
