Skip to content
BACK TO ARTICLES
DEC 20256 min readAI

What I Learned Shipping AlgoMentor

SV

Sujal Vijayvargiya

SDE-1

Building a production AI mock interview platform taught me that structured LLM outputs, TTS latency buffering, and adaptive question generation require completely different engineering instincts than typical CRUD apps.

#LLM#AI#Next.js#Production

The Prompt Engineering Trap

My first iteration of AlgoMentor used free-form prompts asking the LLM to 'evaluate this DSA solution'. Results were inconsistent — the same solution would score differently on retries, making the feedback meaningless.

The fix was structured output schemas enforced via Groq's constrained JSON generation mode. Every evaluation response now has a deterministic shape: correctness score, time complexity assessment, communication clarity score, and a concrete improvement suggestion. No more hallucinated scoring.

TTS Latency Is a UX Problem

AWS Polly's neural voices are high quality, but synthesis latency for longer utterances made the interviewer feel unnatural. The solution was streaming synthesis and chunking questions into sentence-level audio segments, pre-generating the next segment while the current one plays.

The result is a near-zero perceived gap between the interviewer 'thinking' and speaking — which meaningfully improves immersion.

Adaptive Questioning Is a Retrieval Problem

The most valuable feature of a real interviewer is adjusting difficulty based on candidate performance. Building this required classifying each candidate response in real-time and using that signal to select the next question from a structured problem bank.

Llama-3.3-70B via Groq handles the classification and generates the follow-up prompt — the low inference latency was the key enabler here.

— END OF TRANSMISSION —

RETURN TO BLOG