<?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: Updesh .</title>
    <description>The latest articles on DEV Community by Updesh . (@theupdesh123).</description>
    <link>https://dev.to/theupdesh123</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%2F4155638%2F857d0d5d-b06a-405c-aaf2-da06fed7ebab.png</url>
      <title>DEV Community: Updesh .</title>
      <link>https://dev.to/theupdesh123</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/theupdesh123"/>
    <language>en</language>
    <item>
      <title>FocusFriend: A Voice-First ADHD &amp; Dyslexia Study Companion</title>
      <dc:creator>Updesh .</dc:creator>
      <pubDate>Sun, 04 Oct 2026 19:24:34 +0000</pubDate>
      <link>https://dev.to/theupdesh123/focusfriend-a-voice-first-adhd-dyslexia-study-companion-3pb8</link>
      <guid>https://dev.to/theupdesh123/focusfriend-a-voice-first-adhd-dyslexia-study-companion-3pb8</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;I built &lt;strong&gt;FocusFriend&lt;/strong&gt;, an offline-first, voice-guided study companion designed specifically for my college roommate, Rohan. &lt;/p&gt;

&lt;p&gt;Rohan deals with severe ADHD and dyslexia. Whenever exam season arrives, he hits a wall of cognitive fatigue trying to digest dense technical PDFs, lecture slides, and textbook chapters. Reading massive blocks of black-and-white text triggers immediate attention burnout. &lt;/p&gt;

&lt;p&gt;FocusFriend flips the script by turning complex study material into conversational, bite-sized spoken lessons. Instead of forcing him to stare at walls of text:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;It ingests dense academic PDFs and documentation.&lt;/li&gt;
&lt;li&gt;It breaks the concepts down into 2-minute, highly relatable analogies.&lt;/li&gt;
&lt;li&gt;It speaks the content aloud using natural, human-like voice synthesis.&lt;/li&gt;
&lt;li&gt;It conducts quick, interactive single-question voice checks to keep him actively engaged without overwhelming his working memory.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;When I showed it to Rohan with a chapter of Operating Systems notes, his exact words were: &lt;em&gt;"This feels like someone actually explaining the concept to me over coffee instead of my brain fighting the textbook."&lt;/em&gt;&lt;/p&gt;




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

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Live Streamlit App:&lt;/strong&gt; &lt;a href="https://focusfriend-devchallenge.streamlit.app/" rel="noopener noreferrer"&gt;Try FocusFriend Here&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;




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

&lt;p&gt;Check out the full open-source implementation and instructions to run it locally on GitHub:&lt;/p&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/Updesh413" rel="noopener noreferrer"&gt;
        Updesh413
      &lt;/a&gt; / &lt;a href="https://github.com/Updesh413/FocusFriend" rel="noopener noreferrer"&gt;
        FocusFriend
      &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;🧠 FocusFriend: A Voice-First ADHD &amp;amp; Dyslexia Study Companion&lt;/h1&gt;
&lt;/div&gt;
&lt;p&gt;&lt;a href="https://hacktoberfest.com" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/8ad61ad2998017b6c2ead0ca0903ddacc4da5b3be0dca8113d3847ab36108ebb/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4861636b746f626572666573742d323032362532304275696c64253230666f7225323061253230467269656e642d6f72616e67652e737667" alt="Hacktoberfest 2026"&gt;&lt;/a&gt;
&lt;a href="https://ollama.com" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/a4f5867b6da8639e2db33550b18756c8683ee7089055ad8f04c1010b766b0eb3/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6f63616c2532304c4c4d2d4f6c6c616d61253230286c6c616d61332e323a3362292d626c75652e737667" alt="Ollama"&gt;&lt;/a&gt;
&lt;a href="https://elevenlabs.io" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/d0a49ab3d5854054a88048ceac4abe28358a5075cc27fdda2cbf86b965a58550/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f566f69636525323041492d456c6576656e4c6162732d626c61636b2e737667" alt="ElevenLabs"&gt;&lt;/a&gt;
&lt;a href="https://streamlit.io" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/141ad0c5f024326bc83fd7f27af1a60ab897bf570e85b864f9d6ecc82cfa495d/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f55492d53747265616d6c69742d7265642e737667" alt="Streamlit"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Built for the &lt;strong&gt;Hacktoberfest "Build for a Friend" Challenge&lt;/strong&gt;. Designed to eliminate text-fatigue and cognitive overload for students with ADHD and dyslexia by transforming monolithic technical materials into 2-minute analogies and natural spoken audio.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;🌟 Key Features&lt;/h2&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Chunked 2-Minute Cognitive Explanations&lt;/strong&gt;: Ingests dense PDFs, Markdown, and TXT files, breaking them into bite-sized sections.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;ADHD-Tailored System Prompts&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;🚀 &lt;strong&gt;The Big Picture (30-second hook)&lt;/strong&gt;: Why the concept matters in engineering/real life.&lt;/li&gt;
&lt;li&gt;🧩 &lt;strong&gt;Everyday Analogies&lt;/strong&gt;: Concrete metaphors that demystify abstract mechanics.&lt;/li&gt;
&lt;li&gt;⚡ &lt;strong&gt;Bite-Sized Core Breakdown&lt;/strong&gt;: 3-4 bullet points maximum with bold terms.&lt;/li&gt;
&lt;li&gt;🎯 &lt;strong&gt;1-Question Active Recall&lt;/strong&gt;: Immediate interactive comprehension check with a collapsible answer.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;ElevenLabs Voice Integration&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;Warm, calm, and encouraging voice personas (Rachel, Drew, Clyde, Mimi, George).&lt;/li&gt;
&lt;li&gt;Voice stability and clarity tuning.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Local SHA-256 Audio Caching&lt;/strong&gt;: Caches synthesized speech under &lt;code&gt;.cache/audio/&lt;/code&gt; to avoid redundant…&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/Updesh413/FocusFriend" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;





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

&lt;p&gt;FocusFriend is designed to run locally with low latency on standard consumer hardware (tested on an AMD Ryzen 9 5900HX laptop with an NVIDIA RTX 3060 6 GB GPU).&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Open-Source AI Core:&lt;/strong&gt; Powered locally by &lt;strong&gt;Ollama&lt;/strong&gt; running Meta's &lt;code&gt;llama3.2:3b&lt;/code&gt;. At 4-bit quantization, the model consumes only ~2.2 GB of VRAM, running at a blistering 70+ tokens per second directly on the RTX 3060 without touching CPU offloading.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Intelligent Prompt Chunker:&lt;/strong&gt; Instead of raw summarization, custom prompts translate dense jargon into real-world analogies structured for active recall and ADHD learning patterns.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Document Extraction:&lt;/strong&gt; Uses &lt;code&gt;pypdf&lt;/code&gt; for fast, local, zero-leak text parsing from uploaded course materials.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Audio Synthesis:&lt;/strong&gt; Integrated the &lt;strong&gt;ElevenLabs Python SDK&lt;/strong&gt; (&lt;code&gt;elevenlabs&lt;/code&gt;) to stream warm, calm, human-like speech with virtually zero stutter.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;User Interface:&lt;/strong&gt; Built a clean, focused dashboard with &lt;strong&gt;Streamlit&lt;/strong&gt;, featuring instant section chunking, audio stream playback, and a quick-recall quiz panel.&lt;/li&gt;
&lt;/ul&gt;




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

&lt;p&gt;Open innovation is the backbone of this project:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Student Data Privacy:&lt;/strong&gt; Course syllabi, unpublished research notes, and personal study files stay entirely on the local machine. Sensitive documents never pass through proprietary training pipelines or closed third-party servers.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Zero Recurring Marginal Cost:&lt;/strong&gt; A student studying 6 hours a day would blow through cloud token budgets and pay-per-query limits. By utilizing open-weight models (&lt;code&gt;llama3.2:3b&lt;/code&gt;), Rohan gets infinite conversational turns and quizzes completely free.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Offline Reliability:&lt;/strong&gt; Whether studying in a spotty campus basement library or on an airplane, the entire intelligence layer runs 100% locally with zero internet dependency (with fallback audio synthesis options).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Predictable Hardware Fit:&lt;/strong&gt; Open weights allow precise quantization control (Q4_K_M), letting us guarantee that the model sits neatly inside a 6 GB VRAM budget alongside everyday apps.&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  My Agent Session
&lt;/h2&gt;

&lt;p&gt;I used the &lt;strong&gt;Antigravity CLI&lt;/strong&gt; agent harness to scaffold, tune the local Ollama integration, and verify the ElevenLabs audio pipeline. The session was captured and tracked using &lt;strong&gt;DevRelay&lt;/strong&gt;:&lt;/p&gt;


&lt;div class="ltag-agent-session"&gt;
  &lt;div class="agent-session-header"&gt;
    
    &lt;span class="agent-session-tool-icon-badge" title="Gemini CLI"&gt;
&lt;/span&gt;
    &lt;span class="agent-session-title"&gt;FocusFriend - Build Session (Hacktoberfest MVP)&lt;/span&gt;
  &lt;/div&gt;

  &lt;div class="agent-session-scroll"&gt;

      &lt;div class="agent-session-message agent-session-user"&gt;
        &lt;div class="agent-session-role-badge agent-session-role-user"&gt;
          You
        &lt;/div&gt;
        &lt;div class="agent-session-content"&gt;
                &lt;div class="agent-session-text"&gt;
                  &lt;p&gt;Start tracking this build session using the DevRelay integration. Keep track of the session ID so we can export it at the end.&lt;/p&gt;

                &lt;/div&gt;
        &lt;/div&gt;
      &lt;/div&gt;

      &lt;div class="agent-session-message agent-session-assistant"&gt;
        &lt;div class="agent-session-role-badge agent-session-role-assistant"&gt;
          Agent
        &lt;/div&gt;
        &lt;div class="agent-session-content"&gt;
                &lt;div class="agent-session-text"&gt;
                  &lt;p&gt;Session tracking initialized. DevRelay session ID 475 assigned.&lt;/p&gt;

                &lt;/div&gt;
        &lt;/div&gt;
      &lt;/div&gt;

      &lt;div class="agent-session-message agent-session-user"&gt;
        &lt;div class="agent-session-role-badge agent-session-role-user"&gt;
          You
        &lt;/div&gt;
        &lt;div class="agent-session-content"&gt;
                &lt;div class="agent-session-text"&gt;
                  &lt;p&gt;Act as a Principal Full-Stack AI Engineer. Build an end-to-end working MVP for the Hacktoberfest "Build for a Friend" challenge called: "FocusFriend: A Voice-First ADHD &amp;amp; Dyslexia Study Companion"&lt;/p&gt;

                &lt;/div&gt;
        &lt;/div&gt;
      &lt;/div&gt;

      &lt;div class="agent-session-message agent-session-assistant"&gt;
        &lt;div class="agent-session-role-badge agent-session-role-assistant"&gt;
          Agent
        &lt;/div&gt;
        &lt;div class="agent-session-content"&gt;
                &lt;div class="agent-session-text"&gt;
                  &lt;p&gt;Engineered the complete FocusFriend MVP with Ollama local LLM, ElevenLabs voice integration, document ingestion, and test suite.&lt;/p&gt;

                &lt;/div&gt;
        &lt;/div&gt;
      &lt;/div&gt;

      &lt;div class="agent-session-message agent-session-user"&gt;
        &lt;div class="agent-session-role-badge agent-session-role-user"&gt;
          You
        &lt;/div&gt;
        &lt;div class="agent-session-content"&gt;
                &lt;div class="agent-session-text"&gt;
                  &lt;p&gt;from the UI remove hardware details and also put the env in gitignore so that keys are not pushed to github&lt;/p&gt;

                &lt;/div&gt;
        &lt;/div&gt;
      &lt;/div&gt;

      &lt;div class="agent-session-message agent-session-assistant"&gt;
        &lt;div class="agent-session-role-badge agent-session-role-assistant"&gt;
          Agent
        &lt;/div&gt;
        &lt;div class="agent-session-content"&gt;
                &lt;div class="agent-session-text"&gt;
                  &lt;ol&gt;
&lt;li&gt;Created .gitignore strictly ignoring .env, .env.*, .venv/, .cache/ audio artifacts, and &lt;strong&gt;pycache&lt;/strong&gt;/.&lt;/li&gt;
&lt;li&gt;Verified with git check-ignore that .env is actively ignored.&lt;/li&gt;
&lt;li&gt;Updated app.py: Removed hardware specs (Host CPU, GPU name, VRAM stats, temps) from the sidebar and generation progress messages, replacing it with a clean 'AI Engine Status' indicator.&lt;/li&gt;
&lt;li&gt;Ran verification test: Ollama daemon and llama3.2:3b responded with a complete local inference in 9.95s.&lt;/li&gt;
&lt;/ol&gt;

                &lt;/div&gt;
        &lt;/div&gt;
      &lt;/div&gt;
  &lt;/div&gt;

  &lt;div class="agent-session-footer"&gt;
    &lt;span class="agent-session-meta"&gt;
        6 of 6 messages
    &lt;/span&gt;
  &lt;/div&gt;
&lt;/div&gt;





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

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Best Use of ElevenLabs&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

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