I built the tool, I use the tool, and I'm the patient in the row it's scoring. That's a confound and a vantage point at once. I'll be honest about both.
I build ClinTrialFinder, an AI tool that matches cancer patients to clinical trials. I also have stage IVB metastatic nasopharyngeal carcinoma — a head-and-neck cancer — and I'm in active treatment. So over 19 months I did something only I could: I ran my own case through the two versions of my own tool I'd built — an email service and a web app — again and again, and kept every result.
This week I had my 14th round of becotatug vedotin — an antibody-drug conjugate, a targeting antibody wired to a chemotherapy payload, dripping into a vein in my arm. Afterward I opened the tool and typed in my case. A trial of becotatug was sitting in the top tier of my own results. The drug in my arm.
In February 2025, it was there too — but you'd never have known it was the same drug. It sat ninth of thirteen, under its lab code, "MRG003." No name, no spotlight. Nineteen months later it had its real name, a brand-new trial of its own that didn't exist back then, and — in one of my searches — the #1 slot. The drug didn't appear. It rose.
I'm a data scientist, so I wanted to measure that rise. How much better had my own tool's answer to my own question actually gotten? I pulled every genuine web-app search of my own case over those 19 months — same disease, same heavily-pretreated metastatic profile, Asia-Pacific or Global region filter (where nearly all NPC trials sit anyway): 31 of them. I expected a clean line. I got a cloud.
The number wouldn't hold still
Here's every one of those 31 searches — the count of trials the tool rated a strong match (suitability ≥ 60) each time:
The strong-match count — for the same cancer, the same person, the same question — ranged from 13 to 78. There is no trend hiding under the scatter. There's just scatter.
Thirteen months passed between that first search and my next — February 2025 to March 2026 — and the gap wasn't idle. Through 2025 I ran a different version of the tool entirely: an email service. I'd send my case to an address; it emailed back a list. In April it returned 100 "active trials that may be relevant." By August, 49 "recommended." By December, 20 — same me, same disease, the count falling as I taught it to be choosier about what to count. Another version, another way of counting.
My first instinct was the comforting one: it's just noise, stochastic model variance, nothing to see. But that's not what the data says. When I ran the exact same text twice, three hours apart, I got the same count both times — 16 and 16. So whatever swings the number by 5× isn't the clock ticking; it's something about how I asked.
Two things, and neither is "how many good trials exist for me."
It answers my words, not my disease
The first is a feature I shipped in spring 2026: basket matching. The tool started pulling in trials by drug mechanism across cancers — tumor-agnostic and pan-cancer "basket" studies — not just the ones that name my disease. You can see exactly where it landed: the seam in the chart. Before, it returned a short list and a handful of strong matches (13–19); after, it casts a net across every tumor type and returns a ranked pool of a couple hundred. That isn't 200 new options for me — it's a wider, hungrier net, and much of the new catch is weak or off-disease. (I've been adding gates to demote those ever since — a disease-cohort filter, a tie-break that favors the trial actually naming your cancer.) Half the "growth" is just a different instrument — which at least I can date and account for.
The second surprised me, and it's the one worth sitting with. On July 14 I searched my own case five times at different levels of detail. The result wasn't noise — it was a clean slope:
When I entered a full, accurate history — all six of my prior lines, my performance status, a note that I'm currently stable on treatment, a preference to skip standard chemo — the tool returned 16 strong matches. When I entered a sparse questionnaire — "heavily pretreated (3+ lines)," a couple of fields, not even my right age — it returned 38. The more completely and accurately I described myself, the fewer matches.
Mostly that's the tool correctly ruling trials out — a fuller history gives it more reasons to exclude. But not always cleanly, and the headline example is actually a miss. The sparse entry put a first-line chemo-immunotherapy trial at the top of my list — suitability 85 — even though it did say "heavily pretreated (3+ lines)," which alone should have ruled out a trial that requires no prior systemic therapy. The full history, naming my six prior lines, dropped that same trial to 25. More detail corrected a mistake the tool should have caught from either description. The rest of the gap is early-phase "maybes" nudged just under the bar by the same added context. The 16 is the faithful answer to my real case; the 38 is what under-specifying — and an unforced miss — buys. (I ran the exact same full-narrative text twice, three hours apart, and got the same count both times — so the swing tracks the input, not the clock.)
Which means the match count isn't a measure of my options at all — it's a measure of how I posed the question, and here a bigger number is often worse news: a vaguer query that admits trials I might not be eligible for. Over 19 months my case returned anywhere from 13 to 78 "strong" matches depending on the version and how I filled in the form. There is no honest single number, so I'm not going to report one.
If you build anything that returns a count to a patient, this is the trap: the number reads as a verdict on their options, when it's really a verdict on their query. Describe yourself sparsely and the tool can't rule out what it doesn't know, so the count climbs — and a bigger number reads as better news. A match count isn't a measurement of the world. It's a measurement of how completely the question was asked.
So what is real?
Three things survive all of it — the version changes, the detail I enter, the 5× swing.
The drug that climbed. The trial of the drug I'm on now went from #9-under-a-code in February 2025 to the top tier with a real name, plus a brand-new trial of it that didn't exist 19 months ago. That one's harder to write off as a scoring artifact: a new trial of it genuinely exists now that didn't in 2025, and the drug picked up its approved name — real development in the world, even if the exact ranking also moved with the tool and my phrasing.
A drug that jumped on real news. BL-B01D1 — a bispecific antibody-drug conjugate queued as my next line — sat mid-list, seventh to twelfth, for months. Then it leapt to the top and stayed. The day it jumped was June 23, 2026 — the day after China approved it for exactly my disease. Not the day its Phase 3 results published (that was eight months earlier, and the ranking hadn't moved); the day it was approved. I can't prove from the outside that the tool reacted to the approval itself — but the jump lines up with a real regulatory event, to the day, rather than with anything I changed.
The shape of the frontier. Whatever the exact count, the strong matches cluster — and the clusters sketch where the development for my disease actually is:
Mostly antibody-drug conjugates — becotatug's class. A large block of cell therapies — CAR-T, TIL, CAR-NK, several built to hunt EBV, the virus that drives this cancer. Then immunotherapy combinations, and a tail of targeted and radioligand one-offs. And the honest part: my list looked broadly like this in February 2025 too. The frontier didn't change direction — it got denser, more trials filling the same shape, while my own drug worked its way up it. And I can put a floor on how much of that density is genuinely new. In the run I link below — 42 strong matches that week — only 11 were first posted to the registry after my first search; I checked the dates. The other 31 were already registered in early 2025; the wider net just surfaces them now. "First posted" isn't the same as "newly available to me," but it's a clean ceiling: at most eleven of the apparent twenty-nine-trial jump is new to the registry — the rest is my instrument reaching further, not the world changing. (A description of what's in development, not advice on what to take. The live result page is here — it shows the trials and the disease, not the history I typed in.)
And "aimed at me" isn't "works." VK-2019 — a first-in-class pill built to hit EBNA1, the Epstein-Barr protein that drives my cancer — did everything it was designed to in its US trial: it was safe, it reached the tumor, it lowered the virus in the blood. It still produced a tumor response in just one of twenty-three patients. The frontier is dense with good bets aimed squarely at my disease. Not all of them pay.
A map, not a way out
I wanted this to be the story of a builder measuring his tool getting better and finding the drug in his own veins at the top of the list. Part of that is true. But the measurement I trusted least — the count — is the one I was most tempted to headline, and refusing it is the actual point.
Here's what I'll stand behind. I can't tell you my odds tripled, because that number is a sentence-dependent artifact. I can tell you the frontier for my disease is dense with exactly the biology aimed at it, and that the one dot that mattered — becotatug — moved from the bottom of my first list to the top of my latest one — the same drug already running into my arm.
A tool that finds you a trial is not a trial that works. The list reading 16 or 38 or 78 is not the same as me getting better. I built the best map I could of a place I'm still lost in — and one of the names on it is the drug I'll be back in the chair for in three weeks.


