The LangGraph State Machine
To prevent the Kovi voice agent from hallucinating positive feedback or drifting off-topic, the interview flow is strictly controlled by a LangGraph supervisor agent. The system does not rely on a single massive prompt; instead, it routes discrete tasks to specialized worker nodes.- Supervisor Node: Manages the overall interview state, tracks the 60-minute time limit, and ensures all ‘Must-Ask’ technical topics are covered before concluding the session.
- Context Extraction Worker (RAG): Utilizes Pinecone and PostgreSQL (Neon) to retrieve specific candidate experience from the parsed resume and align it against the Job Description requirements.
- Q&A Generation Worker: Dynamically generates the next question based on the candidate’s previous answer. If the candidate gives a shallow answer about FastAPI or microservices, this worker triggers a “deep dive” sub-routine.
- Evaluation & Scoring Worker: An isolated evaluation model that asynchronously grades responses against the objective 10-point rubric, completely separate from the conversational voice model.
Infrastructure & Technology Stack
The TechEval.ai backend is designed for high concurrency and ultra-low latency, ensuring the automated voice feels instantaneous to the candidate.Network Resilience & State Recovery
In regions where 5G networks or home broadband can be unstable, standard WebSocket connections often fail and terminate the interview. Kovi addresses this through persistent state checkpointing.- Checkpointing: Every time a candidate finishes answering a question (triggered by the 7-second pause rule), the LangGraph state is serialized and saved to the PostgreSQL database.
- Disconnection Handling: If a candidate’s WebRTC stream drops, the interview session is paused, not terminated.
- Rehydration: When the candidate clicks their original secure link, the FastAPI backend fetches the latest checkpoint from the database, rehydrates the LangGraph state, and resumes the interview exactly where the connection was lost.