Summer 2025 • Personal Project
EchoCV
A resume is a one page summary that every reader has to interpret on their own. A recruiter who wants to know what someone actually did at a job, which languages they know, or what role they are after has to dig for it, or wait for an interview. EchoCV turns the resume into a conversation: anyone can ask a question in plain language and get an answer drawn from my real documents, at any time.
What It Makes Easy
- Asking instead of skimming. Questions like “What experience does Raphaël have?” or “What programming languages does Raphaël know?” get a direct answer, with suggested questions to start from.
- Answers grounded in real documents. Every answer is built from passages retrieved from my own resume and notes, so the model works from what I wrote rather than guessing.
- One folder of documents. The assistant learns from whatever sits in a single folder: PDF, Word, Markdown, and text files are extracted and indexed automatically.
How It Works
EchoCV is a retrieval augmented generation (RAG) system. When documents are added, it extracts their text, splits it into chunks of 500 characters with a 50 character overlap, embeds each chunk with the all-MiniLM-L6-v2 sentence transformer, and stores the vectors in ChromaDB.
When someone asks a question, the question is embedded the same way and ChromaDB returns the five most similar chunks. Those passages go into a LangChain chain, prompt to model to output parser, that runs Llama 3.1 8B on Groq at a low temperature of 0.3, keeping answers close to the source material.
The App
The interface is a Streamlit app with three pages: the chat itself, with suggested questions and live counts of the documents and chunks loaded; an analytics page that charts which topics people ask about and when, with Plotly, and can export the conversation; and a tools page to reload the knowledge base and inspect its stats. The whole app is containerized with Docker.
