Inspiration

Preparing for technical interviews is a high-stress experience. While several AI practice platforms exist, we found they often feel robotic, lack conversational depth, or fail to provide the immediate, specific feedback that actually helps a developer improve. We were inspired to build jask to bridge that gap, creating a more realistic, responsive, and truly helpful practice partner that simulates the pressure and feedback of a live interview.

What it does

jask is an AI-powered technical interviewer that provides live, interactive feedback. A user joins a real-time video and audio session, just like a real remote interview. The AI-interviewer presents a coding challenge and as the user types their solution into the shared editor, jask analyzes their code live. It provides instant feedback on correctness, logic, efficiency, and style, allowing the user to correct their mistakes and explain their thought process in real-time.

How we built it

LiveKit: We used LiveKit's open-source platform to handle all real-time WebRTC communication. We also used Anthropic's Claude API for real-time code analysis and error checking.

Every 10s when the user pauses for at least 10s, our backend sends a request to the anthropic agent to analyze the user's current code and gauge where the user may be stuck/confused. This agent sends the code analysis to the livekit agent which will then ask the user if they need help and give them assistance/feedback based on the analysis.

Challenges we ran into

Passing the user's keystrokes from the frontend editor, sending that code to our Node.js backend for analysis by the AI, and then streaming the AI's feedback back to the user via LiveKit's data channels—all in a split second—required careful state management. Overcoming the initial latency to make the feedback feel truly instantaneous was a major breakthrough.

Accomplishments that we're proud of

Our biggest accomplishment is the end-to-end feedback loop. Integrating the Claude API calls with the seamless flow of conversation was the toughest part, as we needed to find the best triggers for generating this analysis in a way that is both descriptive and performant.

What we learned

This project was a deep dive into the architecture of real-time applications. We didn't just learn "how to use LiveKit"; we learned the core principles of WebRTC, how to effectively manage real-time data channels, and the complexities of building stateful, low-latency, and interactive web applications from the ground up.

What's next for jask

Expand Question Types: Move beyond algorithm questions to include System Design, database, and behavioral interview modules.

User Progress Dashboard: Implement user accounts and a dashboard to save interview history, track progress on specific topics, and identify areas for improvement.

Advanced Feedback: Integrate feedback on non-technical aspects, such as communication clarity, speech patterns, and filler words, to provide holistic interview coaching.

Built With

  • livekit
Share this project:

Updates