vinitgore's picture
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
<!DOCTYPE html>
<html lang="en" class="dark">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>CodeTalker Pro Interview</title>
<link rel="icon" type="image/x-icon" href="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Ctext y='.9em' font-size='90'%3E🎯%3C/text%3E%3C/svg%3E">
<link rel="stylesheet" href="style.css">
<script src="https://cdn.tailwindcss.com"></script>
<script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
<script src="https://unpkg.com/feather-icons"></script>
</head>
<body class="bg-gray-50 dark:bg-gray-900 transition-colors duration-300">
<script src="components/navbar.js"></script>
<script src="components/footer.js"></script>
<script src="components/question-card.js"></script>
<script src="components/loading-spinner.js"></script>
<custom-navbar></custom-navbar>
<main class="min-h-screen pt-20 pb-16">
<div class="container mx-auto px-4 py-8">
<!-- Title Section -->
<div class="text-center mb-12">
<h1 class="text-5xl font-bold text-gray-900 dark:text-white mb-4">
CodeTalker Pro <span class="text-indigo-600">Interview</span>
</h1>
<p class="text-xl text-gray-600 dark:text-gray-300 max-w-2xl mx-auto">
AI-powered technical interviews tailored to your job requirements
</p>
</div>
<!-- Setup Form -->
<div id="setup-form" class="max-w-4xl mx-auto">
<div class="bg-white dark:bg-gray-800 shadow-2xl rounded-2xl p-8 mb-8">
<h2 class="text-3xl font-semibold text-gray-900 dark:text-white mb-6">Interview Configuration</h2>
<form id="interview-config" class="space-y-6">
<div>
<label class="block text-sm font-medium text-gray-700 dark:text-gray-300 mb-2">
Job Position
</label>
<input type="text" id="job-position" class="w-full px-4 py-3 border border-gray-300 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-700 text-gray-900 dark:text-white focus:ring-2 focus:ring-indigo-500 focus:border-transparent" placeholder="e.g., Senior Frontend Developer" required>
</div>
<div>
<label class="block text-sm font-medium text-gray-700 dark:text-gray-300 mb-2">
Job Description
</label>
<textarea id="job-description" rows="4" class="w-full px-4 py-3 border border-gray-300 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-700 text-gray-900 dark:text-white focus:ring-2 focus:ring-indigo-500 focus:border-transparent" placeholder="Describe the role responsibilities, required skills, and experience level..." required></textarea>
</div>
<div>
<label class="block text-sm font-medium text-gray-700 dark:text-gray-300 mb-2">
Technical Topics (comma separated)
</label>
<input type="text" id="topics" class="w-full px-4 py-3 border border-gray-300 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-700 text-gray-900 dark:text-white focus:ring-2 focus:ring-indigo-500 focus:border-transparent" placeholder="React, JavaScript, System Design, CSS, Node.js, Database" required>
</div>
<div class="grid grid-cols-1 md:grid-cols-3 gap-4">
<div>
<label class="block text-sm font-medium text-gray-700 dark:text-gray-300 mb-2">
Interview Level
</label>
<select id="level" class="w-full px-4 py-3 border border-gray-300 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-700 text-gray-900 dark:text-white focus:ring-2 focus:ring-indigo-500">
<option value="junior">Junior (0-2 years)</option>
<option value="mid">Mid-level (3-5 years)</option>
<option value="senior">Senior (5+ years)</option>
<option value="staff">Staff/Principal</option>
</select>
</div>
<div>
<label class="block text-sm font-medium text-gray-700 dark:text-gray-300 mb-2">
Questions Count
</label>
<select id="question-count" class="w-full px-4 py-3 border border-gray-300 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-700 text-gray-900 dark:text-white focus:ring-2 focus:ring-indigo-500">
<option value="5">5 Questions</option>
<option value="7" selected>7 Questions</option>
<option value="10">10 Questions</option>
<option value="15">15 Questions</option>
</select>
</div>
<div>
<label class="block text-sm font-medium text-gray-700 dark:text-gray-300 mb-2">
Question Types
</label>
<select id="question-types" class="w-full px-4 py-3 border border-gray-300 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-700 text-gray-900 dark:text-white focus:ring-2 focus:ring-indigo-500">
<option value="both">Concept + Coding</option>
<option value="concept">Concept Only</option>
<option value="coding">Coding Only</option>
</select>
</div>
</div>
<button type="submit" class="w-full bg-indigo-600 text-white py-3 px-6 rounded-lg font-semibold hover:bg-indigo-700 transform hover:scale-105 transition-all duration-200 flex items-center justify-center">
<i data-feather="play" class="mr-2"></i>
Start Smart Interview
</button>
</form>
</div>
</div>
<!-- Interview Section -->
<div id="interview-section" class="hidden max-w-4xl mx-auto">
<!-- Progress Bar -->
<div class="bg-white dark:bg-gray-800 shadow-2xl rounded-2xl p-6 mb-6">
<div class="flex justify-between items-center mb-4">
<h3 class="text-lg font-semibold text-gray-900 dark:text-white">
Interview Progress
</h3>
<span class="text-sm text-gray-600 dark:text-gray-300" id="progress-text">0/7</span>
</div>
<div class="w-full bg-gray-200 dark:bg-gray-700 rounded-full h-2">
<div class="bg-indigo-600 h-2 rounded-full transition-all duration-300" id="progress-bar" style="width: 0%"></div>
</div>
</div>
<!-- Question Container -->
<div id="question-container" class="space-y-6">
<custom-loading-spinner id="loading-spinner"></custom-loading-spinner>
</div>
<!-- Results Section -->
<div id="results-section" class="hidden">
<div class="bg-white dark:bg-gray-800 shadow-2xl rounded-2xl p-8">
<h2 class="text-3xl font-semibold text-gray-900 dark:text-white mb-6">
Interview Complete! 🎉
</h2>
<div class="grid grid-cols-1 md:grid-cols-3 gap-6 mb-6">
<div class="bg-gray-50 dark:bg-gray-700 p-4 rounded-lg">
<h3 class="font-semibold text-gray-900 dark:text-white mb-2">Total Questions</h3>
<p class="text-3xl font-bold text-indigo-600" id="total-questions">0</p>
</div>
<div class="bg-gray-50 dark:bg-gray-700 p-4 rounded-lg">
<h3 class="font-semibold text-gray-900 dark:text-white mb-2">Concept Questions</h3>
<p class="text-3xl font-bold text-green-600" id="concept-count">0</p>
</div>
<div class="bg-gray-50 dark:bg-gray-700 p-4 rounded-lg">
<h3 class="font-semibold text-gray-900 dark:text-white mb-2">Coding Challenges</h3>
<p class="text-3xl font-bold text-purple-600" id="coding-count">0</p>
</div>
</div>
<button onclick="location.reload
<script src="https://huggingface.co/deepsite/deepsite-badge.js"></script>
</body>
</html>