Frankie
AI voice interview coach for Columbia University's Justice Through Code program. Fully self-hosted model stack, behavioral profiling in Neo4j.
What it is
An AI voice interview coach built for Columbia University’s Justice Through Code program. Frankie helps justice-impacted people practice job interviews, with behavioral profiling that supports proactive recruitment and employer matching over time.
Fully self-hosted model stack: Distil-Whisper for speech-to-text, Phi-4 Mini for dialogue, Kokoro-82M for text-to-speech, DeBERTa-v3-large on CPU for scoring. Targets 8GB VRAM on a single GPU. The v2 data platform is a 20-node-type Neo4j schema modeling learners, sessions, competencies, AI interactions, coaching metrics, cost and delivery metrics, recommendations, and evidence for funders.
Technical contribution
The interesting work is not the voice pipeline — it’s the decision to own it. Frankie’s v1 used ElevenLabs at 2 tokens per second. For a program serving a population where session count scales with engagement, and where interview coaching may involve sensitive personal history, per-token API economics and third-party data handling both become problems worth solving structurally.
The data platform supports four layers of evidence: behavioral profiling per user, employer-side matching, proactive recruitment targeting, and funder evidence. Layer 1 (behavioral profiling) is active; further layers gate on real-world validation — around 50 users completing two or more sessions, with interview outcome tracking from day one as external ground truth.
The lesson
Interview outcomes in the field are the only evaluation that matters for this product. Self-reported session quality, dialogue coherence scores, behavioral profile confidence — all of it is instrumentation. The question is whether the person got the job. Designing for that answer from day one changes the data model.