<?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: J Sai Vardhan</title>
    <description>The latest articles on DEV Community by J Sai Vardhan (@mr_saivardhan).</description>
    <link>https://dev.to/mr_saivardhan</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%2F2626752%2F597781c0-cf2b-4926-bff8-d050ba3cb10c.png</url>
      <title>DEV Community: J Sai Vardhan</title>
      <link>https://dev.to/mr_saivardhan</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/mr_saivardhan"/>
    <language>en</language>
    <item>
      <title>StudyMate AI: Your Notes, Your Tutor, Your Study Companion</title>
      <dc:creator>J Sai Vardhan</dc:creator>
      <pubDate>Sat, 03 Oct 2026 13:22:51 +0000</pubDate>
      <link>https://dev.to/mr_saivardhan/studymate-ai-your-notes-your-tutor-your-study-companion-6gi</link>
      <guid>https://dev.to/mr_saivardhan/studymate-ai-your-notes-your-tutor-your-study-companion-6gi</guid>
      <description>&lt;h1&gt;
  
  
  StudyMate AI — A Study Companion Built for a Friend Who Was Always Running Out of Time
&lt;/h1&gt;

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

&lt;p&gt;I built &lt;strong&gt;StudyMate AI&lt;/strong&gt;, a personalized AI study companion for a friend who was constantly juggling lectures, assignments, and exams — especially when there was too much material to revise and not enough time.&lt;/p&gt;

&lt;p&gt;The problem wasn't a lack of study material. It was &lt;strong&gt;not knowing what to study next&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;StudyMate turns a student's own lecture PDFs and notes into an interactive study companion.&lt;/p&gt;

&lt;p&gt;You can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Upload lecture notes and PDFs.&lt;/li&gt;
&lt;li&gt;Ask questions grounded in your own study material.&lt;/li&gt;
&lt;li&gt;Choose different learning modes, including Quick, 2-Mark, 5-Mark, and 10-Mark answers.&lt;/li&gt;
&lt;li&gt;Use &lt;strong&gt;Teach Me&lt;/strong&gt; mode to learn concepts step by step.&lt;/li&gt;
&lt;li&gt;Generate quizzes and MCQs from uploaded material.&lt;/li&gt;
&lt;li&gt;Track performance and identify weak topics.&lt;/li&gt;
&lt;li&gt;Generate a personalized study plan.&lt;/li&gt;
&lt;li&gt;Use &lt;strong&gt;Last-Minute Rescue&lt;/strong&gt; before an exam to focus revision on important material and weak areas.&lt;/li&gt;
&lt;/ul&gt;

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

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Instead of giving a student another generic AI chatbot, give them an AI tutor that actually studies their notes with them.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I built it around a real student problem: &lt;em&gt;"I have all my notes, but I don't know what to revise first."&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;Live Demo:&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://studymateai-fea9.onrender.com/" rel="noopener noreferrer"&gt;https://studymateai-fea9.onrender.com/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Source Code:&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://github.com/saivardhan1245/StudyMateAI" rel="noopener noreferrer"&gt;https://github.com/saivardhan1245/StudyMateAI&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;The core of StudyMate is &lt;strong&gt;Gemma&lt;/strong&gt;, Google's open-weight model.&lt;/p&gt;

&lt;p&gt;I wanted the project to use an open-weight model as a real part of the application rather than simply wrapping a generic chatbot.&lt;/p&gt;

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

&lt;p&gt;Student → React + Vite Frontend → Express + TypeScript Backend → PDF Processing → Hybrid Retrieval → Relevant Study Material → Gemma → Grounded Study Response&lt;/p&gt;

&lt;h3&gt;
  
  
  Grounded Study Chat
&lt;/h3&gt;

&lt;p&gt;When a student asks a question, StudyMate retrieves relevant sections from their uploaded material before generating the response.&lt;/p&gt;

&lt;p&gt;The retrieval layer uses:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;PDF.js page-level text extraction&lt;/li&gt;
&lt;li&gt;256-dimensional normalized feature-hashing embeddings&lt;/li&gt;
&lt;li&gt;BM25-style lexical scoring&lt;/li&gt;
&lt;li&gt;User-scoped document retrieval&lt;/li&gt;
&lt;li&gt;Relevance filtering&lt;/li&gt;
&lt;li&gt;Page-level provenance&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This allows the application to use the student's own study material as the context for AI-generated answers.&lt;/p&gt;

&lt;p&gt;If there are no uploaded documents or no relevant material can be found, StudyMate prevents the normal grounded response flow instead of pretending that the answer came from the student's notes.&lt;/p&gt;

&lt;h3&gt;
  
  
  Learning Modes
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Quick&lt;/strong&gt; — concise answers for fast revision.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2-Mark / 5-Mark / 10-Mark&lt;/strong&gt; — answers structured for different academic answer lengths.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Teach Me&lt;/strong&gt; — explains concepts step by step.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Practice&lt;/strong&gt; — generates MCQs and tracks performance.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Study Plan&lt;/strong&gt; — organizes revision based on study material and progress.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Last-Minute Rescue&lt;/strong&gt; — combines available study material, exam timing, and weak areas into a focused revision session.&lt;/p&gt;

&lt;h3&gt;
  
  
  Technology
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Frontend&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;React&lt;/li&gt;
&lt;li&gt;TypeScript&lt;/li&gt;
&lt;li&gt;Vite&lt;/li&gt;
&lt;li&gt;Tailwind CSS&lt;/li&gt;
&lt;li&gt;Motion&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Backend&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Node.js&lt;/li&gt;
&lt;li&gt;Express&lt;/li&gt;
&lt;li&gt;TypeScript&lt;/li&gt;
&lt;li&gt;PDF.js&lt;/li&gt;
&lt;li&gt;JWT authentication&lt;/li&gt;
&lt;li&gt;bcrypt&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;AI&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Gemma open-weight model&lt;/li&gt;
&lt;li&gt;Google GenAI SDK&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Database&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;MongoDB Atlas&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Deployment&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Render&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;For StudyMate, open innovation isn't just about choosing a different model. It is about having more control over how the AI becomes part of the product.&lt;/p&gt;

&lt;p&gt;A closed AI API can provide a powerful general-purpose chatbot, but StudyMate needs something more specific: an AI tutor where the student's own material becomes the foundation for the interaction.&lt;/p&gt;

&lt;p&gt;Using an open-weight model such as Gemma gives me the flexibility to build my own retrieval and grounding layer around the model and control how it is used inside the application.&lt;/p&gt;

&lt;p&gt;It allows me to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Choose how the model is integrated into the application.&lt;/li&gt;
&lt;li&gt;Build my own retrieval and grounding workflow.&lt;/li&gt;
&lt;li&gt;Control the study experience instead of handing the entire experience to a black-box chatbot.&lt;/li&gt;
&lt;li&gt;Experiment with different models and inference approaches as the project evolves.&lt;/li&gt;
&lt;li&gt;Keep the application architecture independent from a single closed AI provider.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The important part is that &lt;strong&gt;Gemma is not just included for the sake of using an open model&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;It is part of the actual study-generation workflow. StudyMate retrieves relevant content from the student's documents and provides that context to Gemma to generate the learning response.&lt;/p&gt;

&lt;p&gt;That makes the open model part of the product's core architecture rather than an afterthought.&lt;/p&gt;

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

&lt;p&gt;I am entering the following categories based on technologies actually used in StudyMate:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Best Use of Gemma&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Best Use of Render&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Best Use of MongoDB Atlas&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;#devchallenge #weekendchallenge #hf26challenge&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

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