Kevin De Benedettikevindb.dev
  • Home
  • Projects
  • Lab
Language/
Get in touch

Kevin De Benedetti

© 2026Legal NoticePrivacy

Portfolio Assistant

Ask about Kevin

Login required

Sign in to chat with me — I'll answer your questions about Kevin's projects and experience, or help you leave a message to get in touch.

Sign in to chat

Free account required · No spam

Lab · logbook

The lab,
in the open.

Behind the scenes of this site: the assistant that answers questions about my work, the pipeline that feeds it and the guardrails that keep it in line.

  1. EXP-01The assistantIn production
  2. EXP-02The knowledge pipelineEvery week
  3. EXP-03The guardrailsIn production

EXP-01 · The assistant

An agent that searches before it answers.

A LangGraph graph reads the question first, picks the domains that can answer it and rewrites the search for each one. One model call to plan: the rest is deterministic and bounded, so the cost of a turn stays predictable.

6 domains

  • profile
  • projects
  • resume
  • code
  • documentation
  • FAQ

Behind the scenes, the same question can go to two models at once to compare their answers side by side.

  1. 1 · routeUnderstand the questionThe only model call before the answer: it picks the useful domains and rewrites the search for each one.
  2. 2 · embedPrepare the searchesThe rewritten queries are embedded in a single batch.
  3. 3 · retrieveSearch QdrantEvery domain in parallel: four passages at most from each, none below a score of 0.3.
  4. 4 · gateKeep what mattersThe passages of every domain compete for room: 8 at most, 6,000 characters in all, no duplicates.
  5. 5 · answerWriteThe model answers from that context in structured blocks: text, tables, project cards, and the contact form when you ask for it.

EXP-02 · The knowledge pipeline

A versioned corpus, rebuilt every week.

Source · GitHub

Everything starts on GitHub: my profile, the projects, their code and their documentation, read where they live rather than copied by hand.

One commit, one snapshot.

Every release of the corpus is a commit of the dataset: what the assistant has read is always known.

Going back.

Reindexing an earlier revision is enough to restore the old corpus in full.

Read, never build.

This site indexes the datasets, it does not make them: the corpus lives in its own repository.

EXP-03 · The guardrails

Guardrails, tested like attacks.

  • Input

    Spot without blocking

    Phrasing typical of prompt injection is detected and logged, never blocked: a false positive must not turn a real question away.

  • Output

    A canary in the prompt

    A random marker, new on every turn, is slipped into the system prompt. If it shows up in a reply, the prompt has leaked: the reply is withheld.

  • Tests

    Attacks, replayed

    A corpus of attacks is checked by the tests, and replayed by hand against the real model, never in CI: every attack is a paid call.

  • Budget

    Capped spending

    Quotas per account and per network, and a spending cap past which the assistant takes a break until the next day.

And in the chat logs, personal data is masked after 24 hours, and conversations are deleted after 90 days.

An idea for an experiment?
Let's talk.

Get in touch