@vite(['resources/css/app.css', 'resources/js/app.js'])
@if(session('success'))
{{ session('success') }}
@endif

Live Interview Assessments

Temporary Candidate Access, Real-Time Proctored IDE, and Unique Code Records
@forelse($interviews as $inv) @php $logs = $inv->proctor_logs ?? []; $tabSwitches = count(array_filter($logs, fn($l) => ($l['type'] ?? '') === 'tab_switch')); $focusLost = count(array_filter($logs, fn($l) => ($l['type'] ?? '') === 'focus_lost')); $gazeAlerts = count(array_filter($logs, fn($l) => in_array($l['type'] ?? '', ['gaze_anomaly', 'gaze_fixed_staring']))); $lowerGaze = count(array_filter($logs, fn($l) => ($l['type'] ?? '') === 'gaze_lower_device')); $questionRepeat = count(array_filter($logs, fn($l) => in_array($l['type'] ?? '', ['question_repeat_lower', 'question_repetition']))); $externalAi = count(array_filter($logs, fn($l) => ($l['type'] ?? '') === 'external_ai_detected')); @endphp @empty @endforelse
Candidate & Temp Pass Unique Submission ID Status & Validity Language Proctoring Alerts Review & Actions
{{ $inv->candidate_name }}
{{ $inv->candidate_email }} • {{ $inv->candidate_phone }}
πŸ”‘ Temp Pass: {{ $inv->temp_password }}
{{ $inv->submission_unique_id }} @if($inv->isExpired()) EXPIRED @elseif($inv->status === 'completed') COMPLETED @elseif($inv->isActiveTimeline()) ⚑ TIMELINE LIVE @else SCHEDULED @endif
Timeline: {{ ($inv->scheduled_at ?? $inv->created_at)->format('M d, H:i') }} – {{ $inv->expires_at->format('H:i') }}
{{ $inv->language }}
πŸ”΄ Tab Switches: {{ $tabSwitches }} 🟑 Focus Loss / Overlay: {{ $focusLost }} πŸ‘οΈ Eye Gaze Anomaly: {{ $gazeAlerts }} @if($lowerGaze > 0) πŸ“± Lower Gaze (>10s): {{ $lowerGaze }} @endif @if($questionRepeat > 0) πŸ—£οΈ Question Repetition: {{ $questionRepeat }} @endif @if($externalAi > 0) πŸ€– Parakeet / External AI: {{ $externalAi }} @endif
πŸ“„ Report Open IDE Link
No candidate interview sessions found. Click "+ Schedule Candidate Interview" above to create one.

Schedule Candidate Assessment

@csrf
@foreach($interviewers as $usr) @endforeach
πŸ“ž Real-Time 2-Way Interview Call & Candidate Screen DISCONNECTED
Candidate Camera
Click 'Start / Join 2-Way Call' to connect
πŸ‘€ Candidate Video (100%)
πŸ–₯️
Candidate Live Screen
Waiting for candidate to share screen...
πŸ–₯️ Shared Screen (100%)
@php $usrWords = preg_split('/\s+/', trim(Auth::user()->name)); if (count($usrWords) >= 2) { $usrInitials = strtoupper(substr($usrWords[0], 0, 1) . substr(end($usrWords), 0, 1)); } else { $uStr = trim(Auth::user()->name); $usrInitials = strtoupper(substr($uStr, 0, 1) . (strlen($uStr) > 1 ? substr($uStr, -1) : '')); } @endphp
{{ $usrInitials }}
{{ Auth::user()->name }}
Panelist (Self)
πŸŽ™οΈ Panelist Self
πŸ’» Candidate Live IDE & Workspace Inspector PYTHON ● Live Synced
Current Code Solution (Visible even if candidate does not share screen):
Execution Stdout / Stderr Output:
Proctoring Audit:
πŸ’¬ 2-Way Live Chat History:
No chat history. Send a message below.
🚨

candidate might cheating

Proctoring engine flagged candidate cheating activity!
Violation details loading...