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.
Free account required · No spam
Lab · logbook
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.
EXP-01 · The assistant
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
Behind the scenes, the same question can go to two models at once to compare their answers side by side.
EXP-02 · The knowledge pipeline
Source · GitHub
Everything starts on GitHub: my profile, the projects, their code and their documentation, read where they live rather than copied by hand.
Every release of the corpus is a commit of the dataset: what the assistant has read is always known.
Reindexing an earlier revision is enough to restore the old corpus in full.
This site indexes the datasets, it does not make them: the corpus lives in its own repository.
EXP-03 · The guardrails
Phrasing typical of prompt injection is detected and logged, never blocked: a false positive must not turn a real question away.
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.
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.
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.