AI assistants already recommend my work. They just don't link it.

aigeowebflow

A couple of weeks ago I wrote that I’d gone quiet on purpose. That I’d stopped making content to rethink how I make it. And that tomorrow I’d share the first small outcome, along with an announcement.

It wasn’t tomorrow. It was two weeks.

I’m not going to dress that up — if you were waiting, you were right to. But I do want to tell you what happened in between, because the delay produced two things I didn’t expect: a number I’ve never seen anyone publish, and one small incident that explains it.

The short version

  • I checked whether AI assistants send people to my site when they answer Webflow animation questions. Ten questions, four assistants, scored by hand.
  • They scored 31 points out of a possible 80. My work is in most of the answers — my videos, the free projects I publish — but the link almost always goes somewhere else. Perplexity reached my work in nine answers out of ten.
  • So the problem isn’t that assistants don’t know me. It’s that they don’t credit me. Different problem, different fix.
  • The knowledge base I’d published the day before scored a flat zero. Two of the four assistants had never downloaded a single page of it.
  • While I was building it, an AI invented eight attribute names for one of my own components — by reasoning perfectly correctly from a pattern I’d broken exactly once. That’s the same problem from the other side: an impression of the work standing in for the facts of it.
  • I’m rerunning the same ten questions in a month and publishing the result either way.

The question I couldn’t answer

What I was building is a knowledge base for GSAP in Webflow. Forty-two pages, derived from the 23 GSAP lessons already on this site, but re-indexed so that a question finds an answer — not “episode 8”, but “how do I lock page scroll”. I’ll come back to it at the end, because it isn’t really the point of this post.

I built it that way because I think the audience for documentation has quietly changed. Plenty of people don’t search anymore. They ask. And what they’re asking is an assistant that reads a handful of pages and writes an answer with three links underneath it.

So before announcing anything, I wanted to know one thing:

When someone asks an AI assistant a GSAP-in-Webflow question, does it send them to me?

No dashboard reports that. Analytics tells you who arrived — never who was recommended and didn’t come. And almost nobody publishes results for this kind of thing, which is its own sort of answer.

A few tools are starting to measure it, and I’d rather say it plainly than have you find out later: one of them is built by the company I co-founded. That’s exactly why I wanted the first round done by hand, with nothing but a browser and a notepad — so the method is something you can rerun yourself, and so the number doesn’t rest on trusting anything of mine.

I also did it before publishing the announcement, because the moment you announce, the “before” is gone forever, and every number you collect afterwards is just a number.

How I measured it

Ten questions, four assistants, about ten minutes each.

The questions are now fixed forever, because the entire value is comparing one round to the next:

  1. How do I lock page scroll while a popup is open in Webflow with GSAP?
  2. What’s the difference between offset time and total time in Webflow’s GSAP stagger?
  3. How do I make an infinite marquee in Webflow with GSAP?
  4. Why do my elements flash before my Webflow page-load animation starts?
  5. In Webflow GSAP interactions, what’s the difference between scrub on scroll and trigger actions?
  6. How do I make one Webflow interaction open the right sidebar for each CMS card?
  7. My Webflow GSAP animation worked and then stopped working — why?
  8. Why is my full-screen popup cut off on mobile in Webflow?
  9. How do I build a light/dark theme toggle in Webflow with variable modes?
  10. Does backdrop-filter work with SVG filters in Safari?

They’re mixed by shape on purpose. Some ask how do I build this, some ask what’s the difference between, some ask why is this broken. That turned out to matter more than the topic did.

Each question went, word for word, to ChatGPT, Claude, Perplexity and Google’s AI Overview, in a fresh session — incognito, not logged in, no memory, no personalisation. That part isn’t optional. An assistant that already knows me will cite me for reasons that have nothing to do with anything I published.

Scoring is deliberately coarse:

  • 2 — the answer linked my site.
  • 1 — my work was in the answer, but the credit went elsewhere: my YouTube channel, or one of my cloneables — the free Webflow projects I publish for anyone to copy — sitting on someone else’s domain.
  • 0 — not there at all.

The axis is link or no link. A link in a sources panel counts exactly as much as one in the prose.

31 out of 80

#ShapeChatGPTClaudePerplexityGoogle
1recipe2021
2concept2221
3recipe2022
4pitfall1010
5concept1011
6recipe0021
7pitfall1010
8pitfall0020
9recipe0010
10platform0000
Total /2092146

And the number I care about most: of those 31 points, the knowledge base scored zero. Not one of its 42 pages was cited, by anyone, once.

That isn’t a disappointment. It’s the reason for doing this first. Every point on that board today comes from something that existed before the knowledge base did — the lessons, the YouTube channel, the cloneables, one article on Codrops. So the “before” is clean. If a knowledge-base link shows up a month from now, it’s the knowledge base and nothing else.

It isn’t recognition. It’s attribution.

Here’s the finding I wasn’t expecting.

Eleven of the forty cells scored a 1. Not zero — one. My work is in the answer, and the credit is somewhere else.

Perplexity is the clearest version. It reached my work in nine answers out of ten — every question except the last one. In seven of those, it cited one of my own videos. It already treats me as the answer to almost everything on that list. It just doesn’t link the site.

Google’s AI Overview does the same thing in a purer form: it reached my material in five of ten answers and linked my site in exactly one of them.

And when it isn’t YouTube, it gets more interesting. Several answers walk the reader through one of my cloneables, credited to webflow.io — the domain the cloneable happens to live on. The code is mine, the reader can’t tell, and no authority and no traffic come back here.

I had assumed my problem was being unknown. It isn’t. I’m known and uncredited, which is a different problem with a different fix. “Get cited more” is a wish. “Turn those eleven cells into site links” is a task I can actually work on.

Two more things fell out of that grid.

Question shape predicts who wins. The recipe-shaped questions are largely mine already. The pitfall-shaped ones — 4, 7, 8, the why is this broken questions — go to Webflow’s own docs, to GSAP’s, and to Flowradar. The theme-toggle question went to Tim Mudd, from three assistants out of four. That’s good work by people doing it well, and naming them is the honest version of this post. But it also tells me exactly where the gap is. Nobody had written the failure-shaped material, including me — I’d made twenty-three lessons about how to build it and almost nothing about why it silently stopped.

Claude barely searched at all. Its 2/20 is mostly a fact about retrieval, not a verdict on my pages: if an assistant answers from what it already knows, nothing you publish can be cited. Which makes it the least sensitive instrument of the four, and the last place any of this will show up.

One question scored 0 four times out of four, exactly as designed. Question 10 — backdrop-filter and SVG filters in Safari — is a web-platform question, not a Webflow one, and it went to MDN, WebKit, caniuse and Stack Overflow, which are the right answers. It’s in the set as a check on whether this stuff ever escapes its niche, not as a target.

A second instrument: were they even reading it?

The citation table has a blind spot it can’t fix on its own. A zero means one of two opposite things: they read the page and didn’t cite it, or they never fetched it. Same score, completely different fix.

Cloudflare has a free feature called AI Crawl Control that answers the second one. I filtered it to the knowledge base and looked at the first 24 hours after publishing:

CrawlerRequests on the knowledge base
Google8
Amazon3
Perplexity1
OpenAI0
Anthropic0

Twelve requests across 42 URLs in a day, all of them 200s, two thirds of them Googlebot doing ordinary search indexing rather than an assistant answering anybody’s question. OpenAI and Anthropic had never fetched a single page of it. Nothing else explains those citation scores half as economically.

It isn’t a technical fault — every URL is in the sitemap, llms.txt covers them, nothing is blocked, every response is a 200. It’s an inbound-link problem. One day after publishing, with nothing on the internet pointing at it, twelve requests is roughly what you’d predict. Which is, in the end, what this post is for.

One number for scale, because it changed how I read everything above. Across the whole domain that same day, Amazon’s crawler made 563 requests and Perplexity’s made nine. Perplexity scored 14 out of 20. Crawl volume and citation are not the same quantity — the vendors that matter here are the small numbers.

Why an assistant fills the gap: eight attribute names that don’t exist

Now the small incident, because it’s the same problem seen from the other side.

While building the knowledge base I was working with Claude on the page for one of my stagger components. The page needed the attribute table — the name-and-value pairs you type into Webflow’s settings panel to tell a component how to behave. And that component’s lesson was the one lesson in the whole set that never wrote them down.

So Claude reasoned it out. Every other component I’ve shipped follows the same convention: fc-<component>-<option>. It’s the pattern across ninety-odd cloneables. It’s my pattern. So it predicted the names from the pattern, and for almost any other component of mine it would have been right.

The real component prefixes only the marker — fc-gsap-staggered="list" — and then leaves the options bare: threshold, each, amount, duration, offset-y, from, ease, staggered-ease.

Eight names, every one of them invented, from an inference I would have signed off on myself.

That’s why it’s worth telling. This wasn’t a bad transcript or a careless model. It was a correct inference about a convention I had broken exactly once. And a reader who copies a wrong attribute name doesn’t get an error message — they get an animation that silently does nothing, which is the worst outcome a tutorial can produce.

It got caught, and only because of a rule I’d written after a worse mistake that was entirely mine. My lessons were originally extracted from spoken transcripts of my own videos, and prose survives that process fine — identifiers don’t. Nine wrong values shipped before I noticed. My favourite: a component called gui had been faithfully transcribed as “gooey”, because that is exactly what I’d said out loud. So the rule became: code in a lesson is copied from the real cloneable, verbatim, never reconstructed from what I said.

Both failures are the same failure, and it’s the same one as the attribution gap: an impression of my work standing in for the facts of it. When the fact isn’t available in a form something can read, something plausible arrives first.

So I built the version an assistant can read

That’s what the knowledge base is for. Not more tutorials — the tutorials exist. It’s the same knowledge in the shape a machine can actually use.

Forty-two pages: six concepts, twenty recipes, nine pitfalls, and one reference sheet of every verified identifier in the whole corpus. Every attribute name copied from the real cloneable and machine-checked against it. A build step that fails the build if a page mentions one of my identifiers without recording where it came from. Cross-links throughout, so it’s a graph you can walk rather than a list you have to read.

It’s free, and there’s nothing to sign up for.

Browse the knowledge base →

And because the two crawlers I most need are the two that had never touched my site, the same corpus is also published as an installable Claude Skill on GitHub — plain Markdown, CC BY 4.0, drop it into your AI and it answers from verified material instead of from a plausible guess:

github.com/francesco-castronuovo/gsap-webflow-skill

Two honest limits. It’s English only — the pages are written to be read by assistants as much as by people, and maintaining a second language would mean two versions drifting apart. And it’s GSAP only, deliberately: the first of several, not a finished library.

Round 1, in a month, whatever it says

Same ten questions, word for word. Same four assistants. Same scoring. Same crawl check. One month from today, then again at three months and at six.

I’ll publish it if the number goes up, and I’ll publish it if it doesn’t. A negative result is more useful than one more confident post about how to get cited by AI — and honestly, it’s the only version of this I’d believe if someone else wrote it. The one thing that would have made it unpublishable was failing to record the zero, and that part is done.

If any of this is useful to you, the thing I’d most like you to take isn’t the number. It’s the ten minutes. Whatever you make, you can ask an assistant ten questions about your own field today, write down what it says, and know something about your work that no dashboard will tell you.

Have an awesome journey,

Francesco