Assistant · How it is built
How it is built
The assistant on this site answers only from what is published here, cites every page it draws on and shows what each answer costs. This is how it works inside.
What happens when you ask
Checks before spending anything
The server checks that the question comes from this site, that it is within the size limit and that neither your quota nor the daily budget is used up. If anything fails, it answers without calling the model.
Search over the site itself
A BM25 index finds the most useful passages among the posts, case studies, the lab, the stack and a short facts sheet. The lab and the stack are sent in the language of your question.
An answer with citations
Claude Haiku 5.5 answers only from those passages, using Anthropic's citations feature: every number links to a page that exists. The part that is always sent is cached, so each question costs less.
Live data
If you ask about the state of the lab, the model calls a read-only tool that returns the real status of each system.
Streamed and transparent
The answer arrives as it is written, with its sources, and underneath you can see the model, the tokens, the latency and the cost.
Limits
- 500 characters per question
- 15 questions every 10 minutes per visitor
- 1,500,000 tokens a day across all visitors
- 1,500 output tokens per step
- 32 KB per request, and only from this site
- A switch that turns it off without touching the code
Privacy
The site does not store your questions or the answers. Each question leaves one technical line in the server logs (outcome, latency, tokens, cost and error type), without the question, the answer or anything that identifies you. Privacy policy
Measured quality
A fixed set of 30 questions in Spanish, Catalan and English: about the site, about the state of the lab, about details that are not published, off-topic requests and attempts to manipulate it. It runs against the live site whenever something important changes.
28/30 cases passed
| Kind | Passed |
|---|---|
| About the site | 12/13 |
| State of the lab | 3/3 |
| Unpublished details | 5/5 |
| Off-topic requests | 4/4 |
| Manipulation attempts | 4/5 |
| Check | Passed |
|---|---|
| Answers without an error | 30/30 |
| In the language of the question | 29/30 |
| Cites an expected page | 16/16 |
| Checks the live status | 3/3 |
| Points to /contacto | 5/5 |
| Does not reveal its instructions | 5/5 |
| Speaks about Àlex in the third person | 24/25 |
| No copied internal labels | 30/30 |
| Includes the expected detail | 10/10 |
| Leaves out what it must not say | 11/11 |
The checks are automatic and deterministic, not a human grade: they detect the language from common words and look for specific patterns, so they can be wrong on edge cases.