ApexFlow Interviewer
An AI interview platform in active development, for candidates practising and recruiters running real interviews. An AI voice agent joins the same LiveKit video room as the candidate, asks questions generated from the resume and job description, follows up in real time, runs a sandboxed coding round and produces an explainable, scored report. The architecture and an 11-phase roadmap are defined; work is under way on the live room and the voice pipeline.
- Role
- Founder, architect and developer
- Timeline
- Started January 2026, ongoing
- Stack
- Next.js · Go · FastAPI · LiveKit · GPT-4o · Deepgram · ElevenLabs · GKE

01 — Problem
Automating an interview isn't a CRUD problem. It needs stable real-time video for up to an hour across poor networks and firewalls, an AI that listens, thinks and speaks back within seconds and handles interruptions, questions built from unstructured resumes, safe execution of candidate code, scoring that can be explained, and consent and retention rules for recordings under GDPR and CCPA.
02 — Approach
03 — Architecture
How the system fits together, in two views.
04 — Decisions
- D1LiveKit instead of raw WebRTCOver: Peer-to-peer WebRTC, Agora, Twilio Video, DailyServer-side rooms, token auth, built-in recording, participant events and reconnection, plus an AI agent can join as a participant. Raw WebRTC gives no server-side control.
- D2Self-host LiveKit on GKEOver: Managed video servicesTechnical control, cost, and data residency for GDPR: media stays on the team's own infrastructure.Trade-offMore operational work and Kubernetes skills needed, accepted because learning Kubernetes is also a goal.
- D3An SFU, not an MCUA selective forwarding unit forwards streams without mixing them, using far less server CPU; for one candidate and one agent the overhead is small.
- D4Go core, Python AIGo for a fast, concurrent core API; Python for the AI libraries and the voice-agent ecosystem.
- D5Judge0 for candidate codeBuilding a safe multi-language sandbox is a large security task; Judge0 already does it, with test-case support.
05 — Technology
- Frontend
- Next.js App Router, TypeScript, Tailwind, shadcn/ui, Zustand, React Query, Monaco
- Real-time media
- LiveKit (self-hosted SFU on GKE), LiveKit React SDK, Egress recording
- Voice pipeline
- LiveKit Agents, Pipecat, Deepgram, GPT-4o, ElevenLabs
- Backend
- Go core API, Python FastAPI AI services
- Code execution
- Judge0, self-hosted
- Data
- Supabase (Postgres, Auth, Storage, Realtime), Prisma, Redis
- Infrastructure
- Docker, Cloud Run, GKE Autopilot, Helm, Cloudflare, Vercel
06 — Outcome
Own product · 202607 — Status
- Requirements and user stories with acceptance criteria
- Stack and architecture finalised (January 2026)
- 11-phase, roughly 17-week roadmap
- GCP, Supabase, Cloudflare and OpenAI set up; Docker dev environment
- Live interview room with stable connection handling
- Deepgram + GPT-4o + ElevenLabs agent via Pipecat
- Live coding round with hidden tests
- Scoring and candidate reports
- Recruiter dashboard, branding and team review
- Production hardening and launch
08 — My role
Owner and developer of a self-directed product, deliberately learning Go and Kubernetes by building it.
- Requirements baseline and MVP+ scope
- Technology stack and architecture
- Media infrastructure decisions: LiveKit, self-hosted on GKE
- Cloud and local foundations
- Live interview room and voice-agent integration (in progress)
