<?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: Sarah Aejaz</title>
    <description>The latest articles on DEV Community by Sarah Aejaz (@sarah_aejaz_fbdbee3624440).</description>
    <link>https://dev.to/sarah_aejaz_fbdbee3624440</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%2F4156991%2Ffd747059-c0d5-42c8-8c0d-51751a06319e.png</url>
      <title>DEV Community: Sarah Aejaz</title>
      <link>https://dev.to/sarah_aejaz_fbdbee3624440</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sarah_aejaz_fbdbee3624440"/>
    <language>en</language>
    <item>
      <title>StudyBuddy: A Local AI Study Companion Built for a Friend</title>
      <dc:creator>Sarah Aejaz</dc:creator>
      <pubDate>Mon, 05 Oct 2026 14:42:00 +0000</pubDate>
      <link>https://dev.to/sarah_aejaz_fbdbee3624440/studybuddy-a-local-ai-study-companion-built-for-a-friend-5471</link>
      <guid>https://dev.to/sarah_aejaz_fbdbee3624440/studybuddy-a-local-ai-study-companion-built-for-a-friend-5471</guid>
      <description>&lt;h1&gt;
  
  
  I Built a Private Local AI Study Buddy for a Friend Who Hates Rereading Notes
&lt;/h1&gt;

&lt;p&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;/p&gt;

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

&lt;p&gt;We've all had that moment.&lt;/p&gt;

&lt;p&gt;You have pages and pages of lecture notes sitting in front of you. You know you need to study them. You know the exam is coming.&lt;/p&gt;

&lt;p&gt;But instead of actually learning, you find yourself rereading the same pages over and over again.&lt;/p&gt;

&lt;p&gt;That was the problem I wanted to solve for a friend.&lt;/p&gt;

&lt;p&gt;They didn't need another generic chatbot. They needed something much simpler:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Give me my notes, help me understand them, test me on them, and tell me what I still need to revise.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;So I built &lt;strong&gt;StudyBuddy&lt;/strong&gt;.&lt;/p&gt;

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

&lt;p&gt;StudyBuddy is a local AI study companion designed around four things a student actually needs when dealing with large amounts of study material:&lt;/p&gt;

&lt;h3&gt;
  
  
  Summarize
&lt;/h3&gt;

&lt;p&gt;Long notes become a shorter version containing the important information.&lt;/p&gt;

&lt;h3&gt;
  
  
  Explain Simply
&lt;/h3&gt;

&lt;p&gt;Instead of just shortening the material, StudyBuddy can explain difficult concepts in simpler language.&lt;/p&gt;

&lt;h3&gt;
  
  
  Generate Quiz
&lt;/h3&gt;

&lt;p&gt;The same study material can be turned into questions for active recall and self-testing.&lt;/p&gt;

&lt;h3&gt;
  
  
  Revision Checklist
&lt;/h3&gt;

&lt;p&gt;StudyBuddy can turn a large amount of material into a structured list of things to revise.&lt;/p&gt;

&lt;p&gt;The idea is simple:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Notes → Understand → Practice → Revise&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Rather than building another general-purpose AI assistant, I wanted to build something small enough to be useful and focused enough to solve one real problem.&lt;/p&gt;

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

&lt;p&gt;Here is the working demonstration of StudyBuddy:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://drive.google.com/file/d/1ZQlQThPF4fCZLhcOOdNjj8jpV9wAiwUw/view?usp=sharing" rel="noopener noreferrer"&gt;https://drive.google.com/file/d/1ZQlQThPF4fCZLhcOOdNjj8jpV9wAiwUw/view?usp=sharing&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In the demo, I select a local AI model, paste study material into StudyBuddy, and use the different study workflows to transform the same material into summaries, explanations, quizzes, and revision tasks.&lt;/p&gt;

&lt;p&gt;The demonstration also shows &lt;strong&gt;Gemma 3 1B&lt;/strong&gt; running locally.&lt;/p&gt;

&lt;p&gt;I used &lt;strong&gt;ElevenLabs&lt;/strong&gt; to generate the narration for the demo video.&lt;/p&gt;

&lt;h2&gt;
  
  
  How It Works
&lt;/h2&gt;

&lt;p&gt;The architecture is intentionally simple:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Student → StudyBuddy → Ollama → Local Open-Weight Model → Study Output&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;StudyBuddy is built with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Python&lt;/li&gt;
&lt;li&gt;Streamlit&lt;/li&gt;
&lt;li&gt;Ollama&lt;/li&gt;
&lt;li&gt;Llama 3.2 3B&lt;/li&gt;
&lt;li&gt;Google Gemma 3 1B&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The application communicates with a locally running Ollama server.&lt;/p&gt;

&lt;p&gt;When the student submits their study material, StudyBuddy sends it to the selected local model and displays the generated result.&lt;/p&gt;

&lt;p&gt;There is no OpenAI, Gemini, or Anthropic API sitting in the middle of the core study workflow.&lt;/p&gt;

&lt;p&gt;The student can choose between &lt;strong&gt;Llama 3.2 3B&lt;/strong&gt; and &lt;strong&gt;Gemma 3 1B&lt;/strong&gt; directly inside the application.&lt;/p&gt;

&lt;p&gt;That model choice was important to me because I didn't want the application to be permanently tied to one AI provider.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Gemma?
&lt;/h2&gt;

&lt;p&gt;For this project, I wanted a model that could realistically run on a personal computer rather than requiring a large cloud GPU.&lt;/p&gt;

&lt;p&gt;That's where &lt;strong&gt;Gemma 3 1B&lt;/strong&gt; fits particularly well.&lt;/p&gt;

&lt;p&gt;I integrated Gemma alongside Llama 3.2 3B and tested it directly inside StudyBuddy.&lt;/p&gt;

&lt;p&gt;The result is a simple model-selection workflow:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Choose your local model → provide your notes → choose how you want to study.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The model itself is not stored inside the repository. It is installed separately through Ollama, keeping the project lightweight while allowing the user to run inference locally.&lt;/p&gt;

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

&lt;p&gt;This is probably the most important part of the project for me.&lt;/p&gt;

&lt;p&gt;A student's lecture notes can contain personal information, unfinished assignments, private study material, or simply information they don't want to send to another service.&lt;/p&gt;

&lt;p&gt;With a typical closed cloud AI API, the application would send that material to an external service for processing.&lt;/p&gt;

&lt;p&gt;StudyBuddy takes a different approach.&lt;/p&gt;

&lt;p&gt;The core AI inference happens &lt;strong&gt;on the student's own computer&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;That changes what the application can offer.&lt;/p&gt;

&lt;h3&gt;
  
  
  Your study material can stay local
&lt;/h3&gt;

&lt;p&gt;Instead of sending the material to a cloud AI API for the core inference, StudyBuddy can process it locally.&lt;/p&gt;

&lt;h3&gt;
  
  
  There is no per-request cloud AI API cost
&lt;/h3&gt;

&lt;p&gt;The application does not need to pay a cloud AI provider for every summary, explanation, or quiz.&lt;/p&gt;

&lt;p&gt;The trade-off is that the user's own computer performs the computation.&lt;/p&gt;

&lt;h3&gt;
  
  
  The model is replaceable
&lt;/h3&gt;

&lt;p&gt;The application is not locked to one cloud model.&lt;/p&gt;

&lt;p&gt;Today it can use Llama or Gemma. Tomorrow, another compatible local model can be tested without rebuilding the entire concept.&lt;/p&gt;

&lt;h3&gt;
  
  
  The application can work without relying on a cloud AI service
&lt;/h3&gt;

&lt;p&gt;Once the required model and dependencies have been installed, the core inference does not need to send requests to an online AI service.&lt;/p&gt;

&lt;p&gt;For me, this is what makes the open approach meaningful.&lt;/p&gt;

&lt;p&gt;I wasn't just trying to make an AI application.&lt;/p&gt;

&lt;p&gt;I was trying to give the person using it more control over &lt;strong&gt;where their study material goes and which model processes it.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The Technology Behind the Project
&lt;/h2&gt;

&lt;p&gt;The core application is intentionally lightweight.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Frontend / Application:&lt;/strong&gt; Streamlit&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Language:&lt;/strong&gt; Python&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Local AI Runtime:&lt;/strong&gt; Ollama&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Open-Weight Models:&lt;/strong&gt; Llama 3.2 3B and Gemma 3 1B&lt;/p&gt;

&lt;p&gt;The models are downloaded locally through Ollama rather than being committed to the GitHub repository.&lt;/p&gt;

&lt;p&gt;This also means the project can remain relatively small while the actual AI model is managed separately on the user's machine.&lt;/p&gt;

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

&lt;p&gt;I used an AI coding agent during development to help implement and refine the project.&lt;/p&gt;

&lt;p&gt;The agent helped with the application implementation, local Ollama integration, model selection, testing, documentation, and project setup.&lt;/p&gt;

&lt;p&gt;The important part, however, was deciding &lt;strong&gt;what to build and why&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The agent helped turn the idea into software, but the product itself was driven by the problem I wanted to solve for my friend.&lt;/p&gt;

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

&lt;p&gt;The complete project is open source:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/aejaz-sarah/Study-Buddy" rel="noopener noreferrer"&gt;https://github.com/aejaz-sarah/Study-Buddy&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The repository includes the StudyBuddy application, setup instructions, documentation, demo material, and supporting project files.&lt;/p&gt;

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

&lt;h3&gt;
  
  
  Best Use of Gemma
&lt;/h3&gt;

&lt;p&gt;StudyBuddy uses &lt;strong&gt;Google's Gemma 3 1B open-weight model&lt;/strong&gt; through Ollama for local inference.&lt;/p&gt;

&lt;p&gt;Gemma is available directly inside the application alongside Llama 3.2 3B.&lt;/p&gt;

&lt;p&gt;I tested Gemma as a local model powering the study workflows demonstrated in the video, including generating study-related outputs from user-provided material without relying on a cloud AI API.&lt;/p&gt;

&lt;h3&gt;
  
  
  Best Use of ElevenLabs
&lt;/h3&gt;

&lt;p&gt;I used &lt;strong&gt;ElevenLabs&lt;/strong&gt; to generate the AI narration for the StudyBuddy working demonstration.&lt;/p&gt;

&lt;p&gt;Rather than leaving the technical demo as a silent screen recording, I used ElevenLabs to turn the walkthrough into a narrated explanation of the problem, the local AI architecture, the Gemma integration, and the different study workflows.&lt;/p&gt;

&lt;p&gt;This made the demonstration easier to follow while the actual StudyBuddy inference remained local.&lt;/p&gt;

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

&lt;p&gt;The biggest thing I learned from building StudyBuddy is that building for a person is different from building for a category.&lt;/p&gt;

&lt;p&gt;"Build an AI education tool" is a huge problem.&lt;/p&gt;

&lt;p&gt;"Build something that helps my friend deal with long lecture notes" is much easier to reason about.&lt;/p&gt;

&lt;p&gt;It changes the questions you ask.&lt;/p&gt;

&lt;p&gt;What does the person actually struggle with?&lt;/p&gt;

&lt;p&gt;What would they use repeatedly?&lt;/p&gt;

&lt;p&gt;What information do they want to give the application?&lt;/p&gt;

&lt;p&gt;What should the application do instead of making them figure everything out themselves?&lt;/p&gt;

&lt;p&gt;Those questions shaped StudyBuddy more than the technology did.&lt;/p&gt;

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

&lt;p&gt;StudyBuddy started with a very ordinary problem:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;My friend has too much to study and doesn't want to spend hours rereading it.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The solution didn't need to be another massive AI platform.&lt;/p&gt;

&lt;p&gt;It needed to be something focused.&lt;/p&gt;

&lt;p&gt;Something that could take their notes and help them move from:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"I have no idea where to start."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;to:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"I know what this means, I can test myself, and I know what I need to revise."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;That's what I wanted StudyBuddy to be.&lt;/p&gt;

&lt;p&gt;A small AI tool built for one real person, powered by local open-weight AI, and designed around the way they actually study.&lt;/p&gt;

&lt;p&gt;And that, to me, is the most interesting part of building for a friend.&lt;/p&gt;

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