Author: Deane Hirons

  • Money Tree

    The Deanehirons money tree

    Every money page and hub on deanehirons.com, and the posts that feed each one

    Drawn from the live internal links across 3 published posts and 6 pages, crawled 16 August 2026. Nothing is hand-placed: a branch is thick because posts link to it, and bare because none do.

    Read it bottom-up.Roots — off-site proofTrunk — the domainHow we do it — the method hubsBare or broken — needs a leafBranch thickness = posts feeding it

    Swipe the diagram sideways, or read the same tree as text below it.

    The Deanehirons money treeA tree diagram of deanehirons.com. The trunk is the domain, each branch is a money page or definitive hub, and each leaf is a blog post that links up to it. The full structure is repeated as a text outline directly below this diagram.ON YOUR SITE — what you controlOFF YOUR SITE — what the market says (the roots)3PAGEAboutThin3 posts feed this3PAGEGalleryThin3 posts feed thisbare — no posts link herePAGELinksBare0 posts feed thisbare — no posts link herePAGESample PageBare0 posts feed thisbare — no posts link herePAGEXmlrpc.PhpBare0 posts feed thisdeanehirons.com3 posts · 6 pages

    The same tree in text — every node is a live link

    How we do it — the method hubs

    The definitive articles. Each one owns a concept, and every post that demonstrates that concept links up to it.

    LinksBare

    page · 0 posts link here

    No posts link here yet.

    Sample PageBare

    page · 0 posts link here

    No posts link here yet.

    Xmlrpc.PhpBare

    page · 0 posts link here

    No posts link here yet.

    Method: every published post and page was fetched through the WordPress REST API and its outbound internal links extracted from the rendered body. A leaf counts once per post, only when that post links to the branch URL. Redirects were followed and reported rather than silently merged. Crawled 16 August 2026.

    Findings — each defect names a department

    Defect Where Routes to
    Bare branch Links, Sample Page, Xmlrpc.Php Content — one customer story per bare offer
    Shallow roots deanehirons.com Entity / authority — Knowledge Panel and sameAs

    Action list — 16 August 2026

    Run this on your own site

    Two doors, one diagnosis

    This tree is a scan, and a scan is only worth running if it tells you which department to walk to. Both doors below start from the same diagnosis. Take the skill file and run it yourself, or have us run it and hand you the findings — either way the routing table underneath says where each finding goes.

    1 · Do it yourself

    Take the skill file and run it

    A complete, runnable skill file — the five layers, the seven-step method, the six defects, and the nine-check QA gate. Hand it to Claude, ChatGPT, Gemini or any agent with read access to your site. Apache-2.0: copy it, fork it, ship it inside your own product.

    Download map-your-money-tree.skill.md

    2 · Have it run for you

    Have an agent run it with you

    The scan is only worth running if it tells you which department to walk to. Start at About — we crawl deanehirons.com, draw the tree, name the defects with the exact URLs and counts, and route you to whichever of the things below you actually need.

    Go to About

    What the scan finds, and which department it routes to

    What your tree shows What it means Where it goes
    A bare branch A live money page with zero posts linking to it. Nothing you have published has ever pointed a visitor at the thing you sell. About
    A split URL Two live pages for one offer — usually a page and a post. Internal links divide between them and neither ranks as well as one would. About
    Redirect tax Dozens or hundreds of internal links pointing at a URL that 301s somewhere else. It works, so nobody fixes it. About
    A broken target Internal links pointing at a 404. Invisible in analytics, because nobody clicks a link they cannot see. Quick Audit
    An inverted tree Leaf counts fall as price rises. The cheapest offer carries the most proof and the most expensive carries none. About
    A canopy with no branches Hundreds of posts linking to each other and almost nothing structural. Looks productive, converts nothing. Personal Brand Site Builder
    Shallow roots No Knowledge Panel, no consistent sameAs, no third-party corroboration. The canopy is fine; the soil is loose. Knowledge Panels
    map-your-money-tree.skill.md — the full skill file, verbatim (for agents and for copy-paste)
    ---
    name: map-your-money-tree
    description: Draw any website as a money tree — trunk (domain), limbs (offer groups), branches (money pages and definitive hubs), leaves (posts that link up to them) — measured from the site's real internal links, then diagnose the six defects a sitemap hides and output a dated publishing plan. Use when someone asks "which of my pages actually make money", "why isn't my content converting", "map my site", "audit my internal links", or when a monthly MAA needs a structural section.
    author: Dennis Yu — BlitzMetrics / Local Service Spotlight
    license: Apache-2.0
    version: 1.0 (2026-08-15)
    references:
      - https://blitzmetrics.com/money-tree/
      - https://blitzmetrics.com/seo-tree/
      - https://blitzmetrics.com/money-pages-vs-blog-posts/
      - https://blitzmetrics.com/maa/
      - https://blitzmetrics.com/9-triangles-framework-scalable-home-service-businesses/
      - https://localservicespotlight.com/quick-audit/
    ---
    
    # Map Your Money Tree
    
    **Use this when** you need to know which pages on a site actually earn, and which of the
    content already published is feeding them. Not "how much traffic does this page get" —
    *what is connected to what, and in which direction.*
    
    This is the structural half of [MAA](https://blitzmetrics.com/maa/). The leaf counts are
    the Metrics. The bare and split branches are the Analysis. The publishing list at the end
    is the Action. Redraw it monthly and the delta is the report.
    
    ## The one idea
    
    **A leaf counts only when it actually links.**
    
    Not when it is topically related. Not when it sits in the right category. Not when someone
    meant to link it. The link is the measurement; everything else is a plan. Every number this
    skill produces must be reproducible by re-running the crawl.
    
    ---
    
    ## The five layers
    
    | Layer | What it is | How you know |
    |---|---|---|
    | **Root** | Off-site proof of the entity: Knowledge Panel, Wikidata, LinkedIn, YouTube, podcast appearances, press, review profiles. | It is not on the domain and you cannot edit it directly. |
    | **Trunk** | The domain and its home page — the entity home. | It is the URL you would put on a business card. |
    | **Limb** | A group of branches sharing an audience or a job — the offers, the method, a vertical. | It is how the site's own services page already groups things. |
    | **Branch** | A money page, or a definitive article that owns a concept. | Someone converts on it, or it is the one canonical page for a topic. |
    | **Leaf** | A post that links **up** to a branch. | It is dated, it flows through a feed, and its body contains a link to its branch. |
    
    Roots and trunk are **Why**. Limbs and method branches are **How**. Money branches are
    **What**. Leaves are **Proof**. A stranger — or a language model — should be able to read
    all four off one page.
    
    ---
    
    ## Inputs
    
    - The domain.
    - Read access to every published URL and its **rendered** body (not raw — page-builder and
      shortcode markup must be expanded so the links inside are visible).
    - The site's own services page and main navigation, for the branch list and its grouping.
    - Optional: the previous run's tree, for the delta.
    
    ---
    
    ## Procedure
    
    ### 1. Inventory every published URL
    Posts and pages both, with id, URL, title, publish date, and rendered body.
    
    On WordPress:
    ```
    GET /wp-json/wp/v2/posts?per_page=100&page=N&status=publish&_fields=id,link,title,content,date
    GET /wp-json/wp/v2/pages?per_page=100&page=N&status=publish&_fields=id,link,title,content,date
    ```
    Page until the `X-WP-TotalPages` header runs out. On any other stack, use a crawler that
    returns rendered HTML. De-duplicate by (type, id) — retried requests double-count silently.
    
    ### 2. Extract internal links from every body
    Match `href` values on the site's own host. Normalise: drop the query string and fragment,
    force a trailing slash, lower-case the host. **Make the set unique per source page** — a
    post linking to the same branch five times is one leaf, because the first link is the one
    that carries the value.
    
    ```js
    const RX = /href="https?:\/\/(?:www\.)?example\.com(\/[^"#?]*)/g;
    const outs = [...new Set([...html.matchAll(RX)].map(m => m[1].replace(/\/+$/,'') + '/'))];
    ```
    
    For a personal brand site, also match the company domains — its money pages usually live
    on another host, and they still count as branches.
    
    ### 3. Build the inbound index
    Invert the map: for every URL, the list of posts and the list of pages that link to it.
    Count them **separately**. Theme headers and footers are pages linking to pages; only body
    links from posts are leaves.
    
    ### 4. Name the branches from the site, not from memory
    Take the money pages off the services page and the main navigation, in the grouping those
    pages already use. Add the definitive articles — the pages that own a concept. Do not
    invent a tidier taxonomy than the one the site presents to a visitor: if your tree
    disagrees with the navigation, the tree has just found its first defect.
    
    ### 5. Resolve redirects and duplicates before counting
    Request each branch URL and follow the chain. Merge redirected URLs into one branch and
    **report the merge** rather than hiding it. Two live 200s for one offer is a split branch,
    not two branches. This is the step everyone skips and where most findings are.
    
    ### 6. Draw it to scale
    Branch thickness and foliage density from the leaf count on a **square-root** scale, so a
    300-leaf branch does not visually annihilate a 30-leaf one. Bare branches drawn bare.
    Nothing placed by hand — if the drawing is prettier than the site, the drawing is lying.
    
    ### 7. Publish it on the site it maps
    As a live page with every node a real link — never a screenshot. Ship three synchronised
    forms on the same URL: the diagram (inline SVG), the identical structure as a **visible**
    text outline, and `ItemList` JSON-LD naming each branch, its role, its content type and its
    inbound count. The picture is for humans; the other two are for agents.
    
    ---
    
    ## The six defects — and where each one routes
    
    Diagnosis is worthless without a destination. This is a scan that names the department.
    
    | # | Defect | What it looks like | What it costs | Routes to |
    |---|---|---|---|---|
    | 1 | **Bare branch** | A live money page with zero posts linking to it | Nothing on the site has ever pointed a visitor at the thing you sell | Content — one customer story per bare offer |
    | 2 | **Split branch** | Two live URLs for one offer (usually a page and a post) | Internal links divide; neither ranks as well as one would | Plumbing — pick one, 301 the other, consolidate |
    | 3 | **Redirect tax** | Many internal links pointing at a URL that 301s | Every link takes the slow road; often includes the main nav | Plumbing — rewrite links to the destination |
    | 4 | **Broken target** | Internal links pointing at a 404 | Invisible in analytics, because nobody clicks a link they cannot see | Plumbing — restore or repoint |
    | 5 | **Inverted tree** | Leaf counts fall as price rises | The cheapest offer carries the most proof; the most expensive carries none | Strategy — decide what you are actually selling |
    | 6 | **Canopy with no branches** | Hundreds of posts linking to each other and almost nothing structural | Looks enormously productive, converts nothing | Personal brand — wire the proof to an offer |
    
    Also check the roots. A tree with no off-site proof — no Knowledge Panel, no consistent
    `sameAs`, no third-party corroboration — is standing in loose soil no matter how good the
    canopy looks. That routes to entity/authority work.
    
    ---
    
    ## The QA gate — nine checks, all must pass
    
    A wrong tree is worse than no tree, because people act on it.
    
    1. **Every node resolves.** Status recorded for each branch; no 404s; every 301 shown as a redirect rather than silently followed.
    2. **Counts are reproducible.** Re-run the crawl; identical numbers. Drift means the extractor is matching something other than links.
    3. **Counts are unique per source.** One post linking three times counts once.
    4. **Navigation excluded.** Only body links from posts are leaves.
    5. **No branch invented.** Every branch appears in the site's own navigation, services page, or definitive-article set.
    6. **No money page missing.** Cross-check against the services page and main menu. A money page absent from the tree is the worst error — an invisible bare branch reads as a branch that does not exist.
    7. **Duplicates consolidated.** Split URLs appear as one branch, flagged, with both URLs named.
    8. **Text outline matches the diagram.** Same nodes, counts and order — that is what agents and screen readers read.
    9. **Date and method stated.** A tree without a crawl date is a claim, not a measurement.
    
    ---
    
    ## Output
    
    1. **The diagram** — inline SVG, every node an anchor, light/dark, no runtime JS.
    2. **The text outline** — visible, nested, live links, counts, health flags.
    3. **The schema** — `ItemList` JSON-LD, one entry per branch.
    4. **The findings** — the defects above, each with the specific URLs and counts.
    5. **The action list** — dated, ordered by cost-to-fix, one line per bare branch.
    6. **The delta** — versus the previous run. Any branch still bare after a redraw is a branch nobody has decided to sell.
    
    ## Definition of done
    
    - Every branch on the services page and main nav appears in the tree.
    - Every count is reproducible and every URL resolves or is flagged.
    - The page carries diagram + outline + schema on one URL.
    - Every defect names a destination, not just a problem.
    - The next publishing action is unambiguous to someone who did not run the audit.
    
    ## Cadence
    
    Monthly on an active site. The value is in the delta, not the snapshot. A metric you look
    at once is a screenshot.
    
    ---
    
    *Method: <https://blitzmetrics.com/money-tree/> · Framework: <https://blitzmetrics.com/seo-tree/> ·
    Page-versus-post rule: <https://blitzmetrics.com/money-pages-vs-blog-posts/> ·
    Want it run for you: <https://localservicespotlight.com/quick-audit/>*
    
  • Why I’m 16 and Building AI Agents for Local Businesses

    The Build

    Why I’m 16 and Building AI Agents for Local Businesses

    By Deane Hirons · dunker & AI builder

    Most people know me for dunking. But there’s a second thing I’m building, and honestly it might matter even more long-term: I’m learning to run a one-person AI agency that helps local businesses grow online.

    Here’s the thinking behind it.

    Reach you rent disappears

    I spend a lot of energy on Instagram, and I’m grateful for every follower. But I also know the truth: that audience isn’t really mine. The platform owns it. The algorithm decides who sees me. If the rules change tomorrow, that reach can shrink overnight.

    So I started asking a better question: what can I build that I actually own — and that pays? The answer, for a kid in 2026 who isn’t afraid of new tools, is AI.

    What I actually do

    Local business owners — gyms, barbers, restaurants, contractors — are great at their craft and slammed with work. The thing they almost never have time for is the online stuff: showing up in Google, posting consistently, answering leads fast. That’s exactly the work AI agents are good at.

    So I point AI agents at it. I help a local business get found in search, keep a steady stream of posts going, and stop letting leads slip through the cracks — without them having to learn any of it. They get back to running their business; the agents handle the online presence.

    Who I help

    • Local owners who know they “should be doing more online” but have no time
    • People who are confused about AI and just want someone to set it up and make it work
    • Businesses that want to be found by local customers — and aren’t

    I’m not doing this alone

    I’m following a path that older builders already proved works. Dylan Haugen earned a Google Knowledge Panel at 17. Cam Hazzard went from dunker to AI builder. Hoopin Nate is on the same track. They use AI not just to make content, but to run real, lean agencies for real businesses. I’m learning the exact same playbook.

    Being young is the advantage

    People think being 16 is a disadvantage in business. With AI, it’s the opposite. I grew up with these tools. I’m not unlearning twenty years of “how it’s always been done” — I just build the thing that works now. And I work harder and cheaper than an agency that’ll charge you a fortune to do less.

    It’s the same mindset as the dunking: start from zero, in public, and out-work the excuse. I couldn’t dunk because I was short, so I built the jump. I can’t out-spend a big agency, so I out-build them with AI.

    If you run a local business and you’re confused about where to even start with AI — that’s exactly who I help. Let’s talk.

    ✉ Email Deane⚡ The AI Builder Program

  • I Threw a Windmill Over Isaiah Rivera

    The Highlight

    I Threw a Windmill Over Isaiah Rivera

    By Deane Hirons · THP Strength · Dunk Camp 2026, Team 6

    There’s a clip on my page I still can’t believe is real. It’s a 9-foot windmill — and the person standing under the rim, the one I’m going over the top of, is Isaiah Rivera. My coach. One of the best dunkers on the planet.

    A year ago I was just a short kid trying to touch rim. The fact that I got to throw a windmill over Isaiah’s head tells you everything about what the right coaching does.

    What THP Strength actually is

    THP Strength is the vertical-jump system I train in. It’s not a workout you find on YouTube and copy — it’s a structured program, coached by Isaiah Rivera and John Evans, built around getting you off the floor as high as humanly possible. It’s the program behind some of the highest verticals ever measured, and I get to train inside it.

    What that means day to day: everything is measured. My vertical, my touch, my flight time — all numbers, all tracked. When you can see the number move, you trust the process even on the days it doesn’t feel like you’re getting better. (And there are a lot of those days.)

    Being coached by someone that good

    The biggest thing isn’t the drills — it’s the standard. When your coach can do things almost nobody on Earth can do, “good enough” stops existing. You stop comparing yourself to the kids at your school and start comparing yourself to the best in the world. That’s a different kind of pressure, and it’s the kind that makes you better fast.

    It also keeps me honest about my size. Isaiah and John never treated 5’7″ as an excuse. They treated it as a starting number to beat. That mindset is half of why I can dunk at all.

    The Dunk Camp 2026

    This year I got selected for The Dunk Camp — I’m on Team 6. The Dunk Camp is days with the best dunkers and jump trainers in the world, all in one place. For a kid who started out just trying to touch rim, getting picked means someone with authority looked at my tape and said yeah, he belongs here.

    That’s the thing about this whole world — it’s small, and the people in it vouch for each other. I train and fly with a crew of dunkers who are all chasing the same thing, and we push each other. Some of them you’ll find linked on my homepage.

    The receipts

    • Signature clip: 9-ft windmill thrown over Isaiah Rivera
    • System: THP Strength
    • Coaches: Isaiah Rivera (@isaiahrivera1), John Evans (@johnevans_thp)
    • 2026: Selected for The Dunk Camp — Team 6

    I’m 16. I’m 5’7″. And I throw windmills over one of the best dunkers alive. If you’d told me that two years ago I’d have laughed. Now it’s just the next clip.

    ▶ Watch the windmill on Instagram

  • How a 5’7″ Kid Learned to Dunk a 10-Foot Rim

    The Journey

    How a 5’7″ Kid Learned to Dunk a 10-Foot Rim

    By Deane Hirons · 16 years old · 5’7″

    Everybody who plays basketball gets told the same thing if they’re short: find another lane. Passing, shooting, defense — anything but dunking, because dunking is for tall people. I’m 5 feet 7 inches. So I decided to go straight at the one thing I wasn’t supposed to be able to do.

    If I couldn’t have the height, I’d build the jump.

    The math nobody tells you

    Here’s what dunking a 10-foot rim actually takes when you’re my size. My standing reach is about 7’5″. To get a ball over a 10-foot rim, I need to get my hand up around eleven feet. That’s a gap of more than three feet that has to come entirely out of my vertical jump. There’s no cheating it — either you can get up there or you can’t.

    So the whole game became one number: how high can I jump?

    Training in the THP system

    I train in the THP Strength vertical-jump system, coached by Isaiah Rivera and John Evans. If you’re in the dunk world you know those names — it’s one of the programs behind some of the highest verticals ever tested. Being coached by Isaiah, who’s one of the best dunkers alive, means there’s no guessing. Every session has a purpose, every rep is logged, and the progress is measured, not imagined.

    And it’s slow. That’s the part people don’t post. You don’t add a foot to your vertical in a month. You add an inch, then another, then you stall, then you break through. I’ve got a clip showing the same hoop ten months apart — about a 6-inch jump in vertical between the two. Six inches doesn’t sound like much until you realize six inches is the difference between fingertips on the rim and a clean dunk.

    The first one

    My first real dunk landed on a 9’11.5″ rim — half an inch under regulation. Flight time on it was around .86 seconds in the air. I’m not going to pretend I was calm about it. I said “I love life right now,” and I meant it. That dunk told me the full 10-foot rim wasn’t a dream — it was a few more inches of work.

    Now I’m finishing on the full 10-foot rim off the lob, with a measured 37-inch vertical and a 10’6″ max touch. Windmills at 8 and 9 feet. The list keeps growing because the vertical keeps growing.

    The receipts

    • Height: 5’7″
    • Vertical: 37 inches
    • Max touch: 10’6″ (off a 7’5″ reach)
    • First dunk: 9’11.5″ rim, ~.86s flight time
    • Progress: ~6″ vertical gain in 10 months, same hoop
    • System: THP Strength · coaches Isaiah Rivera & John Evans

    Why I’m telling you the boring part

    Because the inch-by-inch part is the story. Anybody can want to dunk. The thing that’s actually rare — at 5’7″ or any height — is being willing to chase one number for months when it barely moves. That’s the part I’m proud of, and it’s the part I’ll keep posting, rep by rep.

    If you’re short and people told you to find another lane: this is the other lane. Build the jump.

    ▶ Follow the climb on Instagram