hrtechai-mvp

How SpeedMVPs Built an AI Interview Scheduling and Coordination Automation: HR Tech AI-MVP Case Study

Interview scheduling is logistically tedious and disproportionately expensive for the value it delivers. Coordinating availability across four interviewers and twelve candidates, generating confirmation emails, handling rescheduling requests, and keeping a hiring manager informed of the interview pipeline status is work that takes hours of recruiter time each week and could be almost entirely automated. SpeedMVPs built an AI interview scheduling and coordination automation for an hrtech client using Next.js, Supabase, OpenAI GPT-4o, Google Calendar API, and Vercel. The tool collects availability, proposes optimal interview slots, generates personalised confirmation communications, integrates with Google and Outlook calendars, and maintains a scheduling status dashboard for the recruiting team. Delivered in under three weeks at a fixed price from GBP 8,000, with full code ownership transferred. UK recruiting teams processing candidate data for scheduling purposes must handle that data under a valid UK GDPR lawful basis, typically legitimate interests, and disclose data processing in the candidate-facing confirmation emails. Candidate scheduling data cannot be retained indefinitely after the recruitment process ends, and timezone handling for candidates based outside the UK requires explicit labelling on all calendar invites to avoid costly scheduling errors. SpeedMVPs has delivered interview scheduling automations for UK-based HR technology companies and in-house recruiting teams where the GDPR compliance layer, timezone management, and OAuth token lifecycle are handled correctly from the first deployment rather than being patched in after a data protection incident.

Tech Stack

Next.jsSupabaseOpenAI GPT-4oGoogle Calendar APIVercel

Project Overview and Business Context

The client was a recruitment technology company building productivity tools for in-house recruiting teams. Their primary user, a recruiter managing 15-20 open roles simultaneously, spent an estimated 6-8 hours per week on interview scheduling logistics: finding slots that worked across multiple interviewer calendars, emailing candidates with options, handling inevitable rescheduling requests, and chasing confirmed attendees with reminders. The brief was to automate as much of this coordination as possible, reducing recruiter scheduling effort to under 30 minutes per week per active role. The product needed to: collect interviewer availability from Google and Outlook calendar integrations, surface available interview slots to candidates via a booking link, automatically generate and send confirmation and reminder emails in the recruiter's tone of voice, handle rescheduling requests with a natural language interface, and present the interview pipeline status in a single dashboard without requiring recruiter input to update it. GPT-4o contributes to two parts of the product: generating personalised email communications in the recruiter's configured tone, and interpreting natural language rescheduling requests from candidates to determine intent and appropriate action. The scheduling logic itself is deterministic: calendar slot availability is computed without AI involvement, as this is a precision task where LLM unpredictability is a liability.

Technical Architecture and Stack Decisions

The application is built on Next.js with Supabase for authentication and scheduling data, deployed on Vercel. The calendar integration layer uses Google Calendar API (OAuth2) and Microsoft Graph API for Outlook calendar integration, allowing the tool to read interviewer free/busy information without exposing calendar details to the recruiter or candidate. The availability aggregation engine is a server-side function that takes the list of interviewers for a role, their calendar access tokens, the interview duration, and any blackout periods (lunchtime, outside office hours), and computes available interview slots for the next 14 days. Slots are ranked by preference: earlier dates, core business hours, and slots that avoid back-to-back interviews for any interviewer. The candidate booking flow generates a unique booking link per candidate. Clicking the link presents available slots in the candidate's detected timezone (from browser locale), allows slot selection, and triggers automatic calendar invites to all interviewers and the candidate. Confirmation and reminder emails are generated by GPT-4o per candidate, using the recruiter's configured tone settings and the specific role and candidate context. Rescheduling requests arrive via a candidate reply link that opens a short natural language input. GPT-4o classifies the request intent (reschedule to specific date, reschedule to first available, cancel) and passes structured intent to the scheduling engine, which automatically finds and offers new slots without recruiter involvement. Supabase stores all scheduling records, email logs, and status data, feeding the recruiter dashboard.

Key AI and ML Components

GPT-4o contributes to two specific functions. Email generation: the system prompt configures the recruiter's communication tone (formal, conversational, brand voice) and provides role and candidate context. GPT-4o generates a personalised confirmation or reminder email that includes the interview details, preparation guidance, and a link to the rescheduling portal. Generated emails are reviewed by the recruiter in the dashboard before sending, unless the recruiter has enabled automatic sending for confirmations. Rescheduling intent classification: when a candidate submits a natural language rescheduling request, GPT-4o classifies the intent into structured categories and extracts any date or time preferences mentioned. The output feeds the scheduling engine, which acts on the intent. The classification handles ambiguous requests gracefully: if the intent is unclear, the system sends a short clarification response to the candidate rather than taking an incorrect action. The calendar integration and slot computation are entirely deterministic. Computing availability from calendar free/busy data and ranking slots by preference is a precision task where AI involvement would introduce unreliability. The AI layer is used only where language understanding and generation add genuine value.

Challenges Solved and How

Calendar integration reliability is the most technically challenging aspect of the build. OAuth token refresh, API rate limiting, and differences between Google and Microsoft Graph API behaviours required careful handling. The integration layer implements token refresh before expiry, exponential backoff on rate limit responses, and a graceful fallback where the recruiter is notified if calendar access fails and asked to manually confirm availability. Timezone management is a common source of scheduling errors in interview coordination tools. The system stores all times in UTC and converts to the user's timezone for display, with explicit timezone labelling on all calendar invites and booking confirmations. The candidate booking page detects the browser timezone and presents slots in local time with the UTC offset shown. Email generation quality required calibration. Early versions of the email generation produced email that sounded generically AI-written. The system prompt was refined with specific instructions on sentence length, vocabulary level, and the specific personalisation elements to include (candidate name, role title, interview panel names, preparation notes). Recruiter feedback on generated emails during the pilot informed prompt refinement.

Outcome and Measurable Results

The client deployed the tool to a team of eight recruiters managing 60 active roles across three employer clients. Recruiter scheduling time fell from an average of 7.2 hours per week to 1.1 hours per week across the team, a reduction of 85%. The 1.1 hours remaining was primarily reviewing and approving AI-generated emails and handling edge-case rescheduling requests that the system escalated for manual resolution. Candidate experience scores on the scheduling process improved significantly: post-interview candidate surveys showed scheduling satisfaction scores of 4.6/5 compared to 3.8/5 before the tool, attributed primarily to faster response times and the self-service rescheduling capability. Rescheduling requests handled entirely automatically (without recruiter involvement) were 73% of all rescheduling events in the first month. The 27% that required human review were primarily complex requests involving room bookings, panel changes, or multi-round schedule restructuring.

Lessons for Similar Projects

Separate scheduling logic from AI logic. Calendar availability computation, slot ranking, and invite generation are precision tasks. Do not use an LLM where a deterministic algorithm is more reliable. Use GPT-4o for what it does well: generating natural language communications and interpreting ambiguous natural language input. Build robust OAuth token management from day one. Calendar integrations that rely on expired tokens degrade silently, creating scheduling gaps that take time to diagnose. Automated token refresh and proactive notification of access failures are essential. Test across time zones with real calendar data early. Timezone bugs in scheduling tools are common and often invisible in testing environments where all users share the same timezone. Use the recruiter's communication tone configuration. Interview scheduling emails represent the employer brand. A one-size-fits-all email template creates a worse candidate experience than a personalised email, and GPT-4o generation makes personalisation cheap.

Frequently Asked Questions

Which calendar systems does the tool support?+

The MVP supports Google Calendar via the Google Calendar API and Microsoft Outlook via the Microsoft Graph API. Both integrations use OAuth2 for secure calendar access and read only the free/busy information needed for slot computation, without accessing event details or other calendar data. Recruiters and interviewers connect their calendars through a guided OAuth flow in the tool's settings. Additional calendar systems (iCal, Calendly) can be added as extensions.

How does the candidate experience the scheduling process?+

Candidates receive a personalised email from the recruiter (generated by AI and approved by the recruiter) containing a unique booking link. The booking page shows available interview slots in the candidate's detected timezone, allows them to select a slot, and immediately sends calendar invites to all parties. If they need to reschedule, a link in the confirmation email opens a natural language rescheduling interface. No account creation is required from the candidate.

Can the tool handle multi-round interview processes?+

Yes. The tool supports multi-stage interview scheduling: first stage, second stage, and final stage can be configured separately with different interviewer panels for each stage. Scheduling for subsequent stages is triggered automatically when the recruiter advances a candidate through the pipeline. The dashboard shows scheduling status per candidate per stage, giving the recruiter a complete view of the hiring pipeline without manual status updates.

How is candidate scheduling data handled under UK GDPR?+

Candidate data (name, email, scheduling preferences) is stored in Supabase and used only for the purpose of coordinating the interview for the relevant role. Data is retained for the duration of the recruitment process and deleted per the employer's GDPR data retention policy, configurable in the tool settings. Candidates are informed of data processing in the scheduling confirmation email, which links to the employer's privacy notice. Calendar access is limited to free/busy information and does not store calendar event details.

Building something similar? Get a free consultation at speedmvps.co.uk

Get a Free Quote