Make this a React project and use a reasoning model to evaluate the responses to the questions. The interview happens in a real-time chat. The reasoning model will evaluate the response from the candidate and decide follow-up questions while deciding whether to dig deeper into the concept or explore other concepts.
59dc33b verified | import React, { useState } from 'react'; | |
| import InterviewSetup from './components/InterviewSetup'; | |
| import LiveChat from './components/LiveChat'; | |
| import FeedbackReport from './components/FeedbackReport'; | |
| function App() { | |
| const [stage, setStage] = useState('setup'); | |
| const [interviewConfig, setInterviewConfig] = useState(null); | |
| const [interviewResult, setInterviewResult] = useState(null); | |
| const startInterview = (config) => { | |
| setInterviewConfig(config); | |
| setStage('chat'); | |
| }; | |
| const finishInterview = (result) => { | |
| setInterviewResult(result); | |
| setStage('feedback'); | |
| }; | |
| const restartInterview = () => { | |
| setStage('setup'); | |
| setInterviewConfig(null); | |
| setInterviewResult(null); | |
| }; | |
| return ( | |
| <div className="bg-gray-50 dark:bg-gray-900 min-h-screen"> | |
| {stage === 'setup' && <InterviewSetup onStart={startInterview} />} | |
| {stage === 'chat' && <LiveChat config={interviewConfig} onFinish={finishInterview} />} | |
| {stage === 'feedback' && <FeedbackReport result={interviewResult} onRestart={restartInterview} />} | |
| </div> | |
| ); | |
| } | |
| export default App; |