<?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: anmolchaudhary617-ux</title>
    <description>The latest articles on DEV Community by anmolchaudhary617-ux (@anmolchaudhary617ux).</description>
    <link>https://dev.to/anmolchaudhary617ux</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%2F4158904%2F1b677576-2ca4-4d02-b5a2-c948c624fa24.png</url>
      <title>DEV Community: anmolchaudhary617-ux</title>
      <link>https://dev.to/anmolchaudhary617ux</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/anmolchaudhary617ux"/>
    <language>en</language>
    <item>
      <title># VivaMate — An AI Viva Partner Built for a Friend</title>
      <dc:creator>anmolchaudhary617-ux</dc:creator>
      <pubDate>Sat, 03 Oct 2026 22:03:45 +0000</pubDate>
      <link>https://dev.to/anmolchaudhary617ux/-vivamate-an-ai-viva-partner-built-for-a-friend-48l0</link>
      <guid>https://dev.to/anmolchaudhary617ux/-vivamate-an-ai-viva-partner-built-for-a-friend-48l0</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;&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%2F2mo1puv8q2k0ufww9swa.png" 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%2F2mo1puv8q2k0ufww9swa.png" alt=" " width="800" height="365"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;VivaMate is an AI-powered viva practice platform I built for a friend who has to prepare for technical university vivas.&lt;/p&gt;

&lt;p&gt;The problem was simple: studying from notes is one thing, but actually answering questions and getting meaningful feedback is another. Finding someone who is always available to conduct a mock viva is not always practical.&lt;/p&gt;

&lt;p&gt;So I built VivaMate to act as an on-demand viva practice partner.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;Upload your study material as a PDF or TXT file&lt;/li&gt;
&lt;li&gt;Generate viva questions based on your material&lt;/li&gt;
&lt;li&gt;Choose the number and difficulty of questions&lt;/li&gt;
&lt;li&gt;Take a one-question-at-a-time mock viva&lt;/li&gt;
&lt;li&gt;Submit answers for AI evaluation&lt;/li&gt;
&lt;li&gt;Receive a score, feedback, ideal answer, and follow-up question&lt;/li&gt;
&lt;li&gt;View a final performance report showing strengths and areas to improve&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The goal isn't to replace a professor or a real viva. It's to give a student a way to practice repeatedly before the real thing.&lt;/p&gt;

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

&lt;p&gt;🌐 &lt;strong&gt;&lt;a href="https://viva-mate-seven.vercel.app/" rel="noopener noreferrer"&gt;Live Demo&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&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%2Fx6icmn6ku1bdf1ndiqlc.png" 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%2Fx6icmn6ku1bdf1ndiqlc.png" alt=" " width="564" height="783"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;VivaMate is deployed with a React/Vite frontend on Vercel and a FastAPI backend on Render.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Flow:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Study Material → Question Generation → Mock Viva → AI Evaluation → Performance Report&lt;/p&gt;

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

&lt;p&gt;The complete source code is available on GitHub:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://github.com/anmolchaudhary617-ux/VivaMate" rel="noopener noreferrer"&gt;VivaMate GitHub Repository&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

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

&lt;p&gt;VivaMate is built around open-weight AI rather than making a proprietary AI API the core of the application.&lt;/p&gt;

&lt;p&gt;The core model is &lt;strong&gt;Qwen3 4B&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;During local development, I run Qwen3 4B locally through &lt;strong&gt;Ollama&lt;/strong&gt;. This allowed me to develop and test the AI workflow directly on my own machine.&lt;/p&gt;

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

&lt;p&gt;React + Vite&lt;br&gt;
↓&lt;br&gt;
FastAPI&lt;br&gt;
↓&lt;br&gt;
AI Service Layer&lt;br&gt;
↓&lt;br&gt;
Ollama&lt;br&gt;
↓&lt;br&gt;
Qwen3 4B&lt;/p&gt;

&lt;p&gt;For the deployed version, the same AI service abstraction allows the application to use &lt;strong&gt;Hugging Face Inference Providers&lt;/strong&gt; with Qwen3 4B.&lt;/p&gt;

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

&lt;p&gt;Vercel&lt;br&gt;
↓&lt;br&gt;
React + Vite&lt;br&gt;
↓&lt;br&gt;
Render&lt;br&gt;
↓&lt;br&gt;
FastAPI&lt;br&gt;
↓&lt;br&gt;
AI Service Layer&lt;br&gt;
↓&lt;br&gt;
Hugging Face Inference Providers&lt;br&gt;
↓&lt;br&gt;
Qwen3 4B&lt;/p&gt;

&lt;p&gt;I deliberately kept the AI integration behind a service abstraction so the application isn't tightly coupled to a single model or inference implementation.&lt;/p&gt;

&lt;p&gt;The main technologies are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;React + Vite&lt;/li&gt;
&lt;li&gt;FastAPI&lt;/li&gt;
&lt;li&gt;Python&lt;/li&gt;
&lt;li&gt;Ollama&lt;/li&gt;
&lt;li&gt;Qwen3 4B&lt;/li&gt;
&lt;li&gt;Hugging Face Inference Providers&lt;/li&gt;
&lt;li&gt;Pydantic&lt;/li&gt;
&lt;li&gt;PyPDF&lt;/li&gt;
&lt;li&gt;HTML/CSS/JavaScript&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The AI is used for two important parts of the application:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Viva Question Generation
&lt;/h3&gt;

&lt;p&gt;Given a topic or uploaded study material, Qwen3 generates structured viva questions with difficulty levels.&lt;/p&gt;

&lt;p&gt;When study material is provided, the generated questions are instructed to stay grounded primarily in that material.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Answer Evaluation
&lt;/h3&gt;

&lt;p&gt;After the student answers a question, Qwen3 evaluates the response and returns:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Score out of 10&lt;/li&gt;
&lt;li&gt;Correctness level&lt;/li&gt;
&lt;li&gt;Educational feedback&lt;/li&gt;
&lt;li&gt;Ideal answer&lt;/li&gt;
&lt;li&gt;Follow-up question&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The application doesn't expose the model's internal reasoning. It only uses the structured evaluation needed by the student.&lt;/p&gt;

&lt;h2&gt;
  
  
  What the Experience Looks Like
&lt;/h2&gt;

&lt;p&gt;VivaMate is designed around a simple practice loop:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Upload → Generate → Answer → Evaluate → Improve&lt;/strong&gt;&lt;/p&gt;

&lt;p&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%2Fiq696qd6re47jocg0dtv.png" 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%2Fiq696qd6re47jocg0dtv.png" alt=" " width="440" height="762"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The student answers each question one at a time and receives structured feedback from Qwen3 4B, including a score, correctness assessment, ideal answer, and a follow-up question.&lt;/p&gt;

&lt;p&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%2F4vm7acs5fwmqv3ds4ka5.png" 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%2F4vm7acs5fwmqv3ds4ka5.png" alt=" " width="546" height="454"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;At the end of the session, VivaMate summarizes performance and highlights areas that need further practice.&lt;/p&gt;

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

&lt;p&gt;For VivaMate, open innovation isn't just a technology choice. It changes what the project can be.&lt;/p&gt;

&lt;p&gt;Because Qwen3 4B can run locally through Ollama, I could build and test the complete AI workflow on my own machine without making a proprietary cloud AI API a mandatory part of the development setup.&lt;/p&gt;

&lt;p&gt;That matters for a study tool because uploaded material can contain personal notes, assignments, or course content.&lt;/p&gt;

&lt;p&gt;With local inference, the development version can process the AI requests on the student's own machine rather than requiring every request to be sent to a proprietary AI service.&lt;/p&gt;

&lt;p&gt;Open-weight models also give the project flexibility.&lt;/p&gt;

&lt;p&gt;VivaMate's AI service is separated from the rest of the application, so the model or inference provider can be changed without rewriting the entire viva system.&lt;/p&gt;

&lt;p&gt;For me, the biggest difference was that I wasn't simply building a UI around someone else's AI API. I was able to build the actual learning workflow around an AI model that I could run and experiment with locally.&lt;/p&gt;

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

&lt;p&gt;I used Google Antigravity as a coding agent while building VivaMate.&lt;/p&gt;

&lt;p&gt;The agent helped me implement and verify the React frontend, FastAPI backend, AI integration, document extraction, structured AI responses, mock viva flow, and performance report.&lt;/p&gt;

&lt;p&gt;I did not use a DevRelay agent-session link for this submission.&lt;/p&gt;

&lt;h2&gt;
  
  
  Built for a Friend ❤️
&lt;/h2&gt;

&lt;p&gt;VivaMate started with a simple idea:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Instead of telling my friend to "practice more," why not build them something they can actually practice with?&lt;/strong&gt;&lt;/p&gt;

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

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