Andrew (Ansley) and Elias Levadaros - Vibe Coding / Harness Engineering and the SEO "Gorillas" Framework
A paired Day 1 session on harness engineering with Claude Code (Andrew of Thorbit.ai) and the four SEO "gorillas" agencies miss (Elias Levadaros of Link Profiler Pro / SEO Neo).
On this page
This Day 1 session pairs two talks. First, a developer who goes by Andrew (of Thorbit.ai; the session filename references "Andrew Ansley," though the surname is not stated in the recording) walks the automation room through "harness engineering," the disciplined layer above raw "vibe coding" that makes AI coding agents (specifically Claude Code) repeatable and scalable. Second, Elias Levadaros (also rendered Eleftherios Livadaras) of Link Profiler Pro and SEO Neo opens with the famous "invisible gorilla" attention experiment to introduce inattentional blindness in SEO, then walks through four "gorillas" agencies miss and the concrete frameworks to catch them. Both talks push the same theme: stop doing manual, vanity-metric work and engineer systems that interpret data and self-correct.
Main takeaways
- Harness engineering beats vibe coding for anything you want to reproduce. Andrew frames three tiers (vibe coding, vibe engineering, harness engineering). Raw vibe coding can produce good output once, but you cannot reliably reproduce it. The fix is building an operating system around the AI, not writing better one-off prompts.
- Name folders after the work (the domain), not the code type. Domain-first naming (for example a folder called "estimates" for a construction company) lets agents grep and navigate intuitively, which Andrew says cuts token use by roughly 50% and makes the AI work about twice as fast.
- Keep context windows under about 100k tokens and use sub-agents to fetch context. Andrew claims agent performance drops off significantly past 100k and hallucination climbs after 200k, so large advertised windows (he cites a 2M Grok figure) are a "money grab." Thin sub-agents that gather and report back keep the main window lean.
- Hooks are the anti-hallucination and automation layer. Any executable can fire on Claude Code events (before a tool runs, on session end, and so on). A single "stop" hook (the "Ralph Wiggum" pattern) creates an infinite self-correcting agent loop. Hooks give observability, enforceability, dependability, and therefore scalability.
- Inattentional blindness explains why SEOs miss the things that matter. Elias uses the basketball-pass "gorilla" video to show that fixating on one metric (daily rankings for a main keyword) blinds you to the toxic links, semantic gaps, local-visibility holes, and revenue misses happening in plain sight.
- Disavow only links that are both live and toxic. A dead 404 or expired domain cannot pass negative signals, so disavowing it (or nuking borderline live links) only strips real equity. Elias's two-question matrix yields four outcomes, and only one ("live AND toxic") warrants a disavow.
- Fix local SEO in strict order: relevance, then proximity, then prominence. Prominence work is wasted if relevance is broken. The talk gives field-level tactics for each layer (categories and descriptions for relevance, city pages and NAP consistency for proximity, review velocity and photo volume for prominence).
- Report in plain English with context, not raw percentages. The "so-what gorilla" eats retainers when an agency reports a ranking win but the client's phone didn't ring. Always pair a metric with comparison points, and pair every negative number with a next action, a timeline, and an owner.
Key points
Andrew (Thorbit.ai) - Harness Engineering
Speaker background and claims. Goes by "Andrew" (no surname given in the transcript; session filename says "Andrew Ansley"). Quit his agency about 2 years ago; now works about 50 hours a week in the terminal with Claude Code. Trains developers and converts agencies and businesses, referencing work with companies up to roughly $100 million in revenue. Was previously an SEO who "read patents all the time." Built AI writers before, and says the key to great AI content is deconstructing the subject and working at an "atomic level" (a paragraph at a time, not whole-document).
Tools, products, and URLs. Thorbit.ai is his product, described as an attempt to make AI that "does all of marketing" (not complete yet). He demoed a live Q&A/poll app (slides.thorbit.ai, event code UXEP; conference slides at seost-2026.thorbit.ai) that he says he vibe-coded in about 2 to 3 hours, building a SaaS with a database via "three prompts" and deploying it. He offered a free terminal-onboarding course (about two hours of videos, "no marketing, no funnel"), and promised a free "meta creator" repo "tomorrow" (he could not access his Mac Mini in-session, so it was not delivered live).
Three tiers of building. Vibe coding ("all you have is desires," prompt and "grip it and rip it," no plan; can be done well but is slow). Vibe engineering (layered on top; you learn a little code, roughly six categories: classes, types, schema, structures, interfaces, enumerations). Harness engineering (hooks, commands, skills, agents; makes outputs repeatable and scalable).
Domain-first naming. Name folders after the work (the "domain"), not the code type (example: an "estimates" folder for a construction company). Only the first folder needs code-style naming; deeper subfolders can use intuitive, keyword-rich names like a Google Drive. "grep" is keyword searching in the terminal, so domain naming surfaces the whole relevant universe at once. Claimed benefits: about 50% fewer tokens and roughly twice the speed. Infrastructure still keeps code-style homes (lib, src kept; inside src you name by domain).
Context window management. Claim: agent performance drops off significantly after about 100k tokens; drift after 100k to 200k; heavy hallucination after 200k. He cites Grok 4.2 multi-agent at a 2M context window and calls huge windows a "money grab." Use /context in a fresh Claude Code terminal to see your starting tokens (most start around 25k to 50k; he says the lowest Claude baseline is about 16k). Strategy: keep the main context under about 100k by deploying thin sub-agents that gather context and report back.
The cold-start problem. No conversation history passes between sessions or between agents; every agent arrives "with nothing." The brief you write is the only thing the agent knows, so a vague brief is a system-design problem, not a writing problem. The system's job is to build the brief automatically (take your words, inquire for gaps, build the brief).
"Everything is a prompt." Plans are prompts, specs are prompts, your entire message history is a single prompt. A "cluttered harness" (many agents, skills, MCPs, plus the system message and task prompt all loaded) burns the context window.
The harness (hooks, commands, skills, agents). Skills are a folder plus a markdown file; a fraction is loaded into every conversation, so the AI is always aware of it (too many can confuse it). Commands use the same format but are NOT loaded into every conversation, so you can have hundreds without quality degradation (Andrew notes Claude's docs treat commands and skills as effectively the same; commands now require a subfolder). Agents use the same format; the only real difference is that an agent runs in a separate context window (use case: deploy roughly 15 sub-agents at once to gather context). He recommends making agents and skills template-driven with "spin text" style bracketed placeholders.
Hooks (the standout topic). A hook is anything executable, firing on terminal events (before a tool is used, before it responds, on sub-agent deploy, on session end, and so on); Claude has roughly 15 hookable areas. Hooks prevent hallucination and enforce behavior. "Ralph Wiggum" is a stop hook that tells the agent "you're not done," sends it back to the original spec, and loops, creating an infinite loop of nonstop working agents. Hook mantra: observability, enforceability, dependability, scalability. Examples given: a hook that blocks an action until a required file is written; a hook that blocks and deletes all code comments ("the code itself can be the documentation"); a "guide skill" updated by a hook whenever a new skill, command, or agent is deployed; and an "expert" with a "self-improve" command that runs a diff check and updates itself.
Other named patterns. "Golden master test" (tell Claude to test the whole thing for real instead of mocking trivial tests). Trust-level output gating: name every output file with its trust level (validated, approved, needs-review) via a small JSON/YAML checkpoint with limited allowed states (compared to ClickUp/Asana status gates). Recommended minimal harness: about 10 skills, about 10 agents, plus many commands (his roster: a builder, a reviewer, an architect, a tester, experts, and a "meta" creator). He uses 42 templates but says you can start with about 6. View installed skills and agents in your file explorer at ~/.claude. Common mistake: keeping duplicate skills/agents in both per-project and global locations, which drags hidden memories and logs that confuse the AI.
Elias Levadaros (Link Profiler Pro / SEO Neo) - The Gorillas Framework
Speaker background and tools. Name rendered "Elias Levadaros" in the transcript (the brief also lists "Eleftherios Livadaras"); 16 years making SEO accessible to everyone. Credited by an audience member (Mike) with creating SEO Autopilot and the SEO Neo diagrams. Tools: Link Profiler Pro (rank tracker, content-gap, and anchor export; positioned against Ahrefs and Semrush) and SEO Neo (tiered link-building campaigns, GPP wizard, RankYourBrand strategy). In-room offers: $500 off the SEO Neo yearly plan and 50% off the new Link Profiler Pro.
Opening framing. He played the "monkey business illusion" / invisible-gorilla video and asked the room to count white-team passes (correct answer: 16). Many missed the gorilla, the curtain changing color, and a black-team player leaving. The phenomenon is inattentional blindness: intense focus on one thing makes the brain blind to everything else. His "MRI scanner" metaphor: his tools let you see the gorillas.
The four gorillas. 1. The backlink mirage. An agency promises 200 backlinks a month, buys a Fiverr package to hit quota, and sends a 200-row spreadsheet ignoring toxicity; a core update hits and the site drops because most of those links had a toxicity score above 60%. Their data science claim: one authority backlink (DA 60, 0 spam score) mathematically "incinerates" 500 low-quality links. Counting total volume hides this. 2. The keyword blind spot. Ranking #1 for a vanity term ("Denver plumber") full of researchers while the competitor ranks for bottom-of-funnel buyer-intent terms ("emergency water heater repair Denver 24/7," "burst pipe plumber near me"). The example business wasn't tracking 38 buyer-intent keywords. The gorilla is the semantic search "canyon" you ignore. 3. The local trap. Owners check rankings from their office desk, see #1, and think they own the city; the geo grid is green in the middle, red everywhere else. Reporting on "share of voice" (a legacy metric counting only top-3 positions) hides it: moving a client from position 50 to position 5 shows as 0% share of voice (client fires you) but is a 67% increase in overall map visibility. Always report on visibility score. 4. The "so-what" gorilla (the 2026 apex predator). You announce rankings went from #11 to #2; the client says "my phone didn't ring once this week." Tracking data isn't enough; translating data into plain English a client understands in 10 seconds is the job. Example AI-generated insight cross-referencing GSC and GA4: "Traffic dropped because overall seasonal search volume crashed by 40%, but you actually retained your share."
The disavow decision matrix. Stop reflexively filing disavow files. Google's docs note a dead link (404, expired domain) cannot pass negative signals ("you cannot get penalized by a ghost"). Two questions per link: (1) Is the link live and actively pointing to the client's site? (2) Is its toxicity score alarming (spam score above 60%, pure link farm, or a deindexed domain)? Outcomes: live AND toxic = disavow (the only disavow quadrant); toxic but dead = monitor, log, and move on; low toxicity but live = do not disavow, build more good links to dilute the ratio. Common mistake: nuking 400 links to fix 12, which cuts real authority.
Link architecture (three rules). Anchor text is a weapon: if exact-match anchors exceed 5% of the profile you risk a penalty, so Google wants conversational, naked, and branded anchors. Link pyramid: 60 to 70% foundational (citations, directories, profiles), 20 to 30% contextual (blogs, widgets), only 5 to 10% high-authority (cloud blogs, high-authority guest posts, PRs) pointing to the money site. Link velocity: Google tracks acquisition speed, so 200 links in a weekend then silence is a red flag; aim for continuous authority.
Local hierarchy (relevance, proximity, prominence, in strict order). Relevance: set the primary GPP category (the most impactful field); use all secondary categories (Google allows up to 10; many use only 2); write a keyword-aware business description (750 characters available, most write about 40) covering primary service, location, and problems solved; fill every service title and description; build relevancy with SEO Neo cloud blogs embedding maps and driving directions. Proximity: keep a storefront as a storefront (do not switch to a service-area business); build "digital proximity" via 10 to 20 dedicated city/suburb pages ("plumber in Scottsdale," "plumber in Tempe," "plumber in Chandler"), each with unique content, an embedded Google Map, a testimonial naming that neighborhood, and driving directions from a known landmark; audit your top 20 citations for letter-perfect NAP consistency ("Street" vs "St." is a trust penalty); use SEO Neo GPP wizard campaigns. Prominence: velocity beats perfection (a 4.8-star business getting 3 reviews a week beats a stale 5-star average; silence is a death signal); Google data shows GPP listings with more than 100 photos get 500% more calls, so upload geotagged photos weekly; respond to every review; run the SEO Neo RankYourBrand three-tier strategy (tier 3 entity keywords, tier 2 exact-match, tier 1 branded) so authority compounds to the money and location pages.
The five-step page-two recovery workflow. Open your rank tracker (Elias prefers a dedicated tracker over GSC, which gives delayed averages); filter to positions 11 to 20 sorted by search volume (position 11 = #1 on page 2; nobody scrolls there); pick three top candidates (high-volume, non-branded, positions 11 to 15); run a content-gap audit against your URL plus the top 10 competitors, asking four questions (what subtopics they cover that you ignore; average word count and whether you are 30% shorter; what questions their headings answer; what internal pages they aggressively link to); then brief your writers with those four questions as non-negotiables. Claim: a position-12 keyword with a properly engineered update hits page 1 in 15 to 30 days (5 to 7 days for low-competition terms).
Client reporting cascade (three questions). What happened? Never present a raw percentage in isolation; show this month vs last month, this month vs the same month last year, and vs the agreed baseline, and always show what went up alongside what went down. Why? Rankings held but traffic dropped is not your SEO (seasonal volume, or a featured snippet / PAA box stealing clicks); rankings dropped means check competitors, technical regression, cannibalization, or an algorithm re-weighting; rankings improved but traffic dropped is a CTR problem (meta title/description not compelling). What are we doing about it? Never present a problem without a proposed solution; pair every negative number with a next action, a timeline, and an owner (example: "Traffic dropped in the Scottsdale service area; we are publishing two localized landing pages by next Friday and expect impression recovery within 45 days").
The gorilla protocol (closing). Audit brutally, translate the data so humans understand it, execute the hierarchy. Action: run a GeoGrid, export real anchor text, and ask the AI advisor to translate GA4 drops. "Once you see them, you can't unsee them."
Slides
No deck was provided for Andrew's harness-engineering talk or for Elias's gorillas talk. The deck below is included for reference only.
Caption / warning: This deck ("Vibe Coding for Non-Coders") is authored by Aaron Gruenke, a DIFFERENT presenter built around Lovable.dev, and does NOT correspond to the transcribed Day 1 vibe-coding talk given by Andrew of Thorbit.ai. Do not attribute these slides to Andrew. They are preserved here only because the deck file was filed alongside this session.
Slides (11) - Aaron Gruenke deck (different speaker; not Andrew)
Source
Synthesized from the 2026 SEO Spring Training Day 1 conference recording of the paired Andrew (Thorbit.ai) and Elias Levadaros (Link Profiler Pro / SEO Neo) session. The only deck file on hand is aaron-gruenke-seo-st-vibecoding-rev5, which belongs to a separate "Vibe Coding for Non-Coders" talk by Aaron Gruenke and is shown above for reference only. The session had no published timestamps, so claims are anchored to a speaker and topic. Speaker surname "Ansley" and the exact spelling of "Eleftherios Livadaras" are unconfirmed from the recording.