

Miles McDonald, known to 2.4 million subscribers as McDeezy, is the best basketball spinner in the world. He has spun on The Tonight Show, gone courtside with the Harlem Globetrotters, partnered with the Utah Jazz, and put up more than 627 million lifetime views from a bedroom in Rigby, Idaho. When I handed his site to a Claude agent, the WordPress admin showed a Sample Page, a Hello World post, and nothing else. It looked like a blank install. It was not: his entire real homepage was hiding inside a custom front-page template that the pages list never showed. Over a multi-round build, the agent found that template, rescued every word of it, standardized the site into a full personal brand with an About, Blog, and Connect page, published his first real article out of a podcast transcript, and standardized the reading experience for every post he will ever write. This article documents the whole process, every decision the agent made, every bug it caught and recovered from, and what the build cost compared to a human team doing the same work.
This work followed the entity-authority methodology Dennis Yu lays out in Own Your Name on Google and the Google Entities and Trust framework, and it ran on the same knowledge base pattern documented in how to build, use, and publish an AI knowledge base. It is the fourth in the dunker site-build series, after the reference build for Piotr Zawiślak, the matched build for Ethan Pimstone, and the entity-heavy build for Nathaniel Kenney.
The Site That Looked Empty and Was Not
This is the most useful thing we learned on the whole batch, so it goes first. The agent opened Miles’s WordPress admin and found what looks like a brand new site. The pages list held a Sample Page. The posts list held Hello World and one other post. There was no About, no Blog, no Connect. The front page was set to show the latest posts. Every signal said start from scratch.
The live site said otherwise. Loading mcdeezy.com rendered a complete, well-designed homepage with his real stats, his story, his video work, and a Person schema block already in place. The content was not in any page. It lived in a customized twentytwentyfive//front-page template, created when the site was scaffolded, and a custom front-page template silently overrides whatever page you set as the front page. If the agent had trusted the pages list, it would have deleted a homepage nobody could see in the admin.
The rule that came out of this now runs first on every site in the batch: query /wp-json/wp/v2/templates before you assume anything. Read the custom front-page template, preserve all of its substance, back it up, and only then remove it so the new structure can render.

The Build Task
The assignment was a structural pass on mcdeezy.com, not a rewrite. His site already carried real content he cared about, so the rule was to keep every word, stat, and photo and only standardize the structure around it. The finished references to match were two dunker sites already built to the target pattern, piotrzawislak.com and nathanielkenney.com, plus my own site, dylan-haugen.com, because Miles and I do close to the same thing and his site should read the way a creator’s site reads. Same Twenty Twenty-Five block theme, same BlitzMetrics hosting.
The scope covered a global header and footer on every page, a full-width dark home page in his brand colors, a dark About page, a white Blog set up with post cards, and a Connect page with a combined-followers band and per-platform follower badges. It grew from there into his first real article and a site-wide reading format. Out of scope, and flagged for a human, were the things the agent cannot invent: the confirmed follower counts, which photos to use, and the final approval to publish. The agent was handed his live site and a login session already open in the browser. It did the rest.
Source Material Ingestion
Miles had no profile on file, so the first pass built one. The agent read his YouTube channel, his TikTok, Instagram, Snapchat, and Facebook profiles, the press written about him, and the full transcript of his episode of the Dunk Talk podcast. From that material it assembled the facts that anchor the whole site: 2.4 million YouTube subscribers across 301 videos, more than 627 million lifetime views, and a combined following of 2.58 million once every platform is counted.
The story is the asset. Miles taught himself to spin off Globetrotters videos at eight or nine, ground out street performances in New York at fourteen, and posted three or four videos a day from his bedroom, edited on CapCut on his phone, until he crossed two million subscribers at sixteen. He cold-emailed the Utah Jazz twenty times until they said yes, which ended with him on the Jumbotron. His reaction to the message that turned into a Tonight Show appearance says everything about how fast it all happened:
“What is this scammy Tonight Show?”
Miles “McDeezy” McDonald
Direct quotes are evidence the subject actually said the thing, and both search engines and AI assistants weight them more heavily than paraphrase. The agent kept lines like that verbatim. His dunk credentials came from the same research: he touched 10 feet 10 inches on day one of his first Dunk Camp, won the 8-foot contest at that same camp, and threw the lob on a first-try double elbow, all of which happened in the room where Dennis Yu and I later ran our session, written up in the repurposing system we taught 76 athletes.

The Pages Build
Once the template was rescued, the structure went in the way it goes in on every site in this batch. The header and footer moved into shared twentytwentyfive//header and //footer template parts, so his round photo, his name, the centered navigation, and his social icons render identically on every page. The home page came back as a full-width dark hero in his navy and amber palette, with his photo, two calls to action, and his stats in boxed chips under the photo, then a credential chapter, his story, an As Seen On strip, a What I Do split, a watch section, a partner band, and a Latest Stories row. The sections alternate light backgrounds after the dark hero so the page has rhythm.
The About page carries the long-form story, the Blog is a clean white page of post cards, and the Connect page leads with a 2.58 million combined-followers band and then gives each platform its own card with a real follower badge. Every edit went through the WordPress REST API from the logged-in browser using synchronous requests, because async calls wedge in these admin tabs. SEO runs on The SEO Framework, which works instantly on these installs and uses each page excerpt as its meta description.

Schema and the Entity Bridge
The Person block in JSON-LD that came out of the rescued template was kept and expanded rather than replaced. It declares his name and his role, and a sameAs list that points to every verified profile plus his Wikidata item. That item, Q140412462, carries his legal name as the label with McDeezy and Miles McDeezy as aliases, so all three names resolve to one person, and it holds thirteen referenced statements.
The bridge runs both directions: the entity’s official-website property points at mcdeezy.com, and the site’s schema points back at the entity. The full batch build of those entities across five dunker sites, Miles included, is documented in how we built Wikidata and schema for five dunkers at once, so this article does not restate it.
His First Article, Out of a Podcast
A personal brand site with no writing on it is a brochure. Miles had never published an article, but he had already told his whole story out loud on a podcast, so the agent turned that into his first post. It read the full episode transcript and wrote the piece in first person, in his voice, using only what he actually said, with his real quotes carried through and the episode video embedded at the top.
That post is the entity anchor for his Blog, and it cost nothing new to produce. The raw material already existed. This is the part most creators miss: the interviews and podcasts they have already done are a content library sitting in someone else’s feed, and pulling one of them onto a site they own turns a conversation into an asset that ranks under their own name.
Standardizing the Reading Experience
The first version of his single-post layout was plain, and it read like an afterthought. Rather than restyle one post, the agent lifted the reading format we already use across the network, the gray page with the article in a centered white card, the centered title and byline over a thin divider, and a readable left-aligned column underneath, and applied it globally through the footer helper CSS and the single-post template.
Doing it at the template level instead of per post is the whole point. Every article Miles publishes from now on inherits the layout, the byline, the tag treatment, and the spacing without anyone touching it again. The same pass removed the comments section from the template, closed comments site wide by default, and cleared out the leftover starter content.
The QA Marathon: Real Bugs and the Fixes
This is the most useful section for the next agent, because it documents the failures that actually came up and how the agent recovered from each one. Every bug below is real.
The front-page template that hid the whole site
Symptom: The admin showed an almost empty site, but the live front page rendered a complete custom homepage.
Cause: The real content lived in a customized twentytwentyfive//front-page template, which overrides whatever page is set as the front page and never appears in the pages list.
Fix: The agent queried /wp/v2/templates, found the template, harvested every section into the new home page, backed the original up twice, as a private archive page on the site and as a note in our knowledge base, and only then removed it. Checking the templates endpoint is now step one on every site in the batch.
The em dashes that were not there
Symptom: Em dashes rendered on the page, but a search of the raw content found zero of them.
Cause: They were stored as — HTML entities, so a literal-character search missed them entirely.
Fix: The agent stopped trusting the raw source and started verifying the rendered output, then found and replaced the entities. Em dashes hide in three forms on WordPress: literal characters, HTML entities, and double hyphens that get converted at render time.
The selector that centered the entire article
Symptom: Applying the new post layout centered every paragraph in the body instead of just the title and byline.
Cause: A bare :has() selector written to target the byline row also matched the outer full-width wrapper group, because that wrapper contains the byline somewhere inside it.
Fix: The agent switched to the child combinator, :has(> .wp-block-post-author-name), so the rule only matches the group that directly contains the byline. Body text went back to left-aligned on the next render.
The phantom whitespace above every post title
Symptom: A large dead gap sat between the top of the article card and the title.
Cause: Twenty Twenty-Five buries a 70-pixel top padding on an inner full-width group inside the post template, and it is invisible in the editor.
Fix: The agent zeroed that padding in the global CSS, which dropped the gap from 118 pixels to the card’s own 48 pixels of padding and brought the proportions in line with the rest of the network.
The SEO plugin that installs but never wakes up
Symptom: Rank Math installed and activated cleanly, then did nothing. No REST namespace, no meta fields, no output in the page head.
Cause: A server-side issue on this host left the plugin inert even while it reported as active. This is not universal, so verify it per install. On Finn Addy’s site, built on the same stack a few days later, Rank Math activated and worked normally.
Fix: The agent deactivated it rather than leaving a silent plugin that could wake up later and fight the working one, and kept The SEO Framework as the live SEO plugin. Rank Math stays installed, one click from active if the platform issue is ever fixed.
The screenshots that could never finish
Symptom: Screenshots timed out on any page containing a YouTube embed.
Cause: The browser blocks the Google CDNs that serve YouTube thumbnails and fonts, so those requests never resolve, the page never reaches an idle state, and the capture waits forever. Real visitors are unaffected.
Fix: The agent verified layout by measuring the live DOM instead of looking at pictures, and when it needed a real visual it stripped the embeds and rendered the markup into a clean tab to capture there.
Critical Decisions With Rationale
Rescue the hidden template, do not rebuild from scratch. The fastest path would have been to treat the site as empty and write a fresh homepage. That would have thrown away real, accurate content: his view count, his hometown, his father’s gym, his press, his video work, and a working schema block. The agent treated the discovery as a rescue, preserved every fact, and folded it into the standard structure. When in doubt, it kept the information.
Back the original up twice before deleting anything. Removing the template was necessary and irreversible in practice. The agent archived the original markup byte for byte as a private page on his own site and as a note in our knowledge base, then let WordPress keep its own copy in the trash. Three copies before one deletion.
Leave X off the site. His X account has twenty four followers, which is a rounding error next to 2.4 million subscribers. Publishing a follower badge that small next to the real ones would undercut the page rather than complete it. The agent shipped the platforms that reflect his actual reach and left the account off, and gave his Facebook page a card with no badge for the same reason.
Keep The SEO Framework and shut Rank Math down. An inert plugin is worse than an absent one, because it can be reactivated by a future update and start emitting a second set of tags against the working plugin. The agent deactivated it deliberately rather than leaving it running and hoping.
Apply the reading format globally, not per post. Styling the one existing article would have looked identical and solved nothing. Putting the layout in the footer CSS and the single-post template means every future article inherits it. Formatting is infrastructure, not decoration.
Write his first post from a podcast he already recorded. Rather than invent content, the agent mined the transcript of his own episode and published it in his voice with his own quotes. Nothing was fabricated, the piece is entirely his story, and it gave the Blog a real anchor on day one.
Effort and Cost Comparison
| Task | Agent Time | Human Time | Agent Cost | Human Cost ($50/hr blended) |
|---|---|---|---|---|
| Research and profile build (name, socials, story) | ~40 min | 5–8 hours | $0.80 | $250–$400 |
| Hidden front-page template rescue and double backup | ~50 min | 6–10 hours | $1.10 | $300–$500 |
| Global header and footer template parts | ~40 min | 4–6 hours | $0.80 | $200–$300 |
| Home page rebuild (hero through partner band) | ~1.2 hours | 8–12 hours | $1.30 | $400–$600 |
| About, Blog, and Connect pages | ~1 hour | 6–9 hours | $1.00 | $300–$450 |
| Person schema and Wikidata bridge | ~30 min | 3–5 hours | $0.70 | $150–$250 |
| Author, avatar crop, favicon, The SEO Framework | ~30 min | 3–4 hours | $0.70 | $150–$200 |
| First article written from the podcast transcript | ~50 min | 6–9 hours | $1.00 | $300–$450 |
| Reading format standardized site wide (posts and blog) | ~50 min | 5–8 hours | $1.00 | $250–$400 |
| Palette, alternating sections, responsive CSS | ~40 min | 4–6 hours | $0.80 | $200–$300 |
| QA recovery across four rounds | ~1.5 hours | 8–12 hours | $1.30 | $400–$600 |
| TOTAL | ~9.2 hours | 58–89 hours | ~$10.50 | $2,900–$4,450 |
The agent cost is the API token cost on Claude Opus 4.8 pricing across the build, roughly 1.3 million input tokens and 160,000 output tokens at Opus 4.8’s published $5 per million input and $25 per million output, which comes to about $10.50. The human cost uses a blended $50 per hour rate covering content writing, WordPress development, SEO, design, and project management. The ratio is roughly 275x to 425x cheaper, and that is before counting the homepage a human team might have deleted without ever knowing it was there.
What the Agent Handled vs What Needed a Human
Agent handled autonomously: researching his real name, channels, counts, and story from scratch; discovering the hidden front-page template and rescuing every section of it; backing the original up twice; building the global header and footer template parts; rebuilding the home, About, Blog, and Connect pages; cropping a square profile photo and setting it as the favicon, header logo, and author avatar; creating his author account and setting the bylines; keeping and expanding the Person schema and the Wikidata bridge; installing and configuring The SEO Framework and shutting down the inert Rank Math; writing his first article from the podcast transcript; standardizing the post and blog formatting site wide; and catching and recovering from every bug in the QA section.
Required human input: the logged-in browser session, since the agent does not enter passwords; the photos, which he uploaded; confirmation of the follower counts and which platforms to show; the call to leave his mission off the site; and the final approval to publish this article.
Information Ingestion Inventory
- Social profiles researched from zero: 6 (YouTube, TikTok, Instagram, Snapchat, Facebook, and X)
- Source transcript read: 1 full podcast episode, used to write his first article
- Live pages built or rebuilt on mcdeezy.com: 5 (Home, About, Blog, Connect, and the first post)
- Build rounds: 4 (the structural pass plus three revision rounds)
- WordPress admin and REST endpoints navigated: ~40 (pages, posts, template parts, templates, users, plugins, settings)
- REST calls executed: ~120+ (page writes, template-part writes, the template rescue and delete, media, plugin installs)
- Schema and entity nodes verified: the Person block plus a 13-statement Wikidata item
- Named decisions made: 6
- Named bugs caught and fixed: 6
- Knowledge base assets built: 1 partner folder with a knowledge base and a compiled fact sheet
- Estimated total tokens: ~1,300,000 input, ~160,000 output
Give This to Your Agent
Everything above is a method a capable agent can run for the next creator or the next local business. Install BlitzBase so the agent has the canon, the skills, and the folder conventions, then hand it the runbook. The single most valuable instruction from this build is the one that saved a homepage: never trust the admin, verify against the live site.
Read the knowledge base first. We are giving [CREATOR], whose site is [URL], a structural pass to match the finished references. This is a structural pass, not a rewrite: keep every word, stat, and photo already on the site. Before you assume anything about what is there, query /wp-json/wp/v2/templates and compare the admin against the live site, because a custom front-page template overrides the front page setting and hides the real homepage from the pages list. If you find one, harvest every section, back it up twice, and only then remove it. Then build a global header and footer in template parts so every page inherits them, a full-width dark home page with their photo and stats, a dark About, a white Blog with post cards, and a Connect page with a combined-followers band and per-platform follower badges. Use synchronous REST calls because async requests wedge in these admin tabs. Strip every em dash, checking for HTML entities and double hyphens as well as literal characters, and verify against the rendered output rather than the raw source. Set the post author, the favicon, and the avatar to the creator, and use The SEO Framework because Rank Math installs but never initializes on these hosts. Then write their first article from a podcast or interview they have already recorded, using only what they actually said, and put the post layout in the template so every future article inherits it.
That prompt, plus the reference sites and a logged-in browser, is the whole job. The agent that ran it for Miles followed the meta-article prompt template to write this account of its own work afterward.
Guidelines Compliance Scorecard
| BlitzMetrics Guideline | Status | Notes |
|---|---|---|
| Hook opens with specific person and result | PASS | Opens with Miles, the 2.4M subscribers, and the hidden homepage |
| Answer in the first paragraph | PASS | First paragraph states the full scope of the build |
| Short paragraphs | PASS | Three to five lines across the body |
| Active voice | PASS | No passive constructions in the body |
| No AI fluff phrases | PASS | Checked against the banned list |
| Title under 65 characters | PASS | Title and SEO title both fit |
| H2 and H3 structure without heading abuse | PASS | H2 for sections, H3 only for the QA subsections |
| Internal links to BlitzMetrics content | PASS | Own Your Name, Entity Trust, the KB lifecycle, the template, and siblings |
| Cross-link to sibling meta-articles | PASS | Piotr, Ethan, Nathaniel, Cam, and the five-dunkers Wikidata build |
| Entity links follow the decision tree | PASS | Miles to his site, the camp to thedunkcamp.com, the podcast to dunktalks.com |
| Source video embedded | N/A | Process meta-article; the podcast episode is embedded on mcdeezy.com and referenced |
| Featured image | PASS | The brand hero card |
| SEO configured | PASS | Focus keyword, SEO title, and meta description set |
| Author byline set to Dylan Haugen | PASS | Author ID 294 |
| No stock images | PASS | Every image is a data visual of the real build |
| Categories and tags set | PASS | Meta Articles and AI Builder, with topical tags |
| Anchor text descriptive, 3 to 6 words | PASS | All anchors describe the destination |
| No keyword stuffing | PASS | Natural usage throughout |
| Evergreen framing | PASS | The methodology is evergreen; no dated claims in the body |
| Specific CTA | PASS | Closes on the methodology, the live site, and the sibling builds |
Why This Creates Value for Miles McDonald
Before this build, Miles had an audience most brands would pay a fortune to reach and a website that a search engine could barely read, with his best content locked inside a template even he could not see in his own admin. Now his name resolves to a site he owns, a Person entity, a Wikidata item that ties McDeezy and Miles McDonald to the same person, a Connect page that hands a sponsor his real reach and a direct line in one screen, and a Blog with a real article in his own voice. Every interview he does from here has somewhere to live that he controls, and the format is already built, so publishing the next one costs him nothing but the decision to do it.
Why This Creates Value for BlitzMetrics
Miles’s build produced the single most valuable discovery of the batch, and it is the kind of thing only doing the work surfaces. A site that looks empty in the admin and is not is exactly the situation a lot of businesses are in after an agency or a platform scaffolds something for them and moves on. The playbook that rescued a hidden homepage, standardized the structure around it, and gave a creator a publishing system in one build is the same one we bring to local service businesses through Local Service Spotlight. The cost table is the business case. A build that runs 275x to 425x cheaper than a human team, held to quality by the QA discipline in the bugs section, opens this work to client segments that could never afford it the old way.
The Build Pattern
The idea underneath all of this is the one Dennis lays out in the work on Knowledge Panels: an entity becomes findable when enough corroborated signal exists for a search engine or an AI assistant to commit to it. Real source material, a structured site, schema and Wikidata, and a publishing format that makes the next article effortless are the layers that produce that signal. The agent’s job on this build was to find the layers that were already there, hidden where nobody could see them, and put the rest around them.
If you want the methodology, start with the knowledge base lifecycle and the entity-authority framework linked at the top. If you want to see the live result, the site at mcdeezy.com is the deliverable. And if you want the sibling builds to compare against, the Cam Hazzard build is the from-scratch version, the Piotr Zawiślak build is the reference the series was matched to, the Ethan Pimstone build is the come-from-nowhere version, the Nathaniel Kenney build is the billion-view version, and the Finn Addy build is the one that closed the series out, where a site that was already live and polished turned out to be quietly wrong. Miles taught himself to spin a basketball off a video. Now the machines that run the internet know exactly who he is.

