How We Built Finn Addy’s Personal Brand Site With a Claude Agent

Image
The finnaddy.com brand card: Finn Addy, The 1FootDisciple, a Canadian professional one-foot dunker, with the 43-inch one-foot vertical, 2024 Dunk Camp champion, FIBA 3x3, and 52K-plus followers stat chips.
Finn Addy’s rebuilt site. The last of the five, and the one where the audit caught what four passes had missed.

Finn Addy, known as The 1FootDisciple, is a Canadian professional one-foot dunker with a 43-inch vertical off one leg, a Dunk Camp 10-foot championship he won on his first attempt, and a FIBA 3×3 World Tour appearance. His site was the fifth and last in our dunker rollout, which meant it inherited every correction the four builds before it had earned. It also meant the agent ran a full audit against them, and that audit surfaced two problems nobody had caught anywhere: his site was linking social accounts that no longer exist, and it was displaying a follower number that no amount of find-and-replace could fix. 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 closes the series that began with the reference build for Piotr Zawiślak and ran through Ethan Pimstone, Nathaniel Kenney, and McDeezy.

A Site Can Be Live, Polished, and Wrong

Finn’s site did not look broken. It had a real design, real content, real stats, and a footer full of social icons. It was also quietly lying in two places, and both of them are the kind of thing that survives every casual review.

The first was his social links. His footer and his contact section pointed at an Instagram handle that had become a private account with zero posts, and at a TikTok handle that no longer existed at all. He had consolidated onto a new handle and nobody had updated the site. Every visitor who clicked a social icon hit a dead end, and every crawler followed a link to nothing.

The second was a number. His hero band advertised a combined following of 40K when the real figure was over 52K. The agent tried to correct it and the replacement silently did nothing, over and over. The reason is worth knowing: the markup split the number from its plus sign into separate elements, so the string 40K+ never actually existed in the source to be found. It only existed on the screen.

The audit findings: dead social handles pointing at a private account and a deleted account, and a split number in the markup that string replacement cannot match.
Two failures that survive every casual review: links to accounts that no longer exist, and a number that find-and-replace cannot touch because the markup splits it.

The Build Task

The assignment was a structural pass on finnaddy.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 piotrzawislak.com and nathanielkenney.com, and because this was the last build, the agent also swept the site against every correction earned on the three builds in between. 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 with post cards, and a Connect page with a combined-followers band and per-platform follower badges. It grew into four articles built from his podcast appearances and a site-wide reading format. Out of scope, and flagged for a human, were the confirmed follower counts, the contact email, and the final approval to publish. The agent was handed his live site and a login session already open in the browser.

Source Material Ingestion

Finn had no profile on file, so the agent built one and verified every claim against a live source rather than trusting the site. It read his Instagram, TikTok, YouTube, and Facebook profiles, his existing pages, and the transcripts of his four appearances on the Dunk Talk podcast. From that it assembled the facts the whole site rests on: a 43-inch vertical off one foot and 39 off two, a 10-foot Dunk Camp championship won on the first attempt with a two-hand reverse windmill and an elbow dunk, a run at the FIBA 3×3 World Tour in Edmonton, training with Jordan Kilganon, and a paid performing slot at a New Jersey camp.

Checking the socials live is what caught the dead handles, and it also produced the honest number. Instagram at 26.9K, TikTok at 17.9K, YouTube at 1.09K, and Facebook at 6.8K add up to the 52K+ the Connect page now shows. That is not a rounding of an old figure. It is the sum of four accounts that were each opened and read on the day of the build.

Finn Addy by the numbers: a 43-inch one-foot vertical, 2024 Dunk Camp 10-foot champion, 52K-plus combined followers, and four podcast articles built from transcripts.
The facts the agent verified against live sources, the numbers that anchor every page of the site.

The Pages Build

Finn’s homepage, like McDeezy’s and Ethan’s, was hiding in a custom front-page template rather than living in a page, so the agent migrated the content into a real page, backed the original template up as a private archive, and deleted it. The header and footer then moved into shared template parts, so his round headshot, his name, the centered navigation, and his social icons render identically everywhere.

The home page came back as a dark hero with his square headshot, his name, a titles line, an intro, exactly two calls to action, and his stats in boxed chips under the photo, followed by sections that alternate light backgrounds so the page has rhythm. The About page carries his story, the Blog is a page of image cards, and the Connect page leads with the 52K+ band and gives each platform a card with a real badge and a uniform site-colored icon tile rather than the platform’s own brand colors.

Schema and the Entity Bridge

The Person block in JSON-LD already on his home page was kept and extended rather than replaced, with the newly verified Facebook profile and his Wikidata item added to the sameAs list. That item, Q140412468, carries The 1FootDisciple as an alias so his brand name and his real name resolve to the same person, and it holds twelve referenced statements.

The bridge runs both directions: the entity’s official-website property points at finnaddy.com, and the site’s schema points back. The full batch build of these entities across five dunker sites, Finn included, is documented in how we built Wikidata and schema for five dunkers at once, so this article does not restate it. What matters here is that the repaired social links feed straight into that sameAs list, which means the entity was quietly wrong before the audit too.

Four Articles Out of Four Podcasts

Finn had been on the Dunk Talk podcast four times and had never written a word on his own site. The agent pulled all four transcripts, wrote each episode up as a first-person article in his voice using only what he actually said, embedded the episode at the top, kept two or three verbatim quotes in each, and cross-linked the four so they read chronologically.

Nothing was invented, and nothing new had to be recorded. He had already told these stories out loud. Pulling them onto a site he owns turned four conversations that lived in someone else’s feed into four assets that rank under his own name, which is the same move that gave McDeezy his first article.

Standardizing the Reading Experience

The last thing this build settled was what a post looks like. The agent lifted the reading format from the rest of our network, a light gray page with the article in a centered white card, a centered title, a readable column, and clean quote styling, and put it in the footer template part so every current and future post inherits it. The Blog became image cards with a 16:9 thumbnail, a category label, a title, a byline, and an excerpt. Comments were closed on every existing post and page and turned off by default for anything new.

Doing this in the template rather than on one post is the difference between a fix and a system. Finn never has to think about formatting again, and neither does the next agent that publishes for him.

The five-build series: Piotr the reference, Ethan the matched build, Nathaniel the entity build, McDeezy the hidden template, and Finn the audit.
Five builds, five lessons. Each one taught the next, and the last one audited them all.

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 social links that pointed nowhere

Symptom: The footer and contact section linked social accounts that looked fine and went nowhere.

Cause: Finn had consolidated onto a new handle. The old Instagram had become a private account with zero posts and the old TikTok had been deleted, but the site still carried both.

Fix: The agent opened every handle live before copying a single number, found the dead ones, and repointed every link on the site, in the header and footer, on Connect, and inside the Person schema, to the accounts that actually exist. Verifying handles live is now a required step, not an optional one.

The number that find-and-replace could not find

Symptom: The hero band kept showing an outdated combined-followers figure no matter how many times the agent replaced it.

Cause: The markup split the value from its plus sign into two elements, roughly 40K<span>+</span>, so the string the agent was searching for existed only on the rendered screen and never in the source.

Fix: The agent stopped matching the rendered text and started matching the markup, then verified against the rendered output rather than the raw source. Any time a displayed number resists replacement, assume the markup has split it.

The CSS that centered everything except the words

Symptom: On the new post layout the title, byline, and video sat centered while every paragraph jammed into a narrow column against the far left edge, leaving half the page empty.

Cause: The agent set the paragraph margins to a shorthand that zeroed the left and right values, which wiped out the automatic side margins the theme uses to center content. The elements that kept their auto margins stayed centered. The ones that lost them collapsed left.

Fix: The agent rebuilt the layout around the structure rather than the typography, a gray page with a centered white card, with the content set to fill that card. This was a bug the agent introduced itself, and it is the reason the QA pass exists.

The avatar the plugin refused

Symptom: Setting Finn’s author photo kept failing even though the image was clearly in the media library.

Cause: The avatar plugin refuses an attachment that is not owned by the user it is being assigned to, and the image belonged to the admin account.

Fix: The agent reassigned the media item to Finn first, then set the avatar, which took immediately.

The three separate gaps that all looked like one

Symptom: A white band under the header, a dark band above the footer, and a sliver of horizontal scroll on every screen.

Cause: Three unrelated defaults. The theme wraps page content in a group with 70 pixels of vertical padding, the footer template-part wrapper carries its own padding and background, and full-bleed sections sized to the full viewport width overflow by exactly the width of the scrollbar.

Fix: Three targeted rules in the global helper CSS, one per cause. Each of them now ships on every site in the batch, which is the whole point of running the last build against the first four.

The rule that turned out not to be a rule

Symptom: Four builds in, we were treating one SEO plugin as permanently broken on this platform and always reaching for the other one.

Cause: It genuinely was inert on some of these installs, so the finding hardened into a rule without anyone re-testing it.

Fix: The agent tested it on Finn’s install instead of assuming, and it worked cleanly. It became the SEO plugin there, and the other one was deactivated, because running two SEO plugins means one silently overwrites the other. The rule is now to verify per install, which is what a rule earned on one site should always have been.

Critical Decisions With Rationale

Verify every handle live before copying a single number. The fastest path is to read the counts off whatever the site already claims. That is exactly how a site ends up advertising dead accounts and stale numbers for a year. The agent opened all four profiles, confirmed which existed, and rebuilt the social layer from what it actually found.

Publish the real number, even though it means editing more places. Correcting one figure meant touching the hero, the Connect band, the schema, the author bio, and the brand section. It would have been easier to leave it. A follower count on a sponsorship page is a claim, and a claim that is wrong in the wrong direction costs him money.

Run the last build against all four previous ones. Rather than build Finn’s site to the original spec, the agent swept it against every correction earned on the builds in between, the alternating sections, the hero pattern, the taller header, the three gap cures. The last site should be the best one, and it should require the fewest human corrections.

Re-test the platform assumption instead of inheriting it. A finding from one install had quietly become a rule applied to all of them. The agent tested it, found it false here, and flipped the SEO plugin accordingly, while making sure only one was ever active. Inherited rules are hypotheses with good PR.

Put the reading format in the template, not on the post. Styling the article in front of you looks identical and solves nothing. The layout, the blog cards, and comments-off all went in at the template and settings level so every future post inherits them without anyone touching it again.

Use the site’s own color for the platform icons. The obvious move on a Connect page is to render each social icon in its platform’s brand colors. That turns the most important page on the site into someone else’s color palette. The agent used one uniform tile in Finn’s color, so the page reads as his.

Effort and Cost Comparison

Task Agent Time Human Time Agent Cost Human Cost ($50/hr blended)
Research, profile build, and the live social audit ~40 min 5–8 hours $0.80 $250–$400
Front-page template rescue and backup ~40 min 5–8 hours $0.90 $250–$400
Global header and footer template parts ~40 min 4–6 hours $0.80 $200–$300
Home page rebuild (hero through Latest Stories) ~1.2 hours 8–12 hours $1.30 $400–$600
About, Blog, Connect, and Photos pages ~1.2 hours 7–10 hours $1.20 $350–$500
Person schema and Wikidata bridge ~30 min 3–5 hours $0.70 $150–$250
Author, avatar, favicon, SEO plugin ~30 min 3–4 hours $0.70 $150–$200
Four articles written from podcast transcripts ~1.5 hours 10–14 hours $1.60 $500–$700
Reading format standardized site wide ~50 min 5–8 hours $1.00 $250–$400
Alternating palette, hero refinement, responsive CSS ~50 min 5–8 hours $1.00 $250–$400
QA recovery across four passes ~1.5 hours 8–12 hours $1.25 $400–$600
TOTAL ~10.1 hours 63–95 hours ~$11.25 $3,150–$4,750

The agent cost is the API token cost on Claude Opus 4.8 pricing across the build, roughly 1.4 million input tokens and 170,000 output tokens at Opus 4.8’s published $5 per million input and $25 per million output, which comes to about $11.25. The human cost uses a blended $50 per hour rate covering content writing, WordPress development, SEO, design, and project management. The ratio is roughly 280x to 420x cheaper, and the audit alone, four accounts opened and one number traced through the markup, is work almost nobody bills for and almost nobody does.

What the Agent Handled vs What Needed a Human

Agent handled autonomously: researching his profile from scratch and auditing every social handle live; finding and repointing the dead accounts; tracing the split number through the markup; migrating the hidden front-page template into a real page and backing it up; building the global header and footer; rebuilding the home, About, Blog, Connect, and Photos pages; extending the Person schema and the Wikidata bridge; setting the author, avatar, and favicon; testing the SEO plugins and choosing the one that actually works; writing four articles from his podcast transcripts; standardizing the post and blog formatting and closing comments site wide; sweeping the site against every correction from the four previous builds; and catching and recovering from every bug in the QA section, including one it caused itself.

Required human input: the logged-in browser session, since the agent does not enter passwords; the contact email and the confirmation of which platforms to show; the visual sign-off on the post layout, because the screenshot tooling failed for a stretch of this build and the agent verified through computed styles instead of by eye; and the final approval to publish this article.

Information Ingestion Inventory

  • Social profiles opened and verified live: 6, of which 2 were dead and repointed
  • Podcast transcripts read and written up: 4, one per published article
  • Live pages built or rebuilt on finnaddy.com: 9 (Home, About, Blog, Connect, Photos, and four posts)
  • Build passes: 5 (the structural pass plus four rounds of refinement and audit)
  • WordPress admin and REST endpoints navigated: ~45 (pages, posts, template parts, templates, users, plugins, settings)
  • REST calls executed: ~140+ (page writes, template-part writes, the template rescue, media, plugin installs, comment closures)
  • Schema and entity nodes verified: the Person block plus a 12-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,400,000 input, ~170,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 instruction that earned its place on this build is the one about verification: the site is not a source, it is a claim.

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. Do not trust anything the site says about itself. Open every social handle it links, confirm the account still exists, and pull the follower counts yourself; sites routinely link accounts their owner abandoned. If a displayed number resists replacement, the markup has split it into separate elements, so match the markup and verify against the rendered output. Check /wp-json/wp/v2/templates before assuming the pages list is the whole site, because a custom front-page template hides the real homepage. Build a global header and footer in template parts, a full-width dark home page with a square headshot and boxed stat chips, a dark About, a Blog of image cards, and a Connect page with a combined-followers band and per-platform badges in the site’s own color, not the platforms’. Test both SEO plugins on this specific install rather than inheriting a rule from another one, and never leave two active. Put the post layout in the template so every future article inherits it, and close comments site wide. Then write their first articles from interviews or podcasts they have already recorded, using only what they actually said.

That prompt, plus the reference sites and a logged-in browser, is the whole job. The agent that ran it for Finn 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 Finn, the one-foot record, and the audit findings
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 All four siblings plus the five-dunkers Wikidata build
Entity links follow the decision tree PASS Finn to his site, the camp to thedunkcamp.com, the podcast to dunktalks.com
Source video embedded N/A Process meta-article; the four podcast episodes are embedded on finnaddy.com
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 Finn Addy

Before this build, Finn had a real championship, a real vertical, and a website quietly working against him: dead links where his audience was supposed to go, an understated follower count on the page a sponsor reads, and not a single article in his own voice. Now his name resolves to a site he owns, a Person entity, a Wikidata item that ties The 1FootDisciple to Finn Addy, a Connect page with four live platforms and an honest 52K+, and four articles built from stories he had already told out loud. The next brand that looks him up sees the athlete he actually is, at the size he actually is, with somewhere real to click.

Why This Creates Value for BlitzMetrics

Finn’s build is the proof that this playbook compounds. The fifth site took the fewest human corrections because it inherited the fixes from the four before it, and the audit it ran back against them turned up two failure modes we now check for everywhere: links to accounts that no longer exist, and numbers the markup hides from replacement. Both are endemic to any business whose site was built once and never revisited, which is most of them. The playbook that audited and rebuilt a dunker’s site 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 280x to 420x 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 five builds 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. Corroborated is the word that matters. A site that links a dead account and overstates nothing while understating itself is not producing signal, it is producing noise, and no amount of design fixes that. The agent’s job on this build was to verify every claim, repair the ones that had rotted, and put the rest into a structure the machines can read.

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 finnaddy.com is the deliverable. And if you want the rest of the series, the Cam Hazzard build is the from-scratch version, the Piotr Zawiślak build is the reference, the Ethan Pimstone build is the come-from-nowhere version, the Nathaniel Kenney build is the billion-view version, and the McDeezy build is the one with the hidden homepage. Finn dunks off one foot. Now his site stands on its own two.

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.