Airbase — Autonomous AI Interviewer
The AI that interviews every candidate over video and phone, scores them against your rubric, and hands you a ranked shortlist.
The role
CTO & Co-Founder — architecture & full build
Highlights
- Built a real-time voice agent that autonomously conducts video and phone interviews, replacing first-round human screening.
- Built an in-app AI assistant that runs real tasks on command — operating the app through its own API as the logged-in user.
- Engineered LLM scoring pipelines that evaluate interviews and applications against rubrics with structured, evidence-backed decisions.
- Built an AI document pipeline that cut per-document processing cost by ~99%.
- Designed model-agnostic orchestration with automatic provider fallback — every model swappable, the system stays reliable.
// inside_the_product
What Airbase does — and what I built
Sage ⟩ Walk me through a system you scaled.
“Sure — we moved to an event-driven…”
AI Interviews
Structured first-round interviews, on autopilot
A real-time voice agent interviews every candidate over web or phone — asking your questions, following up naturally, and scoring as it goes. I built the sub-second voice pipeline behind it.
Resume Screening
A ranked shortlist before you open a resume
Every application is read against your rubric and scored, so the strongest matches surface on their own — powered by an LLM scoring pipeline that returns structured, evidence-backed decisions, not vibes.
Talent Matching
Rediscover talent you already have
Search everyone who has ever applied and rank them by fit for a new role — vector search across your whole candidate history. Your next hire may already be a yes.
Omnichannel
Meet candidates where they are
Interviews by voice, video, text, or email, in 5+ languages, so you reach your whole audience and far fewer people drop off. One agent across every channel, bridged over WebSockets and Twilio.
// architecture
The system at a high level
A high-level view of the system — a TypeScript/Bun core with AI agents embedded across the product, model-agnostic and driven entirely through APIs.
- 01
Clients
ReactWebSocketsService WorkerRecruiter and applicant apps, plus a real-time interview client with client-side recording that survives flaky networks.
- 02
API & services
BunRESTBullMQA core ATS API with a set of focused services around it — recording, async processing, and the interview bridge — each doing one job.
- 03
Agent & LLM layer
agentsideTool-useMulti-providerA provider-agnostic agent engine (open-sourced as agentside) that drives the app through its own API, plus scoring pipelines that grade against rubrics with structured output.
- 04
Voice pipeline
STT / TTS / VADTwilioA sub-second speech-to-text → LLM → text-to-speech loop that bridges browser and phone callers into one interviewer.
- 05
Data & infrastructure
PostgreSQLRedisS3Vector searchRelational data for the ATS, a cache and queue layer, object storage for recordings, and vector search for talent matching.
What it is
Airbase is an autonomous AI interviewer. It runs a structured first-round interview with every candidate — over web or phone — asks the questions you define, follows up naturally, scores against your rubric, and hands you a ranked shortlist. It's the interview-focused edition of Cuee, the full hiring platform, built on the same codebase.
I'm the sole technical founder. I designed the architecture and built the whole system largely solo across TypeScript, Bun, and Python, with AI agents embedded across the product.
The hard parts
- A voice agent that conducts interviews. Real-time, over web and phone — it listens, asks, follows up, and scores, on its own.
- An assistant that acts, not chats. It runs real tasks by driving the app through its own API, as the logged-in user, inside their permissions.
- Decisions you can audit. LLM scoring pipelines grade against rubrics and return structured, evidence-backed output — not vibes.
- Cost engineered. A document pipeline that cut per-document cost by ~99%.
- Never locked to one model. Model-agnostic orchestration with automatic provider fallback.
Want something like this built?