Inspiration: Lie detection tech has stayed stuck in polygraphs and gut feel — subjective, slow, and easy to game. With LLMs now able to parse tone, language, and behavioral cues at scale, we wanted to build something that catches deception the way a trained interrogator would: by looking at both what's said and how it's said. "Every lie leaves a trace" — we just needed the right pipeline to find it.
What it does: TruthLens is a two-stage deception detection pipeline. Stage 1 transcribes and extracts audio/speech features (pauses, pitch shifts, hesitation markers) via Whisper. Stage 2 feeds that + transcript into a LangGraph-orchestrated reasoning flow powered by Gemini, which cross-checks linguistic inconsistency, emotional incongruence, and behavioral red flags to output a structured deception risk score — validated against Pydantic schemas so the output's always reliable, not just vibes-based LLM text.
How we built it: Whisper for speech-to-text + prosodic feature extraction LangGraph to orchestrate the multi-step reasoning graph (transcribe → extract signals → cross-reference → score) Gemini as the reasoning engine for the deception-analysis stage Pydantic to enforce strict, structured JSON output at every graph node so nothing breaks downstream Ran and debugged the full pipeline end-to-end locally on an M4 MacBook
Challenges we ran into: Python version conflicts across the Whisper/LangGraph/Gemini stack Gemini API key formatting issues that silently broke auth A macOS-specific faster-whisper crash that took real digging to isolate and fix Getting Gemini's free-text reasoning to reliably map into strict Pydantic schemas without losing nuance
Accomplishments that we're proud of: A working two-stage pipeline that combines acoustic and linguistic signals instead of relying on transcript text alone Structured, schema-validated outputs — no flaky JSON parsing Debugged and shipped a fully working local build despite three separate environment-specific blockers Built a genuinely novel take on AI risk detection for the AryaXAI Track 2 submission
What we learned: Multi-modal signal fusion (audio + text) catches things text-only models miss LangGraph is a strong fit for multi-stage reasoning pipelines where each step needs different context Structured output enforcement (Pydantic) is non-negotiable once an LLM is a node in a larger system Platform-specific quirks (macOS + faster-whisper) can eat as much time as the actual ML logic
What's next for TruthLens: Real-time streaming analysis instead of post-hoc processing Expanding signal set beyond audio to include facial/video cues for a full multi-modal risk score Benchmarking against labeled deception datasets to quantify accuracy Packaging as an API/SDK so it can plug into interview, fraud-detection, or compliance workflows
Built With
- ai/ml:
- core
- deception
- detection
- gemini
- langgraph
- llm
- multi-modal
- natural-language-processing
- openai
- python
- speech
Log in or sign up for Devpost to join the conversation.