<?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: Amit Verma</title>
    <description>The latest articles on DEV Community by Amit Verma (@amitverma0509).</description>
    <link>https://dev.to/amitverma0509</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%2F4158540%2Fdbc45084-a30d-4175-85c4-6e84a425a982.jpg</url>
      <title>DEV Community: Amit Verma</title>
      <link>https://dev.to/amitverma0509</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/amitverma0509"/>
    <language>en</language>
    <item>
      <title>I Built StudySaathi, a Private AI Study Buddy That Runs on Your Own Computer</title>
      <dc:creator>Amit Verma</dc:creator>
      <pubDate>Sun, 04 Oct 2026 11:36:16 +0000</pubDate>
      <link>https://dev.to/amitverma0509/i-built-studysaathi-a-private-ai-study-buddy-that-runs-on-your-own-computer-4cnp</link>
      <guid>https://dev.to/amitverma0509/i-built-studysaathi-a-private-ai-study-buddy-that-runs-on-your-own-computer-4cnp</guid>
      <description>&lt;h3&gt;
  
  
  StudySaathi: A Local Gemma Study Buddy with Flashcards, Quizzes and Dark Mode
&lt;/h3&gt;

&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;&lt;strong&gt;StudySaathi&lt;/strong&gt; ("study companion") is a local-first AI study buddy. You paste in your class notes, pick how you want to study, and it turns them into something easier to learn from:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;☼ &lt;strong&gt;Explain it&lt;/strong&gt; turns notes into a beginner-friendly explanation, split into clear cards (summary, key ideas, example, key terms, recap).&lt;/li&gt;
&lt;li&gt;? &lt;strong&gt;Quiz me&lt;/strong&gt; creates a 5-question multiple-choice quiz. You answer one question at a time and get instant right/wrong feedback with a short explanation, then a final score.&lt;/li&gt;
&lt;li&gt;▤ &lt;strong&gt;Flashcards&lt;/strong&gt; creates flip cards for quick revision. You mark each card "Got it" or "Still learning", shuffle the deck, and review only the ones you missed.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I built it for a friend who finds studying stressful. Big textbook chapters feel overwhelming, so I wanted a tool that breaks notes into small, calm steps he can go through at his own pace, without pressure and without needing an account or an internet connection to an AI service.&lt;/p&gt;

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

&lt;p&gt;I haven't deployed it, because it runs on your own computer with Ollama. Here is what it looks like, using Biology notes on photosynthesis:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Explain it&lt;/strong&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%2Fpea8rycpmofkhkaj8mer.jpeg" 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%2Fpea8rycpmofkhkaj8mer.jpeg" alt="Explain demo" width="799" height="515"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Quiz me&lt;/strong&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%2Fakixnz1n9gioa5urr638.jpeg" 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%2Fakixnz1n9gioa5urr638.jpeg" alt="Quiz demo" width="800" height="506"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Flashcards&lt;/strong&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%2Ffjb2pylig1ci80y93bnt.jpeg" 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%2Ffjb2pylig1ci80y93bnt.jpeg" alt="Flashcards demo" width="800" height="506"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The app also has a light/dark mode toggle in the top bar.&lt;/p&gt;
&lt;h2&gt;
  
  
  Testing
&lt;/h2&gt;

&lt;p&gt;I tested all three modes myself with Biology notes on photosynthesis, and the testing shaped the app:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Small models don't always follow the format.&lt;/strong&gt; &lt;code&gt;gemma3:1b&lt;/code&gt; sometimes added stray labels like "Flashcard 5" to answers, or laid out quizzes differently each time. I made the parsers tolerant of those variations, and if a response still can't be read, the app shows it as plain text instead of breaking.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Interactive beats a wall of text.&lt;/strong&gt; My first version dumped raw text into the result panel. Turning it into flip cards, a one-question-at-a-time quiz and sectioned explanations made it feel much less overwhelming, which was the whole point.&lt;/li&gt;
&lt;/ul&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/Amitverma0509" rel="noopener noreferrer"&gt;
        Amitverma0509
      &lt;/a&gt; / &lt;a href="https://github.com/Amitverma0509/Hacktoberfest_Challenge" rel="noopener noreferrer"&gt;
        Hacktoberfest_Challenge
      &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;StudySaathi 📚&lt;/h1&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;StudySaathi&lt;/strong&gt; is a local-first AI study buddy built with Flask, Ollama, and Gemma. Paste your class notes and choose how you want to study: get a simpler explanation, generate a practice quiz, or create revision flashcards.&lt;/p&gt;
&lt;p&gt;It was built for the &lt;strong&gt;Hacktoberfest Weekend Challenge: Build for a Friend&lt;/strong&gt; — the idea is to make studying feel a little less stressful and help a friend revise at their own pace.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Demo&lt;/h2&gt;
&lt;/div&gt;
&lt;p&gt;Screenshot of StudySaathi generating a practice quiz from Biology notes about photosynthesis:&lt;/p&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://github.com/Amitverma0509/Hacktoberfest_Challenge/screenshots/studysaathi-quiz-demo.jpeg"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fraw.githubusercontent.com%2FAmitverma0509%2FHacktoberfest_Challenge%2FHEAD%2Fscreenshots%2Fstudysaathi-quiz-demo.jpeg" alt="StudySaathi interface with a generated photosynthesis practice quiz"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Screenshot of StudySaathi generating a Explanation from Biology notes about photosynthesis:&lt;/p&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://github.com/Amitverma0509/Hacktoberfest_Challenge/screenshots/studysaathi-explain-demo.jpeg"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fraw.githubusercontent.com%2FAmitverma0509%2FHacktoberfest_Challenge%2FHEAD%2Fscreenshots%2Fstudysaathi-explain-demo.jpeg" alt="StudySaathi interface with a generated photosynthesis Explanation"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Screenshot of StudySaathi generating a flashcard from Biology notes about photosynthesis:&lt;/p&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://github.com/Amitverma0509/Hacktoberfest_Challenge/screenshots/studysaathi-flashcard-demo.jpeg"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fraw.githubusercontent.com%2FAmitverma0509%2FHacktoberfest_Challenge%2FHEAD%2Fscreenshots%2Fstudysaathi-flashcard-demo.jpeg" alt="StudySaathi interface with a generated photosynthesis flashcard"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Features&lt;/h2&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Explain it:&lt;/strong&gt; turn notes into a beginner-friendly explanation.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Quiz me:&lt;/strong&gt; generate five multiple-choice questions, with answers and explanations.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Flashcards:&lt;/strong&gt; create quick revision cards from notes.&lt;/li&gt;
&lt;li&gt;Responsive interface for desktop and smaller screens.&lt;/li&gt;
&lt;li&gt;Local inference through Ollama and Gemma; the core study workflow does…&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/Amitverma0509/Hacktoberfest_Challenge" 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;ul&gt;
&lt;li&gt;
&lt;strong&gt;Model:&lt;/strong&gt; Google's open-weight &lt;strong&gt;Gemma&lt;/strong&gt; (&lt;code&gt;gemma3:1b&lt;/code&gt; by default), run locally through &lt;strong&gt;Ollama&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Backend:&lt;/strong&gt; a small &lt;strong&gt;Flask&lt;/strong&gt; app with one endpoint, &lt;code&gt;/api/study&lt;/code&gt;. It takes the notes and a mode, wraps them in a task-specific prompt (explain, quiz or flashcards), and sends it to Ollama running on the same machine.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Frontend:&lt;/strong&gt; plain &lt;strong&gt;HTML, CSS and JavaScript&lt;/strong&gt;, with no framework.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Turning text into an interface:&lt;/strong&gt; the model returns plain text, so the frontend parses it into the interactive views above. Flashcards use a strict &lt;code&gt;FRONT:&lt;/code&gt; / &lt;code&gt;BACK:&lt;/code&gt; format, and the quiz and explanation parsers handle the different layouts small models produce. If a response doesn't match the expected format, the app shows it as plain text instead of breaking.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Configurable:&lt;/strong&gt; you can switch to any model you have installed in Ollama by setting the &lt;code&gt;OLLAMA_MODEL&lt;/code&gt; environment variable.&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;A study tool is only useful to the people who can actually use it, and many students can't pay for API subscriptions or don't want to send their notes to a third party. Open-weight models made a different design possible:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Privacy:&lt;/strong&gt; notes go from Flask to Ollama on the same computer, not to a hosted AI API.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;No cost or keys:&lt;/strong&gt; there is no usage bill and no API key to manage, so the app stays free for anyone to run.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Control:&lt;/strong&gt; I could choose and swap the model, tune the prompts, and build the app around what the model can do.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A closed API would have meant ongoing costs and sending a student's notes elsewhere, which is the wrong trade-off for something meant to make studying feel safe and low-pressure.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;Best Use of Gemma:&lt;/strong&gt; StudySaathi runs on Google's open-weight Gemma model (&lt;code&gt;gemma3:1b&lt;/code&gt;), served locally through Ollama. All three study modes (explanations, quizzes and flashcards) are generated by Gemma, and the app is built around turning its text output into interactive study views.&lt;/p&gt;

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