santifer/cv-santiago
Interactive CV with AI chat integration. Built with React 19, TypeScript, Claude API. Chat with my AI avatar about my experience.
What it solves
Static CVs often fail to demonstrate a developer's actual technical capabilities. This project transforms a traditional portfolio into a production-grade interactive experience that proves skills through a functional, high-complexity AI system.
How it works
The project implements a dual-mode AI chatbot ("Santi") that operates via text (Claude Sonnet) and voice (OpenAI Realtime API). It uses an agentic RAG pipeline featuring hybrid search (pgvector and BM25) and reranking via Claude Haiku to provide accurate, first-person responses about the author.
To ensure production quality, it includes a comprehensive LLMOps suite: a private dashboard for monitoring costs, latency, and security; a 6-layer defense system to prevent prompt injection and jailbreaks; and a closed-loop system that automatically generates new tests from production failures to block faulty deployments.
Who it’s for
Developers and AI engineers who want to see a real-world implementation of an agentic RAG system with full observability, automated evaluation pipelines, and robust security measures.
Highlights
- Dual-Mode Interaction: Supports both streaming text chat and low-latency audio-to-audio voice conversations.
- Agentic RAG: Combines semantic and full-text search with LLM-based reranking for high retrieval quality.
- Automated Evals: 71 automated tests across 10 categories (factual accuracy, safety, etc.) acting as a CI gate.
- LLMOps Dashboard: A private
/opsinterface providing real-time visibility into costs, traces, and security events. - 6-Layer Security: Implements keyword detection, canary tokens, and adversarial red-teaming to defend against prompt injection.