News & guides
Building an LLM Code Review Bot People Do Not Mute
Wiring a model into pull request review: what to send it, how to post comments that land, and the signal-to-noise threshold that decides whether the bot survives.
· 9 min readBuilding an MCP Server: A Working One in an Afternoon
A practical walkthrough of writing your first MCP server: choosing the tools, wiring the transport, handling errors, and testing it with a real agent.
· 9 min readByte-Pair Encoding Explained: How Tokenizers Are Built
BPE is a compression algorithm that became the standard way to split text for language models. How it is trained, what it produces, and why it behaves oddly.
· 9 min readCalling an LLM API from Jenkins Without Leaking the Key
A declarative pipeline stage that calls an OpenAI-compatible endpoint, handles credentials properly, fails loudly on errors and does not bankrupt a shared build server.
· 9 min readChain of Thought: Why Thinking Out Loud Actually Helps
Asking a model to reason step by step measurably improves accuracy on some tasks and wastes tokens on others. The mechanism, and when it is worth the cost.
· 8 min readChargeback Models for AI Spend That Teams Accept
Allocating LLM spend back to the teams that caused it: tagging, per-key versus per-service attribution, shared costs, and when showback is the better step.
· 11 min readChoosing a Model for Non-English Codebases
Comments, identifiers and issues in another language change tokenisation, cost and accuracy. What to test and how to pick a model that handles it.
· 9 min readCircuit Breakers for LLM APIs: Failing Fast on Purpose
How to build a breaker around an inference provider: what to count as a failure, where to set thresholds, how half-open probes work, and when to fall back instead of failing.
· 9 min readComparing Provider Pricing Models Without Getting Fooled
Per-token, per-seat, credits, tiers and flat rate all quote different units. Here is how to normalise them onto one number you can actually compare.
· 8 min readConnection Pooling for LLM APIs: Sizing the Client Right
Long-lived streaming requests break the assumptions behind default HTTP pools. How to size keepalive connections, avoid pool starvation, and stop creating a client per call.
· 8 min readConstitutional AI: Alignment From Written Rules, Not Labels
Instead of paying humans to rank thousands of responses, write the principles down and have the model apply them. How the method works and where it strains.
· 9 min readContext Bloat: Paying Repeatedly for Tokens Nobody Reads
Every token added to a prompt is billed on that call and every call after it. Where bloat accumulates and what it actually costs to leave it there.
· 8 min readReady to try it?
Every model behind one key. Start free and upgrade when it sticks.

