Case study · Kelp
How Kelp cut inference cost per article 9x with Doubleword
9x
cheaper per article enriched
3.3x
fewer tokens per article
$6.66
to enrich ~4,100 articles
By the numbers
-
9x cheaper per article - enrichment fell from $0.0147 to about $0.0016 per article after the move to Doubleword.
-
3.3x fewer tokens per article - single-shot prompts replaced context chaining, cutting tokens from 13,944 to 4,206 per article.
-
About $6.66 to enrich ~4,100 articles - high-volume enrichment now runs on Doubleword's batch tier, only when there is work to do.
Background
Kelp is built to keep a busy operator ahead of everything they need to know without asking them to read the internet. Its target reader is someone like the CTO of a US healthcare services business who has to track security incidents, regulatory changes, new tooling, and AI developments across dozens of sources.
To do that, Kelp crawls a curated set of sites over RSS and a web crawler, pulls in longer-form government regulatory content as PDFs, and extracts a structured ontology and a set of facts from everything it reads. It then diffs new material against what it already knows and distills the result into a weekly briefing. The whole system is driven through an MCP interface, so its owner queries and steers it in natural language.
Problem
Kelp's economics live and die on the cost of enriching a single article, and on Gemini that number was heading the wrong way. Over five months the cost to enrich one article climbed roughly 7x, from $0.0020 to $0.0147.
Two things drove the climb:
-
Context chaining - the Gemini pipeline chained context from one call into the next, so tokens per article grew steadily as that context accumulated, from under 4,000 to more than 20,000.
-
A model price step - a price change raised the per-token rate partway through. For a pipeline whose entire premise is running cheaply at high volume, a per-article cost rising every month was not sustainable.
Solution
Kelp rebuilt the pipeline on Doubleword, which now powers the whole AI workload across three surfaces.
-
High-volume enrichment on the Batch API - each article is handled as a single-shot prompt against Qwen3.6-35B with strict structured output covering summarization, topic classification against a controlled vocabulary, entity, fact and relationship extraction, and sentiment, all in one pass. Removing context chaining flattened usage at roughly 4,700 tokens per article regardless of how much history had built up.
-
Weekly digest generation on the Realtime API - run against the larger Qwen3.5-397B, where output reliability matters most.
-
Embeddings on Qwen3-Embedding-8B - used to fingerprint and deduplicate crawled content so the same event covered by a dozen outlets is not re-analyzed a dozen times, and to carry context between weekly summaries.
Underneath, the architecture shifted from persistent, always-on infrastructure to demand-driven, webhook-based deferred inference. Nothing runs until there is work to do, so the pipeline scales to zero between jobs and pays only for the inference it uses.
“Doubleword powers basically the whole AI pipeline.”
- Brennan Moore, Founder, Kelp
Results
-
9x cheaper per article - enrichment dropped from $0.0147 on Gemini to about $0.0016 on Doubleword.
-
3.3x fewer tokens per article - single-shot prompts cut usage from 13,944 to 4,206 tokens per article.
-
No always-on inference servers - the pipeline runs demand-driven, scaling to zero between jobs.
-
A clean, same-day cutover - the last Gemini call and the first Doubleword call happened on the same day, with no pipeline rewrite.
Cost per article enriched
| Stage | Provider | Tokens / article | Cost / article |
|---|---|---|---|
| Rising exit rate | Gemini | ~20,100 | $0.0147 |
| Five-month average | Gemini | ~13,944 | ~$0.0100 |
| After migration | Doubleword (Qwen batch) | ~4,206 | ~$0.0016 |
The saving comes from single-shot prompting and batch-tier pricing. The same summarization, classification, entity and fact extraction, and sentiment tasks still run on every article.
What's next
Kelp is continuing to push cost and quality further on Doubleword. Next on the list are:
-
Newer models on extraction - evaluating models such as Kimi K3 on the structured-extraction step.
-
New embedding models - trying them as they land to sharpen deduplication and source ranking.
-
Prompt caching - turning it on now that the pipeline has stabilized.
