Blog

  • Money Tree

    The Justinsonnenreich money tree

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

    Drawn from the live internal links across 23 published posts and 7 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 Justinsonnenreich money treeA tree diagram of justinsonnenreich.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)2PAGEAbout Justin SonnenreichThin2 posts feed this5PAGEWork With MeGrowing5 posts feed thisbare — no posts link herePAGEContactBare0 posts feed thisbare — no posts link herePAGEResourcesBare0 posts feed thisbare — no posts link herePAGEPodcastBare0 posts feed thisbare — no posts link herePAGEXmlrpc.PhpBare0 posts feed this8POSTHow a Campus ActivationActually Runs: Staffing,Growing8 posts feed this8POSTThe Student OperatorModel: Run Your CampusGrowing8 posts feed thisjustinsonnenreich.com23 posts · 7 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.

    ContactBare

    page · 0 posts link here

    No posts link here yet.

    ResourcesBare

    page · 0 posts link here

    No posts link here yet.

    PodcastBare

    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 Contact, Resources, Podcast, Xmlrpc.Php Content — one customer story per bare offer
    Shallow roots justinsonnenreich.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 Justin Sonnenreich — we crawl justinsonnenreich.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 Justin Sonnenreich

    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 Justin Sonnenreich
    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 Justin Sonnenreich
    Redirect tax Dozens or hundreds of internal links pointing at a URL that 301s somewhere else. It works, so nobody fixes it. About Justin Sonnenreich
    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 Justin Sonnenreich
    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/>*
    

  • This Site Was Built in One Day. Here Is the Honest Log.

    This website went from a domain search to what you are reading in one working day, July 10, 2026. Here is the log of what was built, by whom, and how.

    What got built

    • A full brand audit: the “Magic Berry Plan”: 15 pages built on Dennis Yu‘s published frameworks. Three AI research agents pulled 200+ live sources, separated every claim into verified / reported / not found, and sorted them into what could be verified and what could not.
    • An eight-agent operating system: skill files for a daily reputation monitor, weekly prospect research, warm-path mapping, ad optimization, operator recruiting, a Friday metrics loop, and a monthly honesty audit that re-verifies every public claim I make. Nothing publishes or sends without my approval; the rules live in the files, not in vibes.
    • This website: domain registered, DNS pointed, WordPress provisioned on BlitzMetrics‘ platform, and 6 pages plus 22 sourced posts imported, with Person and Organization schema underneath so machines can read the record too. Built to the entity-home standard Dennis’s team documents publicly.

    The part worth copying

    The part that mattered most was not the site. It was the list of things I cannot say yet. There are stories about my background that circulate in rooms I’ve been in. The agents checked them against the public record, found no sources, and locked them out of every page here until documentation exists. But in a world where your buyers run diligence with AI, a brand that audits itself is the only kind that compounds. Same standard as the mentions tracker →

    Credit where it’s due

    The system is Dennis Yu’s, published openly at blitzmetrics.com and Local Service Spotlight. The build was run by AI agents operated from Dennis’s team, including Leo Pohlmann in Cologne, whose own site was built the same way, the method proves itself on the people who run it. A fuller engineering write-up will publish on blitzmetrics.com.

    Photos and video from the campus work are the next thing that lands here. If the pages still show placeholder frames, that’s why, real footage only, per the house rule.

    Sources & mentions

  • Why This Site Exists: An Entity Home, Not a Portfolio

    This site launched in July 2026 with one job: to be the entity home for “Justin Sonnenreich”, the single canonical place that states, with sources, who I am, what I’ve built and where else I exist online.

    Why bother? Because in 2026 your first impression is compiled by machines. Google’s Knowledge Graph, ChatGPT, Perplexity, they assemble “you” from whatever’s most structured and consistent. Before this site, the top results for my name included data-scraper profiles and a duplicate LinkedIn. Strangers were writing my record. The fix is boring and it works: one homepage that says everything unambiguously, an About page with a sourced timeline, posts that document real work (cases, projects, credit to mentors), Person and Organization schema underneath, and a hard rule about verification.

    Built on the personal-brand-website system Dennis Yu’s team documents publicly, the same process behind sites like michaelkrigsman.com. If you’re a founder whose Google page 1 is scrapers: fix it before your next fundraise or enterprise deal. Your buyers’ agents are reading.

    Sources & mentions

  • Everything Brands Ask Before a Campus Pilot

    Collected from real calls, answered without the meeting. What exactly do we pay for? A verified action we define together pre-launch, funded account, KYC-passed signup, activated subscription. Per result. How do we know the numbers are real? Unique tracking per operator/shift, reconciled against your own dashboard, you audit us. Which campuses? Where we have trained operators, or where we recruit one for you (one cycle of lead time, how operators work). Who’s liable on campus? Activations run within campus rules; we don’t do guerrilla stunts that spend the trust we sell. Do you work with anyone? No: gambling/sports betting, alcohol and nicotine are excluded, permanently. What does it cost? Depends on the action’s value to you, the math shows the range logic. The specifics come out of a call. How fast? Existing operator: weeks. New campus: a recruiting cycle. Semester rhythms rule everything, move-in week is the Super Bowl.

    Ask me anything else →

  • The Frameworks I Actually Use (and Where They Come From)

    Five frameworks run most of what I do. None of them are mine; all of them are linked to their source. 1. The Topic Wheel (Dennis Yu): WHAT you sell in the center, HOW-expertise around it, WHY-stories outside, people discover you from the outside in; my blog is laid out that way. 2. Dollar-a-Day (BlitzMetrics): boost candidates $1/day for 7 days, kill the bottom 90%, scale unicorns, amplification with quality control. 3. The Content Factory: Produce, Process, Post, Promote, every activation, talk and win becomes a compounding proof library. 4. MAA, Metrics, Analysis, Action, the Friday loop; metrics without analysis is a screenshot, not a report. 5. LDT, Learn, Do, Teach, the status ladder for our operators: levels are earned, never negotiated, and teaching is the top.

    Steal them from the sources, not from me, that’s what the links are for. Why I credit everything →

  • The Ecosystem Behind MarkitAds: Launch Chapel Hill and 1789

    When agency websites say “award-winning,” ask which award. Here’s our honest version: MarkitAds grew up inside the UNC Chapel Hill entrepreneurship ecosystem, Launch Chapel Hill, the venture accelerator, and 1789 / Innovate Carolina, the university’s founder community.

    What that actually gave us: structured mentorship from operators who’d done it before; deadline pressure with demo days attached; a bench of advisors (including from the University of Wisconsin network) who still answer my calls; and the campus-insider view of how universities think, which became a real asset when UNC itself became a client.

    For student founders: your university’s accelerator is the cheapest leverage you’ll ever get. Take every office hour. It’s a large part of why a bedroom company survived to become a real one.

  • What a Policy Internship Taught a 17-Year-Old Marketer

    In 2020 I interned in political affairs at The Borgen Project, the nonprofit that mobilizes public support for US leadership on global poverty.

    Advocacy work is distribution work without a budget. Nobody buys anything; you’re moving attention and pressure, calls to congressional offices, local op-eds, constituent meetings. You learn that mobilization beats persuasion: the win isn’t changing a mind, it’s activating the people who already agree but would never act unprompted. You learn that a specific ask (“call this office, say this sentence”) outperforms a passionate case every time.

    Swap “constituents” for “students” and that’s a campus activation: find the aligned people, lower the friction to one specific action, verify it happened. I was 17 and thought I was taking a detour from marketing. It was the most marketing thing I ever did.

  • Model UN President to Agency Founder: Why Debate Skills Sell

    From 2020 to 2022 I was president of the Montgomery County Model UN team. It sounds like résumé filler. It’s the training I use most.

    Model UN teaches three things agencies get paid for: speaking to a skeptical room off five minutes of prep; writing position papers, which is to say, turning a mess of facts into one defensible argument (every PR pitch is a position paper); and coalition math, knowing that resolutions pass in the hallway, not at the podium, which is exactly how campus distribution works too.

    If you’re a student reading this: the clubs where you argue, organize and recruit are pre-professional training that the “practical” clubs can’t match. We hire from them deliberately.

  • Building a Team of Twelve Before 25

    MarkitAds is roughly twelve people: engineering under CTO Troy Smith, growth under our VP of Growth, revenue operations, content, and the campus activation staff, the ambassadors, associates and activation leads who make the field work actually happen.

    What I’ve learned managing a company where I’m often the youngest person with the final say: 1) Write everything down, authority you have to re-explain is authority you don’t have; the playbook is the boss so I don’t have to be. 2) Hire operators, then give them territories (this applies to executives exactly as it does to campus operators). 3) Pay on results wherever results are measurable; it removes 80% of the awkward conversations. 4) The founder’s job migrates from doing, to selling, to making the record sell, which is what this whole site is for.

    Advisors from the Launch Chapel Hill / UNC ecosystem and from the University of Wisconsin network round out the bench. More on the ecosystem behind us.

  • What Dennis Yu Taught Me About Letting Reputation Do the Selling

    A lot about how I now run MarkitAds, traces to Dennis Yu, who has spent years teaching founders that reputation should do the first three touches of every sale.

    The frameworks, credited: the Topic Wheel (people discover you story-first, expertise second, offer last, my blog is organized that way); the Dollar-a-Day strategy (amplify only what already works, kill the rest without sentiment); the Content Factory (capture everything, process it into proof, publish, promote); and MAA, Metrics, Analysis, Action, the weekly loop that keeps it honest (“analysis is 10x more important than metrics”).

    The deepest lesson is the standard behind the mentions tracker his team built for me: if a claim can’t survive verification, it doesn’t ship. A super-connector’s instinct is to sell with charm; Dennis’s discipline is to make the record sell first, so charm only has to close. I’m 23; having a mentor whose SOPs are public means anyone can check whether I’m actually running them. Good. That’s the point.

    Sources & mentions