How We Built Travis Reynolds’ Dunk Brand Site and Wikidata Entity

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.

TaskAgent TimeHuman TimeAgent CostHuman Cost
Site theme + layout across all pages~25 min6–10 hrs~$3$300–$500
Two topic pages built + linked~10 min2–3 hrs~$1$100–$150
Person schema graph across pages~20 min3–5 hrs~$2$150–$250
Wikidata item + bidirectional bridge~15 min2–4 hrs~$1$100–$200
Single-post template (byline, author box, spacing)~20 min3–5 hrs~$2$150–$250
Re-dating posts + preview cards + schema~10 min1–2 hrs~$1$50–$100
Repurposing 3 episodes into articles~30 min6–9 hrs~$3$300–$450
Verification + QA each pass~20 min2–4 hrs~$2$100–$200
Total~2.5 hrs25–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 GuidelineStatusNotes
Hook opens with specific person/situationPASSOpens with Travis Reynolds and the exact scope
Scope of work stated in first paragraphPASS
Written in figurehead’s voice (Dylan Haugen)PASS
Short paragraphs (3–5 lines max)PASS
Active voice throughoutPASS
No AI fluff phrasesPASSChecked against banned list
Links to parent definitive article earlyPASSHub + Knowledge Panel guide
Cross-links sibling meta-articlesPASSGavan Thorpe and Paul Ryazanov builds
Numbers consistent across body and tablesPASS
Effort/cost table internally consistentPASSTotals reconcile at $50/hr
Next steps flagged, not implied donePASSRemaining episodes + P18 image
Evergreen framingPASS
Lead visual / screenshotsNEEDS HUMANAdd site screenshots at marked spots
Featured imageNEEDS HUMANUse a screenshot of the finished site
Wikidata P18 imageNEEDS HUMANRequires 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.

Dylan Haugen
Dylan Haugen
Dylan Haugen is a professional dunker, content creator, and editor at the Content Factory, where he transforms podcasts and interviews into strategic brand assets. He collaborates with Dennis Yu to support young entrepreneurs and business owners in building their personal brands through education, transparency, and effective content marketing. As the host of the Dunk Talk podcast and a dedicated advocate for establishing dunking as a recognized sport, Dylan combines athletic expertise, storytelling, and digital strategy to help elevate the next generation of creators.