rssRSS feed

clock-rotate-leftChangelog

New updates and improvements

Changes

Changes for the public deploy push

Scheduling

  • New: Candidate self-scheduling — Send candidates a link to pick their own interview slot from your live availability. No back-and-forth emails.

  • New: Cancel interview — Cancel a scheduled interview from the candidate profile. The slot is freed instantly and the candidate's status updates.

  • New: Reschedule interview — Reschedule a booked interview with one click. A new scheduling link is automatically emailed to the candidate.

  • New: Mark as no-show — After a scheduled interview time passes, recruiters can mark the candidate as a no-show directly from their profile.

  • New: Automatic calendar sync — Your calendar availability refreshes automatically every 30 minutes. No manual sync button needed.

  • New: Timezone auto-detection — When you connect Google or Microsoft Calendar, your timezone is detected automatically from your calendar settings.

  • Timezone is now shown on the calendar settings panel and on the candidate-facing scheduling page so there's no confusion about what time zone slots are in

  • Slots now correctly reflect your local working hours (9am–5pm in your timezone) instead of showing times offset to UTC

  • Fixed slots appearing from 5am — caused by timezone defaulting to UTC on first connect

  • Booked or locked slots no longer appear as available to other candidates

  • Scheduling links from deleted candidates now show a clear "no longer available" page instead of an error


Candidate Scheduling Page (what candidates see)

  • New: Timezone selector — Candidates can switch the timezone on the scheduling page to see slots in their local time

  • New: "Already booked" screen — If a candidate opens a scheduling link after already booking, they see their confirmed time, Zoom link, and a note to contact the recruiter to reschedule

  • New: "Link expired" screen — If a scheduling link is more than 7 days old, candidates see a clear expiry message instead of a broken page

  • New: "Invitation cancelled" screen — Candidates who were cancelled see a friendly message with instructions to contact the recruiter

  • New: "Invalid link" screen — Handles links that are malformed or no longer valid with a clear explanation

  • Timezone label shown below the page heading so candidates always know what timezone the times are in


Candidate Profile (recruiter view)

  • New: Reschedule button — Visible when an interview is in Scheduled status. Sends the candidate a fresh booking link and resets their status.

  • New: Cancel interview button — Cancels the interview and frees the calendar slot

  • New: Mark no-show button — Appears after the scheduled interview time has passed

  • New: Warning banners — If a calendar event failed to create, a confirmation email failed to send, or an invite email bounced, a yellow warning banner appears at the top of the candidate profile with details and next steps

  • Invite email bounce detection — if a candidate's email bounces, their profile is automatically flagged


Candidate List

  • Fixed a bug where clicking a row checkbox would toggle selection on and off twice, making it impossible to select a single row

  • Row checkboxes and row click now behave independently as expected


Integrations

  • Google Calendar, Microsoft Outlook, Zoom, Greenhouse, Lever, and Ashby now display their official brand logos instead of plain text

  • Fixed a crash that occurred when opening the settings panel for a newly connected calendar account

  • Timezone in calendar settings now defaults to your browser's local timezone instead of UTC when first opening the settings dialog

  • Calendar settings now show a timezone dropdown with all IANA timezones for manual override


Email & Invites

  • Fixed: invite emails that silently failed to send now surface a clear error so recruiters know to retry or check their email configuration

  • Resending an invite to a cancelled candidate now generates a fresh scheduling link (old link is invalidated) and resets their status back to invited

  • Resend invite no longer sends a broken link after a reschedule

  • Added bounce webhook support — bounced emails are detected automatically and flagged on the candidate profile


AI Interviews

  • Fixed: AI note-taker was failing with a model error after interview completion — notes now generate reliably

  • Improved audio stream handling for more consistent transcription during live interviews

  • Camera stream now persists throughout the interview without dropping

  • Interview completion is now explicitly triggered by the AI at the right moment rather than by a timeout


ATS Integrations (Greenhouse, Lever, Ashby)

  • Candidate import schema aligned with all three ATS providers

  • Connected ATS accounts now show their official brand logo on the integrations page

  • Import flow improvements for candidates synced from external ATS systems


General & Stability

  • Scheduling links are now scoped to 7-day expiry windows — expired links show a helpful message instead of a generic error

  • Concurrent booking protection — if two candidates try to book the same slot at the same time, one is held for 5 minutes while the booking completes, preventing double-booking

  • Various improvements to error handling across the invite, booking, and calendar sync flows

Changes

Changelog - Testing Branch

Focus: Live Video Engine, AI Voice Interaction, and Recruitment Demo Mode.


🚀 New Features

🎙️ Next-Gen Voice Agent (Michelle)

  • Deepgram Voice Integration: Switched to Deepgram's real-time WebSocket agent for ultra-low latency voice interaction.

  • Michelle UI: Introduced "Michelle," the professional AI interviewer, with dedicated visual states for speaking and listening.

  • Barge-in Support: Candidates can now naturally interrupt Michelle. The AI detects candidate speech and stops talking immediately.

  • Crystal-Clear Audio: Implemented a new Web Audio scheduling engine that ensures zero-gap, high-fidelity playback of AI responses.

🧪 Demo Interview Mode

  • Risk-Free Testing: Recruiters can now launch "Demo Interviews" to experience the platform from a candidate's perspective.

  • No Credits Consumed: Demo sessions do not count against plan limits.

  • Sandbox Environment: Results from demo interviews are labeled clearly and do not impact production analytics or scoring.

🛡️ Enhanced Proctoring & Integrity

  • Tab-Switch Detection: Real-time monitoring for candidates who leave the interview tab.

  • Strike System: Automatic logging of "strikes" (warnings) for suspicious behavior, visible to recruiters in the final report.

  • Session Consistency: Improved persistence between the entry "Lobby" and the Live session to ensure camera and mic stability.


🔧 Technical Improvements

🏗️ AI & Processing Pipeline

  • LLM Adapter: Added a new adapter route to bridge Deepgram's voice stream with Claude's reasoning, providing more context-aware interview questions.

  • Scoring Overhaul: Significant performance and accuracy improvements to the score candidate engine.

  • Raw PCM Audio: Transitioned from MediaRecorder (compressed) to raw ScriptProcessor capture (linear16 PCM) for higher transcription accuracy.

📦 Backend & Data

  • Migration: Added database to support the new demo mode status and tracking.

  • Video Uploads: Refined the chunked video upload process for more reliable recording saving during long sessions.


🎨 UI/UX Updates

  • Redesigned Interview Room: Dark-themed, premium interface with focus on the conversation.

  • Pre-flight Lobby: A dedicated hardware check screen (Lobby) to ensure candidates have their camera and mic configured correctly before the session starts.

  • Live Indicators: Added animated waveforms and status badges to show when the AI is processing or delivering speech.


Date: March 21, 2026

Last updated