Transparency
How it works
How the agent on this site answers questions, how it was tested, and what happens to what you type.
From question to answer
You ask a question
On the Ask page. The site checks that the request came from this site and fits the size limits.
Find relevant passages
The question is converted to an embedding with OpenAI text-embedding-3-small, and the 20 closest passages from Stephen's materials are found in a Chroma vector database.
Keep the ones that answer it
Claude Haiku 5.5 reads those passages and keeps the 6 that actually answer the question.
Write the answer
Claude Sonnet 5.5 writes the answer from those passages and a short profile summary that is always included, following rules about scope, accuracy and privacy.
Show the answer and its sources
The answer streams back to the page, with the related passages listed under it.
What the agent knows
Only Stephen's own materials: 79 passages from documents he reviewed and approved, plus a one-page profile. It has no web access, no tools and no memory between conversations. When the answer isn't in his materials, it says so instead of guessing.
Before anything is added, every document passes a review gate and an automated scan for content that shouldn't be public, such as non-public employer details.
Retrieval or full context
Stephen's materials are small enough to give the model all of them with every question. The agent retrieves a handful of relevant passages instead, so it was tested both ways. On 27 questions, giving the model everything was as accurate as the best retrieval setup, and plain retrieval missed one factual question because the right passage ranked too low. Adding a reranking step closed that gap, at a fraction of the cost of sending everything.
| Approach | Facts and figures | All questions | Median response | Cost per answer |
|---|---|---|---|---|
| Retrieval · Anthropic | 15/16 | 26/27 | 2.3 s | 0.6¢ |
| Retrieval + reranking · Anthropic (live) | 16/16 | 27/27 | 3.1 s | 0.5¢ |
| Full context · Anthropic | 16/16 | 27/27 | 2.3 s | 3.0¢ |
Evaluation results
The agent is tested against 27 questions: facts and figures, career summaries, follow-ups, off-topic requests, contact questions, and attempts to manipulate it, such as asking for its instructions, salary details or confidential employer information. Each answer gets automated checks, and Claude Opus 5.5 scores it from 1 to 5 for faithfulness to the source material, completeness and tone. A judge from the same company as one of the models may favor that model's answers somewhat.
| Configuration | Passed | Faithfulness | Completeness | Tone | Median response |
|---|---|---|---|---|---|
| Retrieval · Anthropic | 26/27 | 4.9 | 4.8 | 4.7 | 2.3 s |
| Retrieval · OpenAI | 26/27 | 4.9 | 4.7 | 4.9 | 2.0 s |
| Retrieval + reranking · Anthropic (live) | 27/27 | 4.9 | 5 | 4.7 | 3.1 s |
| Retrieval + reranking · OpenAI | 27/27 | 5 | 4.9 | 4.9 | 2.6 s |
| Full context · Anthropic | 27/27 | 4.9 | 5 | 4.9 | 2.3 s |
| Full context · OpenAI | 27/27 | 5 | 4.9 | 4.9 | 1.9 s |
| Question type | Retrieval · Anthropic | Retrieval · OpenAI | Retrieval + reranking · Anthropic (live) | Retrieval + reranking · OpenAI | Full context · Anthropic | Full context · OpenAI |
|---|---|---|---|---|---|---|
| Facts and figures | 15/16 | 15/16 | 16/16 | 16/16 | 16/16 | 16/16 |
| Career summary | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 |
| Follow-up questions | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Off-topic questions | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Contact and booking | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Manipulation attempts | 6/6 | 6/6 | 6/6 | 6/6 | 6/6 | 6/6 |
Evaluation run of October 18, 2026.
Security controls
- A strict Content Security Policy with a fresh nonce on every page, plus HSTS and the standard hardening headers.
- The chat only accepts requests from this site, within size limits, and a firewall rule limits how many questions one visitor can send per minute.
- Retrieved passages are treated as untrusted data, never as instructions, and the agent has no tools or actions to misuse.
- Answers render without raw HTML or images, and only links to this site or Stephen's LinkedIn profile are clickable.
- There is no way to add or change the agent's materials over the internet; that happens offline, after review.
- Dependencies are audited and their signatures verified on every change.
Models and caching
Claude Sonnet 5.5 writes the answers, Claude Haiku 5.5 ranks the passages, and OpenAI text-embedding-3-small powers the search. A second provider is ready as a manual fallback; switching is a configuration change, not automatic, so the agent always runs a setup that has been tested.
The agent's instructions and profile are cached for five minutes, which makes repeat requests cheaper and faster. In the evaluation run, 72% of the live configuration's input came from the cache. With visits usually more than five minutes apart, most real requests write the cache rather than read it, so here it is as much a demonstration as a saving.
Privacy
This site sets no cookies and counts anonymous page views with Vercel Web Analytics. Questions are sent to OpenAI to search Stephen's materials, and Anthropic to rank the passages found and generate answers. This site does not store them. Its logs record only metadata, such as timing and token counts, never what you asked.