DEV Community

Harshit Raut
Harshit Raut

Posted on

VivaBuddy: The AI Viva Partner

This is a submission for the Hacktoberfest Weekend Challenge: Build for a Friend

What I Built

I built VivaBuddy, an AI-powered viva practice partner for a friend who often needs someone to practice oral-exam questions with but doesn't always have someone available.

VivaBuddy lets a student enter a subject, topics, difficulty level, and number of questions, then conducts an interactive viva session. It generates questions, evaluates the student's answers, provides a score and feedback, explains what could be improved, and can simplify difficult concepts with "Explain Like I'm a Beginner."

I built it to solve a simple but common problem: having no one available to quiz you before an important viva. Instead of waiting for a friend or classmate, the student can practice whenever they need and get immediate feedback from an AI partner.

I intentionally kept VivaBuddy focused on one problem rather than turning it into a large AI platform.

Demo

Code

GitHub logo Harshit10-LM / VivaBuddy

An open-weight AI viva practice partner built for a friend.

VivaBuddy

VivaBuddy is a small, AI-powered viva practice partner built for a friend who needed a patient way to rehearse oral-exam questions when another person was not available.

The Problem

Preparing for a viva is difficult to do alone. A friend, classmate, or teacher may not be available to ask questions, listen to answers, and give useful feedback at the moment a student needs practice.

The Solution

VivaBuddy turns a syllabus into a focused practice session:

Setup → AI question → student answer → AI evaluation → beginner explanation
      → next question → final score

Choose a subject, topics, difficulty, and question count. VivaBuddy asks realistic questions, evaluates each answer, explains confusing ideas simply, and summarizes the session at the end.

Features

  • AI-generated viva questions that avoid exact repeats
  • Answer scores out of 10 with strengths, improvements, and a better answer
  • A short “Explain Like I’m a Beginner” follow-up
  • Gentle…

How I Built It

VivaBuddy is built around the open-weight openai/gpt-oss-20b model, using Groq for inference. I chose an open-weight model because AI is the core of the project rather than just an additional chatbot feature. The model generates viva questions based on the subject, topics, and difficulty, evaluates student answers with a score and detailed feedback, and provides simple beginner-friendly explanations when the student gets stuck.

The project uses Python and Flask for the backend and HTML, CSS, and Vanilla JavaScript for the frontend. All AI requests are handled through the Flask backend, so the Groq API key is never exposed to the browser. I also made the model configurable through an environment variable, making it possible to experiment with different compatible models without rebuilding the whole application. The project was built and tested with Codex and deployed on Render.

Why Does Open Innovation Matter?

Open innovation matters to VivaBuddy because I wanted the AI to be more than a fixed service hidden behind a closed API. I used the open-weight openai/gpt-oss-20b model through Groq, which gives the project more flexibility to experiment with the underlying model and change the inference setup in the future.

With an open-weight model, the same application can potentially be adapted for different inference environments, including self-hosted or local inference, without redesigning the entire product around a proprietary model. It also reduces dependence on a single closed AI provider and gives developers more freedom to experiment with how the model is used.

For VivaBuddy, this is especially useful because question generation, answer evaluation, and explanations could all be improved or customized by testing different models over time. The current deployed version uses Groq for inference, but the model itself remains configurable, keeping the application flexible rather than permanently tied to one proprietary AI system.

My Agent Session

I used Codex to build, test, debug, and deploy VivaBuddy in phases, from the initial Flask app to the live Render deployment.

Prize Categories

Best Use of Render: VivaBuddy is deployed and hosted on Render as a live Flask web application. Render handles the production web service and serves the complete AI viva experience to users, making the project publicly accessible through a live URL.

Top comments (0)