From our blog

Check out our latest news and updates.

Embeddings explained without the linear algebra
Embeddings explained without the linear algebra
06/09/2026 — [email protected]

An embedding turns text into coordinates, and nearby coordinates mean related meaning. That single idea is what makes se...

Structured output beats parsing prose
Structured output beats parsing prose
27/08/2026 — [email protected]

If your code needs a value from a model, ask for JSON and validate it. Regexing an answer out of a paragraph is a bug wa...

An agent is a loop, not a personality
An agent is a loop, not a personality
23/08/2026 — [email protected]

Strip away the branding and an agent is a small loop: call the model, run the tool it asked for, feed the result back, r...

Tool calling is an API contract the model can read
Tool calling is an API contract the model can read
21/08/2026 — [email protected]

A tool definition is documentation with a schema attached. Write it for a capable colleague who has never seen your syst...

When a workflow beats an agent
When a workflow beats an agent
15/08/2026 — [email protected]

If you already know the steps, do not ask a model to rediscover them on every request. A fixed pipeline with model calls...

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...

RAG in one page: retrieve, rank, answer
RAG in one page: retrieve, rank, answer
03/08/2026 — [email protected]

Retrieval-augmented generation is three steps and a lot of tuning. The architecture is simple; the quality lives almost...

Chunking is the part of RAG nobody tunes
Chunking is the part of RAG nobody tunes
01/08/2026 — [email protected]

Teams spend weeks on rerankers and leave chunking at the default. It is usually the other way round that pays — how you...