<?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: Syed Saqib</title>
    <description>The latest articles on DEV Community by Syed Saqib (@saqib_builds).</description>
    <link>https://dev.to/saqib_builds</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%2F4157619%2F23122b7f-eb73-42dd-aa8f-8d752b72a6d0.jpg</url>
      <title>DEV Community: Syed Saqib</title>
      <link>https://dev.to/saqib_builds</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/saqib_builds"/>
    <language>en</language>
    <item>
      <title>AirNEET: Building an Airplane Mode Socratic Mentor for My Sister's NEET Prep (100% Offline RAG)</title>
      <dc:creator>Syed Saqib</dc:creator>
      <pubDate>Mon, 05 Oct 2026 06:18:37 +0000</pubDate>
      <link>https://dev.to/saqib_builds/airneet-building-an-airplane-mode-socratic-mentor-for-my-sisters-neet-prep-100-offline-rag-4921</link>
      <guid>https://dev.to/saqib_builds/airneet-building-an-airplane-mode-socratic-mentor-for-my-sisters-neet-prep-100-offline-rag-4921</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/hacktoberfest-weekend-2026-10-01"&gt;Hacktoberfest Weekend Challenge: Build for a Friend&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;Preparing for the Indian &lt;strong&gt;National Eligibility cum Entrance Test (NEET)&lt;/strong&gt; requires memorizing thousands of verbatim lines across the NCERT curriculum. My sister, &lt;strong&gt;Sifat&lt;/strong&gt;, is preparing for NEET Medical 2027.&lt;/p&gt;

&lt;p&gt;Whenever she studied complex Biology chapters, she ran into three major roadblocks:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;The Distraction Loop:&lt;/strong&gt; Opening a browser or study app on her laptop invited notifications, WhatsApp pings, and YouTube rabbit holes. When she switched to Airplane Mode to focus, traditional digital study tools stopped working.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The Spoon-Feeding Trap:&lt;/strong&gt; General conversational LLMs immediately provide full answers. Without the cognitive strain of recalling facts from memory, retention collapses on exam day.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Negative Marking &amp;amp; Hallucinations:&lt;/strong&gt; NEET penalizes incorrect answers with negative marks (-1 mark per incorrect answer). A general LLM hallucinating a single biochemical bond or enzyme property can damage an aspirant's score.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;I built &lt;strong&gt;AirNEET&lt;/strong&gt; specifically for Sifat: an offline desktop web tutor built exclusively for &lt;strong&gt;Airplane Mode&lt;/strong&gt;. It features:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;100% Offline Local RAG:&lt;/strong&gt; Grounded strictly in NCERT textbook excerpts without requiring internet connectivity.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Strict Socratic Tutoring:&lt;/strong&gt; Never gives the answer directly; provides &lt;strong&gt;one conceptual clue&lt;/strong&gt; and &lt;strong&gt;one diagnostic test question&lt;/strong&gt; to force active recall.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;"Roast My Mistakes" Mode:&lt;/strong&gt; A supportive sibling persona that analyzes session mistakes with lighthearted banter and high-yield NEET mnemonics.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Asynchronous Mentor Sync:&lt;/strong&gt; Once Wi-Fi is restored after her study block, session metrics and identified weak topics sync to a cloud dashboard so I can review her progress.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Live Sibling Review Dashboard (Render):&lt;/strong&gt; &lt;a href="https://airneet.onrender.com/dashboard" rel="noopener noreferrer"&gt;https://airneet.onrender.com/dashboard&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Offline Client:&lt;/strong&gt; Runs locally on &lt;code&gt;http://localhost:3000&lt;/code&gt; under complete Airplane Mode.&lt;/li&gt;
&lt;/ul&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%2Fp5j9d1lnmljcl8t61ndo.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%2Fp5j9d1lnmljcl8t61ndo.png" alt="Chat UI with the Socratic hint and without WiFi" width="800" height="431"&gt;&lt;/a&gt;&lt;/p&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%2Fq1uuj6s25a4alyqo1zxk.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%2Fq1uuj6s25a4alyqo1zxk.png" alt="Render Dashboard" width="800" height="404"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Code
&lt;/h2&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/syed-yaga" rel="noopener noreferrer"&gt;
        syed-yaga
      &lt;/a&gt; / &lt;a href="https://github.com/syed-yaga/AirNEET" rel="noopener noreferrer"&gt;
        AirNEET
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;AirNEET (Offline Socratic RAG)&lt;/h1&gt;
&lt;/div&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Hacktoberfest 2026 • Challenge 1: Build for a Friend&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Mentee:&lt;/strong&gt; Sifat (NEET Medical Aspirant)&lt;br&gt;
&lt;strong&gt;Core AI:&lt;/strong&gt; Local Ollama (&lt;code&gt;llama3.2&lt;/code&gt; + &lt;code&gt;nomic-embed-text&lt;/code&gt;)&lt;br&gt;
&lt;strong&gt;Stack:&lt;/strong&gt; Next.js 14/15 (App Router), Tailwind CSS, TypeScript, Express (Render-ready)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Executive Summary &amp;amp; Problem Definition&lt;/h2&gt;
&lt;/div&gt;
&lt;p&gt;Preparing for the &lt;strong&gt;Indian National Eligibility cum Entrance Test (NEET)&lt;/strong&gt; requires memorizing thousands of NCERT lines across Physics, Chemistry, and Biology. However, modern studying faces three critical friction points:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;The Distraction Loop:&lt;/strong&gt; Studying online invites social media notifications, messaging apps, and video rabbit holes. Turning Wi-Fi off eliminates distractions but breaks standard web learning tools.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The Spoon-Feeding Trap:&lt;/strong&gt; Standard conversational LLMs output full answers directly. When a student doesn't have to retrieve the information from memory, active recall drops drastically.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Hallucination Risk:&lt;/strong&gt; Generative AI often hallucinates facts, which is fatal in NEET's strict negative-marking scheme (-1 mark per incorrect answer).&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;The Solution:&lt;/h3&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;AirNEET&lt;/strong&gt; is a 100% offline desktop…&lt;/p&gt;&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/syed-yaga/AirNEET" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;GitHub Repository:&lt;/strong&gt; &lt;a href="https://github.com/syed-yaga/AirNEET" rel="noopener noreferrer"&gt;https://github.com/syed-yaga/AirNEET&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;License:&lt;/strong&gt; MIT License&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  How I Built It
&lt;/h2&gt;

&lt;p&gt;AirNEET balances an offline-first local client with an asynchronous cloud review companion:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Local Open-Source AI Stack (Ollama)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;LLM Engine:&lt;/strong&gt; Local &lt;code&gt;llama3.2&lt;/code&gt; running locally on &lt;code&gt;localhost:11434&lt;/code&gt; for sub-second, zero-cost Socratic streaming.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Embedding Model:&lt;/strong&gt; Local &lt;code&gt;nomic-embed-text&lt;/code&gt; (~274 MB) generating embeddings completely offline.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Vector Store:&lt;/strong&gt; In-memory LangChain vector store serialized to &lt;code&gt;client/data/vector_store/index.json&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  2. Frontend &amp;amp; RAG Pipeline
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Framework:&lt;/strong&gt; Next.js 14/15 App Router, TypeScript, and Tailwind CSS.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Selective Ingestion:&lt;/strong&gt; Chunked &lt;strong&gt;Class 11 Chapter 9 (Biomolecules)&lt;/strong&gt; into 47 optimized chunks (500 tokens, 80 overlap), keeping the active memory footprint under 2 GB RAM.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Socratic Guardrail:&lt;/strong&gt; Enforces responses formatted with strict &lt;code&gt;### Conceptual Clue:&lt;/code&gt; and &lt;code&gt;### Diagnostic Question:&lt;/code&gt; headers alongside verified NCERT page citations.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Local Persistence:&lt;/strong&gt; Writes study session logs and weak areas to &lt;code&gt;./data/study_log.json&lt;/code&gt; with zero network dependency.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  3. Cloud Review Backend (Render)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Backend:&lt;/strong&gt; Express &amp;amp; TypeScript web service deployed on &lt;strong&gt;Render&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Sync Mechanism:&lt;/strong&gt; When Wi-Fi is toggled back on, clicking "Sync to Brother" dispatches the session payload to &lt;code&gt;POST https://airneet.onrender.com/api/sync&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Mentor Dashboard:&lt;/strong&gt; Accessible at &lt;code&gt;GET /dashboard&lt;/code&gt;, rendering an overview of Sifat's study sessions, questions asked, and flagged weak concepts.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Why Does Open Innovation Matter?
&lt;/h2&gt;

&lt;p&gt;Open-source and local AI were non-negotiable for this project:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;True Airplane Mode:&lt;/strong&gt; Proprietary cloud APIs (OpenAI, Claude) require an active internet connection, directly breaking the core goal of a distraction-free, isolated study environment.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Deterministic Grounding &amp;amp; Zero Cost:&lt;/strong&gt; High-school students should not face subscription paywalls, token limits, or cloud downtime during exam preparation. Open-weight models like &lt;code&gt;llama3.2&lt;/code&gt; and &lt;code&gt;nomic-embed-text&lt;/code&gt; provide reliable, sub-second inference at zero cost.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Data Sovereignty:&lt;/strong&gt; Study logs, mistake patterns, and personal learning pace remain entirely on the local device.&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  Prize Categories
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Primary Track:&lt;/strong&gt; Hacktoberfest Challenge 1 — Build for a Friend (Built for my sister, Sifat, for NEET 2027)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Partner Category:&lt;/strong&gt; Render (Express review dashboard and sync API web service deployed on Render)&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>ai</category>
      <category>devchallenge</category>
      <category>weekendchallenge</category>
      <category>hf26challenge</category>
    </item>
  </channel>
</rss>
