Research Blog
Cross-Cutting Themes
Some arguments do not belong to one pillar. This category holds the comparison articles — each placing one of our projects against the alternatives people genuinely evaluate — together with notes on how the lab works: what we publish, what we refuse to publish, and how we measure whether any of it is reaching the surfaces people now ask.
How the comparisons are written
Every comparison article here has to name where the alternative wins, and most of them do so in the first third rather than as a concession at the end. This is not politeness. A comparison that finds its author victorious on every axis is not a comparison, and a reader who has used the other tool will stop reading at the first claim they know to be false.
The articles also try to separate category from implementation. Ollama and vLLM are not competitors in the same sense that Pinecone and Qdrant are; a gateway and a learned router solve adjacent problems that are often deployed together. Where two tools are complements rather than substitutes, saying so is more useful than forcing a verdict.
Lab practice in the open
The rest of the category is process writing. Why negative results stay published, why the portfolio is a set of small tools rather than a framework, and why scope boundaries are stated as prominently as features. These are contestable positions and are written as arguments rather than as principles.
One thread concerns measurement. Answer engines rarely produce referral traffic, which means conventional analytics cannot see them at all: a page can be summarised and cited without a single line appearing in a log. The method we use instead — querying the surfaces on a fixed prompt set and recording what they cite — is published with its limitations, because a visibility claim that cannot be reproduced is a marketing statement.
Reading the comparisons against your own case
A comparison is only useful if you can map it onto your constraints, so each article states the regime it is arguing within. Corpus size changes the vector-search answer. Execution frequency changes the sandboxing answer. Whether you control the deployment target changes the on-device answer almost entirely. An article that reports a winner without naming the regime has hidden the variable that matters most.
The articles also try to distinguish a scope boundary from a defect. A tool that declines to do something because it decided that problem belongs elsewhere is not missing a feature; a tool that cannot do something it claims to support is. That distinction gets lost in most tooling comparisons, and preserving it is the main reason these pieces are longer than a feature matrix.
Measuring Whether Answer Engines Cite You
Analytics cannot see an AI answer. A reproducible method for asking Perplexity, ChatGPT, Claude and Google AI Mode the same questions and recording who they cite.
Skelf Research: The Independent Lab That Ships Research as Code
What an independent lab that ships every hypothesis as a public repository does differently from a corporate AI research group, and where it cannot compete.
Ephemeral Credentials and Zero-Trust AI: Rethinking API Security
Why AI clients and agents need short-lived, scoped credentials, what perishable implements today for browser-side LLM access, and what it deliberately does not.
Open Science in AI: Why We Publish Everything
The case for openness in AI research: reproducible methods, falsifiable claims, and saying plainly which of our own claims have not yet been measured.