<?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: Kunal Badgujar</title>
    <description>The latest articles on DEV Community by Kunal Badgujar (@kunal_badgujar_07).</description>
    <link>https://dev.to/kunal_badgujar_07</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%2F4157111%2Fc810bda0-2fc2-4f9c-a1cf-5a34e350e2ae.png</url>
      <title>DEV Community: Kunal Badgujar</title>
      <link>https://dev.to/kunal_badgujar_07</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/kunal_badgujar_07"/>
    <language>en</language>
    <item>
      <title>StudyMate — Your AI Study Partner for Exam Prep</title>
      <dc:creator>Kunal Badgujar</dc:creator>
      <pubDate>Sun, 04 Oct 2026 13:29:49 +0000</pubDate>
      <link>https://dev.to/kunal_badgujar_07/studymate-your-ai-study-partner-for-exam-prep-3kb5</link>
      <guid>https://dev.to/kunal_badgujar_07/studymate-your-ai-study-partner-for-exam-prep-3kb5</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;StudyMate&lt;/strong&gt;, an AI study partner designed for a friend who was preparing for engineering finals and struggling with dense technical subjects.&lt;/p&gt;

&lt;p&gt;The problem wasn't a lack of study material.&lt;/p&gt;

&lt;p&gt;It was knowing &lt;strong&gt;what to study, what to practice, and what they actually didn't understand&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;StudyMate turns their study material into a complete learning loop:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Notes → Study Guide → AI Quiz → Performance → Weak Topics → Targeted Revision&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Instead of simply asking an AI chatbot questions, the student can give StudyMate their own notes and let the system build an exam-focused study session around them.&lt;/p&gt;

&lt;h3&gt;
  
  
  The experience
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Add study material.&lt;/li&gt;
&lt;li&gt;Generate an exam-oriented study guide with Gemma.&lt;/li&gt;
&lt;li&gt;Take an AI-generated quiz based only on that material.&lt;/li&gt;
&lt;li&gt;Get deterministic scoring.&lt;/li&gt;
&lt;li&gt;See which topics need more work.&lt;/li&gt;
&lt;li&gt;Generate targeted revision for those weak topics.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The goal was simple:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Don't just help my friend study more. Help them study the things they actually need to improve.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

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

&lt;p&gt;🚀 &lt;strong&gt;Live Demo:&lt;/strong&gt; &lt;a href="https://studymate-sable-zeta.vercel.app/" rel="noopener noreferrer"&gt;https://studymate-sable-zeta.vercel.app/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If the hosted AI backend is not available in the deployed demo environment, here's the recorded demo showing the complete working flow:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;[Add your demo video link here]&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The demo flow is:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Add Material → Generate Study Guide → Generate Quiz → Answer Questions → Identify Weak Topics → Targeted Revision&lt;/code&gt;&lt;/p&gt;

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

&lt;p&gt;💻 &lt;strong&gt;GitHub:&lt;/strong&gt; &lt;a href="https://github.com/badgujarkunal93-blip/StudyMate" rel="noopener noreferrer"&gt;https://github.com/badgujarkunal93-blip/StudyMate&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The repository contains the complete frontend, backend, Gemma integration, local storage layer, planning documents, and setup instructions.&lt;/p&gt;

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

&lt;p&gt;The application is built with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;React 19&lt;/li&gt;
&lt;li&gt;TypeScript&lt;/li&gt;
&lt;li&gt;Vite&lt;/li&gt;
&lt;li&gt;Node.js&lt;/li&gt;
&lt;li&gt;Express&lt;/li&gt;
&lt;li&gt;IndexedDB&lt;/li&gt;
&lt;li&gt;localStorage fallback&lt;/li&gt;
&lt;li&gt;Google's &lt;code&gt;@google/genai&lt;/code&gt; SDK&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Gemma 4 — &lt;code&gt;gemma-4-26b-a4b-it&lt;/code&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The frontend provides the study experience while the Node/Express backend keeps the AI API credentials away from the browser.&lt;/p&gt;

&lt;p&gt;The architecture is:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;                    STUDYMATE
                        │
              ┌─────────┴─────────┐
              │                   │
         Study Library        AI Actions
              │                   │
        IndexedDB             Node/Express
              │                   │
              │              @google/genai
              │                   │
              │                Gemma 4
              │                   │
              └─────────┬─────────┘
                        ↓
                Study Guide / Quiz
                        ↓
                 User Performance
                        ↓
                  Weak Topics
                        ↓
                Targeted Revision
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



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

&lt;p&gt;Gemma is the core AI model behind StudyMate.&lt;/p&gt;

&lt;p&gt;I use it for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Exam-oriented study guide generation&lt;/li&gt;
&lt;li&gt;Key concept extraction&lt;/li&gt;
&lt;li&gt;Important terminology&lt;/li&gt;
&lt;li&gt;AI-generated practice questions&lt;/li&gt;
&lt;li&gt;Topic classification&lt;/li&gt;
&lt;li&gt;Targeted revision&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The quiz itself does &lt;strong&gt;not&lt;/strong&gt; ask an AI model to decide whether the student was correct. Gemma generates the questions and their answer indices, while StudyMate performs the actual scoring deterministically in the browser.&lt;/p&gt;

&lt;p&gt;That separation makes the learning loop more predictable.&lt;/p&gt;

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

&lt;p&gt;This was one of the most important decisions in the project.&lt;/p&gt;

&lt;p&gt;I didn't want to build another application where the AI layer was just an invisible call to a proprietary chatbot.&lt;/p&gt;

&lt;p&gt;The challenge gave me a reason to explore what an &lt;strong&gt;open-weight model&lt;/strong&gt; could make possible.&lt;/p&gt;

&lt;p&gt;StudyMate uses &lt;strong&gt;Gemma&lt;/strong&gt;, an open-weight model, as the intelligence behind the core learning workflow.&lt;/p&gt;

&lt;p&gt;That matters because the AI isn't just an optional chatbot feature.&lt;/p&gt;

&lt;p&gt;It defines how the application works:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Material → Gemma → Learning resources → Quiz → Weakness analysis → Revision&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Using an open-weight model also gives the project a much more flexible foundation. The model can be experimented with, swapped, adapted, and integrated into different environments instead of treating the intelligence layer as an untouchable black box.&lt;/p&gt;

&lt;p&gt;I also had a practical constraint: my laptop isn't powerful enough to comfortably run a large model locally.&lt;/p&gt;

&lt;p&gt;So instead of pretending that local inference was practical, I used hosted Gemma while keeping the student's study library in the browser.&lt;/p&gt;

&lt;p&gt;The privacy model is intentionally explicit:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Your study library stays on your device. Material is sent to Gemma only when you request AI assistance.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That was a better fit for the real person I was building for.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Makes StudyMate Different?
&lt;/h2&gt;

&lt;p&gt;A lot of AI study tools stop here:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Upload notes → Get summary&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;StudyMate goes further:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;YOUR NOTES
    ↓
UNDERSTAND
    ↓
PRACTICE
    ↓
MEASURE
    ↓
FIND WEAKNESS
    ↓
FIX IT
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The application doesn't just generate content.&lt;/p&gt;

&lt;p&gt;It creates a &lt;strong&gt;feedback loop&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;If a student repeatedly performs poorly on a topic, that topic becomes part of their weak-topic radar. They can then ask StudyMate to generate focused revision material specifically for that area.&lt;/p&gt;

&lt;p&gt;That's the part I wanted my friend to actually use before an exam.&lt;/p&gt;

&lt;h2&gt;
  
  
  Design
&lt;/h2&gt;

&lt;p&gt;I also wanted StudyMate to feel different from the typical "AI SaaS dashboard."&lt;/p&gt;

&lt;p&gt;So I built a &lt;strong&gt;retro student app × brutalist UI × modern AI product&lt;/strong&gt; aesthetic:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Dark charcoal background&lt;/li&gt;
&lt;li&gt;Chunky typography&lt;/li&gt;
&lt;li&gt;Red accents&lt;/li&gt;
&lt;li&gt;Thick borders&lt;/li&gt;
&lt;li&gt;Hard offset shadows&lt;/li&gt;
&lt;li&gt;Tactile buttons&lt;/li&gt;
&lt;li&gt;Responsive mobile navigation&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The interface is intentionally bold because studying doesn't need to look like another corporate dashboard.&lt;/p&gt;

&lt;h2&gt;
  
  
  Building It
&lt;/h2&gt;

&lt;p&gt;I built StudyMate as a completely new project for this challenge.&lt;/p&gt;

&lt;p&gt;I used an AI coding workflow with Antigravity and GSD Core to plan and implement the application in phases:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Phase 1:&lt;/strong&gt; Design system and application shell&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Phase 2:&lt;/strong&gt; Study material management&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Phase 3:&lt;/strong&gt; Real Gemma integration&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Phase 4:&lt;/strong&gt; AI quiz + weak-topic engine&lt;/p&gt;

&lt;p&gt;The GSD workflow helped me keep the project focused instead of turning a weekend challenge into an unnecessarily huge application.&lt;/p&gt;

&lt;p&gt;The final application has:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Persistent local study materials&lt;/li&gt;
&lt;li&gt;Real Gemma API integration&lt;/li&gt;
&lt;li&gt;Structured AI responses&lt;/li&gt;
&lt;li&gt;Server-side API key protection&lt;/li&gt;
&lt;li&gt;Deterministic quiz scoring&lt;/li&gt;
&lt;li&gt;Persistent quiz performance&lt;/li&gt;
&lt;li&gt;Weak-topic detection&lt;/li&gt;
&lt;li&gt;Targeted AI revision&lt;/li&gt;
&lt;li&gt;Responsive mobile/desktop UI&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  A Small Detail I Care About
&lt;/h2&gt;

&lt;p&gt;The application doesn't pretend that everything is AI.&lt;/p&gt;

&lt;p&gt;Gemma handles the parts where generative intelligence is useful.&lt;/p&gt;

&lt;p&gt;The application handles deterministic logic itself.&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Gemma:&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
"What questions should this student practice?"&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;StudyMate:&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
"Did they actually answer question 4 correctly?"&lt;/p&gt;

&lt;p&gt;That separation makes the system more reliable and easier to reason about.&lt;/p&gt;

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

&lt;p&gt;I'm entering:&lt;/p&gt;

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

&lt;p&gt;StudyMate uses Google's &lt;strong&gt;Gemma 4 (&lt;code&gt;gemma-4-26b-a4b-it&lt;/code&gt;)&lt;/strong&gt; as the core AI model for study-guide generation, quiz generation, topic classification, and targeted revision.&lt;/p&gt;

&lt;p&gt;I am only claiming this category because Gemma is genuinely central to the application's functionality.&lt;/p&gt;

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

&lt;p&gt;I started with a very simple problem:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;My friend has plenty of notes. They don't have a good way to turn those notes into effective exam preparation.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That became StudyMate.&lt;/p&gt;

&lt;p&gt;It isn't trying to replace a teacher.&lt;/p&gt;

&lt;p&gt;It isn't trying to be another general-purpose chatbot.&lt;/p&gt;

&lt;p&gt;It's a small AI study partner designed around one person's actual workflow:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Understand → Practice → Measure → Improve.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;And that's what made this challenge fun for me.&lt;/p&gt;

&lt;p&gt;Thanks for checking out StudyMate! 🚀&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Live Demo:&lt;/strong&gt; &lt;a href="https://studymate-sable-zeta.vercel.app/" rel="noopener noreferrer"&gt;https://studymate-sable-zeta.vercel.app/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/badgujarkunal93-blip/StudyMate" rel="noopener noreferrer"&gt;https://github.com/badgujarkunal93-blip/StudyMate&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Hacktoberfest #AI #Gemma #React #TypeScript #DEVChallenge
&lt;/h1&gt;

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