DEV Community

Cover image for FocusFriend: A Voice-First ADHD & Dyslexia Study Companion
Updesh .
Updesh .

Posted on

FocusFriend: A Voice-First ADHD & Dyslexia Study Companion

This is a submission for the Hacktoberfest Weekend Challenge: Build for a Friend

What I Built

I built FocusFriend, an offline-first, voice-guided study companion designed specifically for my college roommate, Rohan.

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.

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:

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

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


Demo


Code

Check out the full open-source implementation and instructions to run it locally on GitHub:

🧠 FocusFriend: A Voice-First ADHD & Dyslexia Study Companion

Hacktoberfest 2026 Ollama ElevenLabs Streamlit

Built for the Hacktoberfest "Build for a Friend" Challenge. 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.


🌟 Key Features

  • Chunked 2-Minute Cognitive Explanations: Ingests dense PDFs, Markdown, and TXT files, breaking them into bite-sized sections.
  • ADHD-Tailored System Prompts
    • 🚀 The Big Picture (30-second hook): Why the concept matters in engineering/real life.
    • 🧩 Everyday Analogies: Concrete metaphors that demystify abstract mechanics.
    • âš¡ Bite-Sized Core Breakdown: 3-4 bullet points maximum with bold terms.
    • 🎯 1-Question Active Recall: Immediate interactive comprehension check with a collapsible answer.
  • ElevenLabs Voice Integration
    • Warm, calm, and encouraging voice personas (Rachel, Drew, Clyde, Mimi, George).
    • Voice stability and clarity tuning.
    • Local SHA-256 Audio Caching: Caches synthesized speech under .cache/audio/ to avoid redundant…

How I Built It

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).

  • Open-Source AI Core: Powered locally by Ollama running Meta's llama3.2:3b. 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.
  • Intelligent Prompt Chunker: Instead of raw summarization, custom prompts translate dense jargon into real-world analogies structured for active recall and ADHD learning patterns.
  • Document Extraction: Uses pypdf for fast, local, zero-leak text parsing from uploaded course materials.
  • Audio Synthesis: Integrated the ElevenLabs Python SDK (elevenlabs) to stream warm, calm, human-like speech with virtually zero stutter.
  • User Interface: Built a clean, focused dashboard with Streamlit, featuring instant section chunking, audio stream playback, and a quick-recall quiz panel.

Why Does Open Innovation Matter?

Open innovation is the backbone of this project:

  1. Student Data Privacy: 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.
  2. Zero Recurring Marginal Cost: A student studying 6 hours a day would blow through cloud token budgets and pay-per-query limits. By utilizing open-weight models (llama3.2:3b), Rohan gets infinite conversational turns and quizzes completely free.
  3. Offline Reliability: 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).
  4. Predictable Hardware Fit: 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.

My Agent Session

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

FocusFriend - Build Session (Hacktoberfest MVP)
You

Start tracking this build session using the DevRelay integration. Keep track of the session ID so we can export it at the end.

Agent

Session tracking initialized. DevRelay session ID 475 assigned.

You

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 & Dyslexia Study Companion"

Agent

Engineered the complete FocusFriend MVP with Ollama local LLM, ElevenLabs voice integration, document ingestion, and test suite.

You

from the UI remove hardware details and also put the env in gitignore so that keys are not pushed to github

Agent
  1. Created .gitignore strictly ignoring .env, .env.*, .venv/, .cache/ audio artifacts, and pycache/.
  2. Verified with git check-ignore that .env is actively ignored.
  3. 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.
  4. Ran verification test: Ollama daemon and llama3.2:3b responded with a complete local inference in 9.95s.

Prize Categories

  • Best Use of ElevenLabs

Top comments (0)