I pointed an AI agent at travisdunks.com and told it to turn a thin WordPress site into a real entity home for a professional dunker — brand, structured data, a Wikidata item, and a set of blog posts that Google and AI assistants can actually trust. This is the first-hand account of what the agent did, in what order, what broke, and how it was fixed, so you (or your own agent) can repeat it for any personal brand.
The subject is Travis Reynolds, a professional dunker from North Carolina and recurring co-host of the Dunk Talk Podcast. The finished result is a red-and-white personal site with an entity-linked schema graph on every page, a live Wikidata item (Q140642994), a bidirectional bridge between the two, and three podcast episodes rebuilt as grounded first-person articles. If you want the general theory behind this, it sits on top of our guide to why your website is your hub and our Google Knowledge Panel guide. This article documents the specific build, not the general SOP.
The personal brand build task
The assignment was open-ended: make travisdunks.com an excellent personal-brand and entity site, and keep the Wikidata item and Person schema optimized. The source material was the existing WordPress install (Twenty Twenty-Five block theme), Travis’s follower numbers and bio facts, and his Dunk Talk Podcast episodes.
The goal had three layers: a clean, on-brand site a pro would be proud to hand out; a machine-readable entity that makes Google confident enough to commit to a Knowledge Panel; and blog content grounded in real source material rather than filler. We worked it in iterative passes, reviewing the live site after each one.
What we built on the website
The agent rebuilt the site around a single red-and-white system — primary red #E11D2A, charcoal sections, and one accent — applied across the home, about, blog, and connect pages plus the header and footer template parts. The header became a three-column grid: brand hard-left, nav centered, social icons hard-right, with the hero flowing seamlessly under the sticky bar.
The home page carries the story: a hero with a single combined follower stat, a “what I do” row of four pillars, and a “follow the journey” call to action. The agent also generated two standalone topic pages — Professional Dunking and the North Carolina Dunk Squad — and wired the pillars to them. The connect page consolidates every platform into one branded card set with a combined follower box and a partnership email, instead of a scattered list of links.
What we did on Wikidata and schema
This is the part that turns a website into an entity. The agent hand-rolled a JSON-LD @graph on the home page built around a single #person node with a stable @id — the spine every other page points back to. That node declares Travis’s name, alternate names, job title, home location, height, award, the organizations he belongs to, what he knows about, and a nine-URL sameAs array with the Wikidata item listed first. The about, blog, and connect pages each add their own ProfilePage, WebPage, or ContactPage node that references the same @id, and the two topic pages add a SportsOrganization node for the Dunk Squad.
On Wikidata, the agent created item Q140642994 and built it out to fifteen referenced properties — instance of, given and family name, country, occupations, sport, official website, the social-account IDs, and the YouTube channel with a subscriber-count qualifier. Every claim carries a reference. Then it closed the loop: the site’s sameAs points at the Wikidata item, and the item’s official-website property points back at the site. That bidirectional bridge is what tells Google the website and the entity are the same thing. If you want the schema-settings version of this for a Rank Math site, we documented it in setting entity home schema with Rank Math.
Turning podcast episodes into first-person articles
The blog started as three thin posts, each built around an embedded Dunk Talk episode. The agent pulled the substance of each episode from the show’s own episode write-ups and rebuilt the posts as full first-person articles in Travis’s voice — his dunk journey and the forty-pound cut, what breaking his finger taught him about training his off-hand, and his case for why dunkers should make long-form content.
Each rewrite kept the original video embed and the post’s BlogPosting and VideoObject schema untouched, replacing only the prose between them. The articles are deliberately written in Travis’s first person so they do not duplicate the show’s third-person recaps, and each one cross-links to its source episode. The result is three 850-to-1,100-word posts that read like Travis wrote them and are anchored to real episodes.
Critical decisions the agent made
Write through the REST API with sendBeacon, not the editor. The host runs a security shim that freezes the browser renderer on large fetch or form-POST bodies. The agent’s fix was to read content by navigating to the REST edit URL and parsing the JSON, and to write by firing navigator.sendBeacon with the nonce and updated content. That single decision is what made the whole build possible on this host.
Date every post to the source video’s publish date. The posts had been stamped with their WordPress publish date. We changed them to the date each source video actually went live, and pushed that same date through the post byline, the home and blog preview cards, and the datePublished in the schema — because the preview cards turned out to be static text, not dynamic fields, so each one had to be edited by hand.
Ground the articles in real episode content. Rather than invent stories, the agent sourced each article from the actual episode, kept the specifics, and wrote in the first person so the personal site never competes with the show’s site for the same words.
Effort and cost comparison
Estimated, at a $50/hr blended human rate. Agent cost is approximate API cost.
| Task | Agent Time | Human Time | Agent Cost | Human Cost |
|---|---|---|---|---|
| Site theme + layout across all pages | ~25 min | 6–10 hrs | ~$3 | $300–$500 |
| Two topic pages built + linked | ~10 min | 2–3 hrs | ~$1 | $100–$150 |
| Person schema graph across pages | ~20 min | 3–5 hrs | ~$2 | $150–$250 |
| Wikidata item + bidirectional bridge | ~15 min | 2–4 hrs | ~$1 | $100–$200 |
| Single-post template (byline, author box, spacing) | ~20 min | 3–5 hrs | ~$2 | $150–$250 |
| Re-dating posts + preview cards + schema | ~10 min | 1–2 hrs | ~$1 | $50–$100 |
| Repurposing 3 episodes into articles | ~30 min | 6–9 hrs | ~$3 | $300–$450 |
| Verification + QA each pass | ~20 min | 2–4 hrs | ~$2 | $100–$200 |
| Total | ~2.5 hrs | 25–42 hrs | ~$15 | $1,250–$2,100 |
What the agent handled vs. what needed a human
The agent handled all of it end to end: the design system, the block markup, the schema graph, the Wikidata edits, the API read-write pipeline, the article rewrites, and live DOM verification after every change. A human was needed for direction and taste — deciding the brand color, approving copy, confirming the correct follower numbers, and making the call that posts should carry the video date. A human also has to supply anything the agent cannot verify itself: a real photo for the Wikidata P18 image, which requires a freely licensed upload to Wikimedia Commons.
Information ingestion inventory
The agent ingested the existing WordPress pages and templates through the REST API, Travis’s bio and follower facts, his Wikidata item state, and the three Dunk Talk episodes by way of the show’s episode articles. It did not have working access to raw video transcripts, so it grounded the articles in the show’s published episode write-ups instead. That substitution kept the articles accurate without scraping.
Guidelines compliance scorecard
| BlitzMetrics Guideline | Status | Notes |
|---|---|---|
| Hook opens with specific person/situation | PASS | Opens with Travis Reynolds and the exact scope |
| Scope of work stated in first paragraph | PASS | |
| Written in figurehead’s voice (Dylan Haugen) | PASS | |
| Short paragraphs (3–5 lines max) | PASS | |
| Active voice throughout | PASS | |
| No AI fluff phrases | PASS | Checked against banned list |
| Links to parent definitive article early | PASS | Hub + Knowledge Panel guide |
| Cross-links sibling meta-articles | PASS | Gavan Thorpe and Paul Ryazanov builds |
| Numbers consistent across body and tables | PASS | |
| Effort/cost table internally consistent | PASS | Totals reconcile at $50/hr |
| Next steps flagged, not implied done | PASS | Remaining episodes + P18 image |
| Evergreen framing | PASS | |
| Lead visual / screenshots | NEEDS HUMAN | Add site screenshots at marked spots |
| Featured image | NEEDS HUMAN | Use a screenshot of the finished site |
| Wikidata P18 image | NEEDS HUMAN | Requires Wikimedia Commons upload |
Why this creates specific value for Travis Reynolds
Travis now has an entity home, not just a website. The #person spine plus the live Wikidata item plus the bidirectional bridge is exactly the signal set Google looks for before it commits to a Knowledge Panel for a person, and it is the same structured knowledge that makes an AI assistant confident enough to recommend him by name when someone asks about professional dunkers.
The blog is now an entity-mapping engine. Three episodes are rebuilt so far, and Travis has co-hosted many more. Every additional episode is a new article that can reference the same #person node, name the other dunkers and topics involved, and cross-link. The more of that graph exists in structured, first-person content, the more likely Travis is to surface in both Google’s Knowledge Panel and AI search. Repurposing the remaining episodes is the clear next step.
Why this creates value for BlitzMetrics
This is a repeatable playbook: take a person with a following, give them a hub site, declare them as an entity, bridge that entity to Wikidata, and feed the hub with grounded content. It is the personal-branding arm of the Marketing Mechanic framework and a direct application of owning your name on Google. We have run the same play on other clients — see how we built Gavan Thorpe’s personal brand site and how we audited and fixed Paul Ryazanov’s site — and each build makes the definitive articles sharper. This documentation follows the meta-article prompt template Dennis laid out.
Take the next step
Pick one person on your team or roster and give them an entity home this week: a hub site, a Person schema graph with a stable @id, and a Wikidata item bridged back to the site. Then point your agent at their content library and let it turn each piece into grounded, cross-linked articles. Start with the hub, and the entity authority compounds from there.

