From our blog

Check out our latest news and updates.

What a large language model actually predicts
What a large language model actually predicts
12/09/2026 — [email protected]

A model does not look anything up and does not decide what is true. It estimates which token comes next. Almost everythi...

Tokens, not words: how a model reads your text
Tokens, not words: how a model reads your text
10/09/2026 — [email protected]

Models do not see characters or words. They see tokens — and once you know how text becomes tokens, several odd behaviou...

Training, fine-tuning and prompting are three different tools
Training, fine-tuning and prompting are three different tools
04/09/2026 — [email protected]

Teams reach for fine-tuning when they need context, and for prompting when they need behaviour. Knowing which problem ea...

The context window is a budget, not a memory
The context window is a budget, not a memory
02/09/2026 — [email protected]

Bigger context windows did not give models memory. They gave you a larger envelope to fill on every single request — and...

Choosing between a large model and a small one
Choosing between a large model and a small one
25/08/2026 — [email protected]

Most production traffic does not need the largest model available. Routing by task rather than defaulting to the top of...

What an AI agent can actually do with a design system
What an AI agent can actually do with a design system
13/08/2026 — [email protected]

Given a real design system, a model stops inventing interfaces and starts assembling them. The difference is not the mod...

Design tokens are the interface AI needs
Design tokens are the interface AI needs
11/08/2026 — [email protected]

A token that only names a hex value has saved you nothing. A token that names a job tells a model which decision it is m...

Generating layouts that respect a grid
Generating layouts that respect a grid
09/08/2026 — [email protected]

Generated layouts usually look almost right, and "almost" is where the eye catches. Most of the fix is stating the rules...

Why component names matter more with AI in the loop
Why component names matter more with AI in the loop
07/08/2026 — [email protected]

A human reads a bad component name and opens the file. A model reads it and guesses. Naming quietly became an interface...

Reviewing AI-generated UI: a checklist
Reviewing AI-generated UI: a checklist
05/08/2026 — [email protected]

Generated interfaces fail in a predictable set of places. Knowing which ones turns review from a vague unease into a lis...

Prompt caching: the cheapest speedup you are not using
Prompt caching: the cheapest speedup you are not using
30/07/2026 — [email protected]

If every request begins with the same two thousand tokens of instructions, you are paying full price to resend them. Ord...

Rate limits, retries and the backoff you actually need
Rate limits, retries and the backoff you actually need
26/07/2026 — [email protected]

Every AI feature meets a 429 eventually. Whether that is a blip or an outage depends on retry logic written before you n...