Inspiration
An interview answer can sound confident and still leave out an important idea. Knowing a concept and explaining it clearly under pressure are different skills. We built sixty around a question: how can interview practice help engineers notice what they failed to explain?
We wanted practice to end with a concrete next step: a rubric point to revisit, the words behind the feedback, and another opportunity to demonstrate the idea.
What it does
sixty is a spoken interview coach for engineers moving into AI roles. A typical interview asks five short questions about one technical topic. You answer aloud, review the recognized transcript, and receive a scorecard at the end.
The scorecard shows what each model credited, which ideas were only partly demonstrated, and where the models disagreed. You can open the proof to inspect transcript quotes, rubric references, and individual model calls. An agreed gap can guide a later question that tests the same idea in a different situation.
How we built it
We built the interface with React, TypeScript, Vite, and Tailwind CSS. Browser speech recognition turns spoken answers into editable text. A Node.js API on Vercel keeps the grading credentials on the server.
NVIDIA Nemotron models run through Nebius Token Factory. Nano first extracts points from the transcript. Nano and Ultra then rate those points independently against the question's rubric. Deterministic code checks quoted evidence against the transcript and validates rubric references before displaying the results.
Rule-based question selection uses the available ratings to choose later prompts. Answer history stays in the browser; transcripts and rubrics are sent for grading. Optional Upstash Redis storage holds limited usage summaries. Speech recognition uses the browser vendor's service.
Challenges we faced
Making feedback inspectable required careful handling of exact quotes, valid rubric references, and model disagreement. Each short answer also needed to be assessed against the specific question it was asked.
We encountered a deployment failure where local grading worked but the hosted API crashed. Fixing the Web request handler and server imports restored production grading. Saved transcripts let us recover the five recorded answers without asking the speaker to record them again. We also corrected a History score calculation to use each turn's rubric consistently.
What we learned
Useful coaching combines clear expectations, traceable evidence, and visible uncertainty. Two graders can read the same answer differently. Showing their reasoning helps a learner understand the feedback and decide what to practise.
We also learned to verify the complete deployed workflow, including the model calls and result screen. The current build passes 373 automated tests, and the recorded session's five saved answers have complete live ratings. The demo labels those recovered results.
What's next
We want to expand the reviewed question bank, evaluate grading against independent human labels, and improve how learners revisit recurring gaps across different interview scenarios.
Built With
- github
- nebius-token-factory
- node.js
- nvidia-nemotron
- react
- redis
- tailwind-css
- typescript
- upstash
- vercel
- vite
- vitest
- web-speech-api
- zod
Log in or sign up for Devpost to join the conversation.