Building a small Ask my CV assistant

An "Ask my CV" form on my website: one source, one model call and clear refusals. No RAG, because the whole CV fits in one prompt.

2 min read
  • Engineering
  • Web
  • AI

I added an "Ask my CV" form to my website. The idea was small: a recruiter can ask how long I've worked with Rust, what I built at G2A or what kinds of systems I've worked on, and get a direct answer. That didn't need a general chatbot, an agent or a vector database.

Answers come from the CV only

The assistant receives the same structured CV content that powers the website, and it may answer only from that source. When the information is missing, it says so and points to the contact form. That refusal is more useful than a well-written guess about an employer, date or technology that only looks plausible.

One endpoint, one model

One serverless endpoint and one lightweight model were enough. The prompt asks for short answers, third-person wording and a clear refusal outside the supplied material. There's no conversation memory because the feature doesn't need one.

Guardrails

The public endpoint still needed guardrails: same-site checks, rate limiting, a honeypot, input validation, blocked URLs and prompt-injection patterns, plus a bounded response. None of this makes a tiny portfolio widget invincible. It keeps the cost and attack surface in proportion to what it is.

Why not RAG

I considered retrieval-augmented generation for roughly as long as it took to say the full name out loud. The whole knowledge source fits comfortably in one request and rarely changes. Embeddings, chunking and a vector store would add failure modes without finding better facts.

So the final version stayed small: one source of truth, one bounded model call and a clear way to say "this is not in the CV".

Loading…