N.O.V.A. — AI Examination & Voice Simulator Platform

Build with Gemini XPRIZE Hackathon Submission
Live App: https://novastudy.dev


1. Project Overview

N.O.V.A. (Next-gen Online Verbal Assessment) is an interactive AI-powered web platform designed for conducting voice exams, technical interviews, and architectural defenses powered by the Google Gemini API.

Unlike traditional multiple-choice text quizzes (A/B/C/D), N.O.V.A. emulates a real verbal examination:

  • AI examiners with unique personalities and roles ask spoken questions.
  • Users answer using their voice via microphone in real time.
  • The system transcribes the audio stream, while Google Gemini automatically corrects speech errors and technical terms.
  • Gemini deeply evaluates the answer across multiple criteria (accuracy, completeness, terminology) and provides detailed feedback.

2. Technology Stack

Frontend (apps/web)

  • Core Framework: Next.js (App Router, React 19)
  • State Management: Redux Toolkit + React-Redux (Global AuthState, session cards, attempt state, shopping cart)
  • Styling & UI: Tailwind CSS v4, Vanilla CSS Design System, Custom Glassmorphism Theme Tokens (bg-charcoal, brand-linear)
  • Icons: Lucide React Icons
  • Authentication Client: Firebase Authentication SDK (Google Popup Auth)

Backend (apps/server)

  • Core Framework: NestJS (TypeScript, Node.js 22)
  • ORM & Database: Prisma ORM v7, PostgreSQL 15 (Northflank Postgres Addon)
  • In-Memory Caching & Session Lock: Redis 7 / Upstash (ioredis with non-blocking fallback handling)
  • Authentication & Security: Firebase Admin SDK (JWT Validation, Bearer Tokens), Custom Guards & Decorators
  • Validation: class-validator, class-transformer

AI & Third-Party Integrations

  • LLM & Audio Engine: Google Gemini API (@google/genai, Gemini Flash for high-speed evaluation, transcription correction & auto-generation of questions)
  • Payments & Billing: Stripe API & SDK (Stripe Checkout Sessions, Stripe Webhooks for credit top-ups & Pro subscriptions)
  • Email Notifications: Nodemailer (SMTP dispatch to novastudy095@gmail.com)

3. Detailed Features Breakdown

3.1. Authentication & Onboarding

  1. Google Single Sign-On (SSO):
    • 1-click login via Firebase Google Auth (signInWithPopup).
    • Secure idToken validation on NestJS backend via FirebaseService.verifyIdToken().
    • Automatic user creation in PostgreSQL database with 10 free starting credits.
  2. Interactive Onboarding:
    • On first login, the system detects isOnboarded: false and opens a step-by-step form.
    • Profile data collection: Role (Student, Developer, Founder), Company Size (1-10, 50+), Industry, and Primary Goal.
    • Saves profile data directly to the database Profile model.

3.2. Main Dashboard

  • Credits & Subscription Tracker: Live display of available attempt credits and Pro Membership status.
  • History & Progress Chart: Track pass rate percentage and previous exam attempts.
  • Quick Launch: Personalized recommended exam stations based on user interests.

3.3. Exam Station Catalog (Explore & Search)

  • Global Catalog: Browse all public examination simulation rooms.
  • Filtering & Tags: Search by tags (System Design, Security, Machine Learning, DevOps) and difficulty levels.
  • Interactive Station Cards:
    • Displays avatar and theme styling.
    • Number of AI examiners inside the room.
    • Per-question time limits (in seconds).
    • Like counts (Like model) and view counts.

3.4. AI Verbal Exam Simulator

The core engine of N.O.V.A.:

  1. Virtual AI Examiners (AI Panelists):
    • Each station features 1 to 3 AI examiners (e.g., Dr. Evelyn, Prof. Harrison) with distinct roles and avatars.
  2. Multiple Question Formats:
    • VOICE / CHAT: Verbal questions with voice or text responses.
    • QUIZ: Interactive multiple-choice tests.
    • CANVAS: Architectural diagram building challenges.
  3. Voice Input & Real-Time Transcription (Speech-to-Text):
    • Audio recording using the browser MediaRecorder API.
    • Sends Base64 audio to backend /sessions/transcribe.
    • Automatic transcription and correction of technical jargon using Google Gemini.
  4. Evaluation Powered by Gemini AI:
    • Instant server-side evaluation (/sessions/evaluate-answer and /sessions/evaluate-audio).
    • Returns Score (0-100%), pass status (isPassed), and detailed feedback on missed points.
  5. Timer with Auto-Submission:
    • Configurable per-question time limit (questionTimeLimitSec, default 90s). Automatic answer submission upon expiration.

3.5. Author Creator Hub

Allows any user to design custom examinations:

  1. Station Configuration: Custom title, description, banner, time limit, and privacy state (Private Simulation).
  2. Examiner Builder: Add custom examiner characters with custom roles.
  3. AI Question Generator (Gemini Assistant):
    • Enter any topic (e.g., "Advanced PostgreSQL Optimization").
    • Clicking Generate Questions calls /sessions/generate-questions.
    • Gemini automatically generates questions, expected answers, evaluation criteria, and quiz options.
  4. Hidden Questions: Hide expected answers and rubric details from candidates.

3.6. Creator Analytics

  • Station authors have access to /app/analytics.
  • Displays total attempts, overall pass rate, average response time, and station popularity metrics.

3.7. Payment System & Monetization (Stripe Integration)

  • Payment Tiers:
    • subscription: Pro Plan ($19/month) — Unlimited room creation and access.
    • credits_starter: 5 Attempts pack ($3.00).
    • credits: 10 Attempts pack ($5.00).
    • credits_ultra: 30 Attempts pack ($12.00).
  • Stripe Checkout: Secure payment session initialization via /payments/checkout.
  • Stripe Webhooks: Automatic handling of checkout.session.completed at /payments/webhook with instant credit and subscription fulfillment in PostgreSQL.

3.8. Promo Code System

  • Redeem promo codes in the user profile via /promo/redeem.
  • Example: Redeem code NOVA10 to receive +10 free attempt credits. Restricted to 1 redemption per user.

3.9. Support & Feedback System (SMTP Notifications)

  • Support modal (SupportModal) to report bugs, request features, or send feedback.
  • Reports are stored in the PostgreSQL database SupportReport table.
  • SMTP Email Dispatch (Nodemailer): Automatically sends email notifications containing report type, sender email, user ID, and message text to novastudy095@gmail.com.

4. Database Schema Design (Prisma)

  • User: User accounts, credits balance, isSubsctibed status, Stripe IDs, profile relations.
  • Profile: Extended profile information (bio, phone, country, role, company size).
  • Session: Exam stations, time limits (questionTimeLimitSec), banners, privacy settings.
  • Agent: Virtual AI examiners inside a session.
  • Question: Questions, expected answers, question types (VOICE, QUIZ, CHAT, CANVAS).
  • Attempt: User exam attempt logs (score, isPassed, answer history).
  • Like: User likes on exam stations.
  • PromoCode & PromoCodeUsage: Promo codes and usage tracking.
  • SupportReport: Support ticket logs.

5. Setup & Deployment Guide

Prerequisites:

  • Node.js >= 22.0.0
  • Docker & Docker Compose
  • PostgreSQL 15 & Redis

1. Clone & Install Dependencies:

git clone https://github.com/IIIasterIII/BuildWithGeminiXPRIZE.git
cd BuildWithGeminiXPRIZE
npm install

2. Environment Configuration (apps/server/.env):

PORT=8000
DATABASE_URL="postgresql://postgres:postgres@localhost:5432/NOVA?schema=public"
REDIS_HOST="localhost"
REDIS_PORT=6379
GEMINI_API_KEY="your_google_gemini_api_key"
STRIPE_SECRET_KEY="sk_test_..."
STRIPE_WEBHOOK_SECRET="whsec_..."
SMTP_USER="novastudy095@gmail.com"
SMTP_PASS="your_16_digit_app_password"
FIREBASE_CREDENTIALS_JSON='{ ... }'

3. Database Migration & Run:


cd apps/server && npx prisma db push

# Start Development Mode
npm run dev # Launches Next.js frontend (localhost:3000)
npm run start:dev --workspace=apps/server # Launches NestJS backend (localhost:8000)

6. Summary

N.O.V.A. combines the intelligence of Google Gemini, the performance of Next.js & NestJS, and the reliability of Northflank / PostgreSQL, delivering an enterprise-ready platform for interactive verbal knowledge assessment.

Built With

Share this project:

Updates