Cayu: the SEO tool I designed to work with verifiable data
By Carlos Alberto Cardona B. · published · updated
Cayu is the tool I use to research keywords, calculate difficulty and audit sites. I tell it as a case because the interesting part isn't that it exists: it's how it gets tested, what failed and which decisions came out of it.
And because it's worth saying clearly from the start: I didn't hand-code it. I specified it, generated it with Claude Code and I treat it like a measuring instrument, with calibration and a list of defects.
What needed solving
Commercial tools give you a number and don't explain where it comes from. I needed to see the formula, cross two sources and know when a data point isn't reliable, because I was going to decide what to sell with those numbers.
The example that convinced me: «consultor seo» in Colombia. The commercial source said difficulty 0. The real top 10 had an average authority of 46, and they were consultants' personal sites, not empty pages.
keyword: "consultor seo" · ColombiaKD from the commercial source: 0Cayu Real-KD: 42 (top 10 with average authority 46)→ The source underestimated: its link index for Colombia is thin.
What was done
Cayu is four MCP servers in Python (keywords, technical SEO, writing and design) that share a common library, and a React app to see them. Each server exposes its tools to an AI assistant, which is what runs them when I ask.
An instrument gets tested with two different inputs that must produce different outputs. When they produce the same thing, the instrument is lying. That's how I tested every tool before using it to decide anything, and that's how I found the two defects below.
What technical SEO job ads ask for in 2026 and what Cayu does today
| What they ask for | What Cayu does | Status |
|---|---|---|
| Technical audit: crawl, indexing, rendering | Compares served HTML with visible HTML and verifies the deployment in production with the Googlebot user agent | in use |
| Schema and structured data | Audits parity between what's declared in JSON-LD and what's visible on the page; detects off-screen text | fixed on Sep 15 |
| Core Web Vitals | Runs several passes and reports median and range; a single run is not reported | fixed |
| Keyword research with real volume | Google Ads volume via DataForSEO, with country and language declared in every output | in use |
| Difficulty you can explain | Real-KD from the live top 10: authority, links and freshness, with the formula next to the result | in use |
| AEO and GEO | Checks entity, structured data and citable content; doesn't promise appearances in assistants | in use |
| Automation with Claude Code | The whole tool is generated, tested and fixed with Claude Code connected to the repository | in use |
| Several accounts or clients | A project profile that isolates domain, country, language and competitors; an output without a profile says so | in use |
How it turned out later
3 times
commercial difficulty underestimated the real top 10
Sep 14 and 17, 2026 · table below
2
of its own defects found in use and fixed
logged in DEFECTOS.md
0.18 USD
to measure 31 keywords in two countries
DataForSEO · Sep 17, 2026 · own ledger
0.25 USD
to calculate Real-KD for 4 pillars in the US
DataForSEO · Sep 17, 2026
5
auditors flagged as suspect in the Sep 15 audit
that's a result: the defects list is public
Commercial difficulty versus Cayu Real-KD · measured on the live top 10 · Sep 14 and 17, 2026
| Keyword | Country | Commercial KD | Real-KD | Top 10 average authority |
|---|---|---|---|---|
| consultor seo | CO | 0 | 42 | 46 |
| single page application seo | US | 0 | 55 | 59.6 |
| semantic seo | US | 35 | 68 | 77.0 |
| llms.txt | US | no data | 55 | 81.1 |
| geo seo | US | 43 | 70 | 80.5 |
A structured data auditor gave 100/100 to pages whose FAQs were hidden off-screen. It now detects off-screen text.
The performance test reported a single PageSpeed run. It now runs several and reports the median and the range.
«consultor seo» in Colombia and in Spain returned almost the same suggestion list, with Spanish cities in the Colombian one. Flagged as suspect and out of use until fixed.
What I learned, mistakes included
An instrument gets tested with two inputs that differ. When Colombia and Spain returned the same list, it wasn't data: it was a defect, and I had used it for two days without noticing.
The KD from commercial tools isn't used to decide. I confirmed it three times and I no longer argue about it: you measure the real top 10 or you don't measure.
And I learned to log defects in a visible file instead of fixing them quietly. An instrument without a list of known failures is an instrument I don't know what to distrust about.
If you want to check it yourself
Cayu isn't public yet. What you can check today, with any commercial tool: measure the difficulty of «consultor seo» in Colombia and then look at the authority of the first ten results. The gap between what the number says and what you see in the SERP is what Cayu calculates.
The decisions that came out of this tool are in the keyword research case.
The rendering and deployment auditors were used in the case about putting this site into production.
What it audits in structured data is what I check in the AI SEO service (in Spanish).
What I can't claim
I don't claim Cayu is better than Semrush or Ahrefs: it does fewer things and it does them for me. I don't publish its code yet. And its difficulty is a formula of my own: it serves to compare keywords with each other, not to compare against another tool's KD.
It doesn't replace judgment either. When a source doesn't answer, it says so instead of inventing the number, and the decision is still mine.
Next measurement
The dates are written before the data exists. If I haven't updated this page by then, call me on it.
| Date | What gets measured |
|---|---|
| Publish the summary of DEFECTOS.md and how many auditors have passed the two-input test |