> return to vault

DOSSIER · SYS.MOCK / 04 · operational

> source: github.com/advay-sinha/Mock-AI

Mock AI

Generates and grades interviews with an LLM while keeping auth, sessions, and scoring accountable to a real backend.

operational overview

Mock AI exists because interview practice needs an examiner that scales: something that writes questions for a specific subject and difficulty, listens to answers, and returns feedback specific enough to act on. The platform pairs a FastAPI service with a React single-page app and puts Gemini behind both question generation and qualitative evaluation.

architecture

The React frontend drives conversational onboarding — intent capture through test execution and analysis — plus a voice-enabled interview simulator using browser speech synthesis and speech-to-text with timed prompts. The FastAPI service owns authentication (hashed passwords, JWT via python-jose), question generation, and answer evaluation against Gemini 2.0 Flash. MongoDB persists users and sessions through Motor with unique-email enforcement and pooled connections; performance views render scores and improvement recommendations from stored sessions.

CLIENTFASTAPIGEMINIEVALUATEMONGOVOICEINREC

constraints

  • LLM accountability — generated questions and feedback flow through one backend service, never straight from the browser to the model
  • session integrity — assessments mean nothing if identity and history are loose; JWT and unique-email enforcement are load-bearing
  • voice latency — the capture → evaluation → synthesis round-trip must stay conversational without any server-side audio infrastructure to tune

tradeoffs

  • browser Web Speech APIs over a server-side ASR pipeline: zero audio infrastructure, at the cost of device-dependent recognition quality
  • Gemini for both generation and evaluation over separate graders: one model contract, consistent rubric, single point of prompt discipline

failure notes

  • a reserved java-backend module sits in the repository, currently empty — an honest placeholder for planned integration rather than a hidden dead end

infrastructure

fastapi · react 19 · mongodb · gemini 2.0 flash · web speech api · jwt auth

engineering reasoning

Putting an LLM inside a product is an infrastructure problem wearing an AI costume: the model is the easy part; auth, persistence, and making feedback traceable to a stored session are what make the assessment worth anything.

future work

  • the reserved Java service integration
  • richer rubric-anchored scoring beyond qualitative feedback