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 actual technical capabilities. This project provides a production-grade interactive portfolio that serves as a living proof of skill by implementing a complex AI system including a voice-enabled chatbot, automated evaluation pipelines, and full observability.
How it works
The system centers around an AI chatbot named "Santi" that uses Claude Sonnet for text and the OpenAI Realtime API for voice. It employs an agentic RAG (Retrieval-Augmented Generation) pipeline featuring hybrid search (combining pgvector semantic search and BM25 full-text search) and reranking via Claude Haiku.
To ensure reliability, the project implements a 6-layer defense system against prompt injection and a "closed-loop" quality system where production failures (scored below 0.7) automatically generate new tests that block future deployments via a CI gate. All activity is tracked through a private LLMOps dashboard using Langfuse and Supabase.
Who it’s for
Developers and AI engineers who want to see a reference implementation of a production-ready LLM application, specifically focusing on RAG, LLMOps, and automated evaluation frameworks.
Highlights
- Dual-Mode Interaction: Supports both streaming text chat and low-latency audio-to-audio voice sessions.
- Automated Evals: 71 automated tests across 10 categories (e.g., factual accuracy, safety, RAG quality) acting as a CI gate.
- LLMOps Dashboard: A private
/opsinterface for monitoring costs, latency, security threats, and RAG activation rates. - 6-Layer Security: Comprehensive defense including canary tokens, fingerprinting, and real-time jailbreak email alerts.
- Self-Healing Pipeline: Automatically converts production traces with low quality scores into test cases to prevent regressions.
Related
- Project
- Project
- Project
- Project
- Project