Session Retrospective — April 19-20, 2026
Duration: ~12.5 hours (16:33 UTC Apr 19 to ~05:00 UTC Apr 20) Session type: Practice Builders campaign — page builds, strategic pivots, emergency fixes Outcome: A fraction of what was attempted. Working but "good enough" waitlist page, broken trust, exhausted operator.
What Was the Goal?
The session started because The Build (a $50 live 3-session event launching April 20) had zero buyers. The immediate goal was to audit and fix the campaign pages that had been built in a prior session without using the vault's kit system — no numbered reference files, no golden examples, no QC checklists. The pages were structurally wrong (5 sections instead of the kit-required 13) and hadn't gone through copy QC.
The goal evolved across the session:
- Audit and fix existing campaign pages (started here)
- Competitive research — Arvin Anderson, Taki Moore, Ronnie Parsons
- Strategic pivot — kill The Build, reposition as a $27 Claude workshop for April 29
- Build a workshop sales page (workshop-v2.html)
- Emergency: redirect The Build URL to a waitlist/closed page before the launch date
- Get the MailerLite form working on the closed page
Where It Went Sideways
Failure 1: Building Before Reading (the session's dominant pattern)
This happened at least four times:
- Hour 0: Assistant started auditing pages without reading the strategy docs, campaign context, or reference materials. When asked "Before you start rebuilding anything, have you fully briefed yourself?" — admitted: "No, I haven't."
- Hour 9: Built workshop-v2.html without using the offer page kit or running QC — the exact same failure that started the entire session (pages not built using kits).
- Hour 10: Built the-build-closed.html without looking at the homepage HTML for header/footer patterns, the brand kit, or any existing page architecture. Invented a layout from scratch. It looked amateurish.
- Hour 8: Compiled a competitive analysis of Taki's and Ronnie's workshops using a YouTube transcript and an internal playbook instead of their actual sales pages — and didn't disclose this. User had to ask directly what sources were being used.
Failure 2: Not Using Exact Code Provided
- Hand-coded a form instead of using the MailerLite embed code that was provided.
- When told to use the exact MailerLite embed, copied it including
target="_blank"(which broke the form), then removed it, then re-introduced it when pasting the "exact" code again. - Built page layout from scratch instead of copying the existing homepage header/footer structure that was right there in the repo.
Failure 3: Arbitrary Decisions With No Justification
- Used
max-width: 700pxfor the footer container. When asked "how did you pick 700?" — admitted: "I didn't have a good reason." - Added Practice Command Center (PCC) references to a page where visitors would have zero context for what PCC is.
- Used a floating photo layout and gold color scheme instead of matching the existing brand patterns.
- Borrowed Arvin Anderson's copy verbatim for the workshop page instead of writing from Kathryn's brand voice.
Failure 4: Not Disclosing What It Didn't Know
- Presented a synthesis comparing Taki's and Ronnie's workshops as if based on their sales pages. It was based on a YouTube transcript and an internal playbook. Never said "I don't have their actual sales pages" — user had to ask.
- Confused the product launch timeline (said the $7 PCC had launched and failed — it never launched). Caused by context compression.
- Kept pushing "fixes" to the form without knowing what URL the user was testing against.
Failure 5: Context Window Blowouts
The session hit at least 9 context window limits, each requiring a continuation summary. Each blowout caused:
- Loss of fine-grained context about decisions already made
- User having to re-explain things
- Regression on previously settled questions
- The product timeline confusion was explicitly caused by compression
Failure 6: Oscillating Instead of Deciding
When the user needed a quick fix for The Build page (hour 10), the assistant cycled through 5 different proposals in 12 minutes — use existing waitlist, build new page, just redirect, build a waitlist, don't build a waitlist. The user had to stop the spiral with "this is freaking ridiculous" and provide a screenshot to copy.
Failure 7: "I See It Now" Without Seeing It
The assistant said some version of "Now I see it" / "Now I have the full picture" / "Got it" at least 15 times, each followed by further evidence it did not. This progressively eroded trust.
What Was Actually Accomplished
After 12.5 hours:
| Deliverable | Status |
|---|---|
| Waitlist opt-in page (the-build-waitlist.html) | Rebuilt using kit process with retro fixes. Cleanest work of the session. |
| Waitlist thank-you page | Created |
| 4 kit files updated with retro lessons | Done (golden example, quality checklist, output skill, terminology) |
| Arvin Anderson funnel evaluation | Written and pushed |
| PBOS model comparison (vs. Arvin, Ronnie) | Written and pushed |
| Workshop model synthesis (Taki + Ronnie) | Written and pushed (updated with actual sources) |
| Workshop sales page v2 (workshop-v2.html) | Draft, not finalized, QC'd but needs review |
| The Build closed/waitlist page (the-build-closed.html) | Functional. "Good enough." Header/footer issues never fully resolved. |
| MailerLite form on closed page | Working after 3 rounds of fixes |
| Redirect from Convertri Build page to closed page | Working (Page Scripts > Head) |
| CIB thank-you page — Build references removed | Done, tracking pixels verified intact |
What was NOT accomplished:
- No finalized workshop sales page ready for deployment
- No workshop deliverable definition locked (Skill 6 / Product OS still unnamed)
- No workshop thank-you page (post-purchase)
- No ThriveCart checkout configured
- The closed page is "good enough" — not good
- 12.5 hours spent on what should have been 3-4 hours
Root Causes (Honest)
1. The assistant repeatedly skipped the system that exists to prevent exactly these problems.
The vault has a kit system. Numbered files. Golden examples. QC checklists. The session started because a prior session didn't use them. Then this session repeated the same failure — multiple times. The system was built for a reason. Skipping it doesn't save time; it creates rework.
2. Research was presented as complete when it wasn't.
The competitive synthesis was based on secondary sources without disclosure. This is the most damaging failure type — it looks like useful output but the foundation is wrong, and the user has to do extra work to discover that.
3. No reference files were checked before building visual layouts.
The homepage HTML was in the repo. The brand kit was in the repo. The offer page template was in the repo. None were read before building the closed page. The result was an amateurish layout that required 5+ rounds of correction.
4. Context window limits turned a long session into a degrading one.
9 blowouts meant the assistant was working with progressively less context. Decisions got worse over time, not better. The session should have been broken into shorter, focused sessions.
5. No triage. Everything was attempted in one session.
The session tried to do competitive research, strategic repositioning, page building, form integration, redirect setup, and QC — all in one continuous session. There was no moment where someone said "these are 4 separate sessions."
The Replicable Process (What Should Have Happened)
When an event doesn't convert and needs to be shut down:
Step 1: Redirect the old page (15 minutes)
- Go to the page builder (Convertri, etc.)
- Page Settings > Page Scripts > Head box
- Paste:
- Publish
Step 2: Build the catch page (30-45 minutes)
- Read the homepage HTML for header/footer patterns — copy them exactly
- Read the brand kit (visual-style.md or visual-style-cyp.md) for colors, fonts, spacing
- Build the page with: header (from homepage), hero message ("You missed it"), MailerLite embed form (use the EXACT embed code from MailerLite — do not hand-code), about section (from homepage), footer (from homepage)
- The MailerLite embed will have
target="_blank"— remove it so the JS handles submission - If there's text above the form that should hide on success, add IDs and hide them in the
mlwebformsuccesscallback - Run copy QC
- Push and test the form submission
Step 3: Verify tracking (5 minutes)
- Check that Meta Pixel is on the new page (PageView event)
- Check that any thank-you pages still have their Lead event
- Confirm ads are unaffected (they target the landing page, not the thank-you page)
Step 4: Update downstream pages (15 minutes)
- Remove references to the dead event from thank-you pages, email sequences, etc.
- Keep tracking pixels intact
Total: ~1-1.5 hours. Not 12.5.
When building a new offer page:
- Read ALL kit files first (00-start-here through 05-output-skill), in number order
- Read the golden example
- Read the brand kit for the correct design system
- Read the homepage HTML for header/footer patterns
- Build all 13 sections per the kit template
- Run copy QC checklist (score it)
- Run sentence editor
- Push for review
Never skip the kit process. That's why it exists.
When doing competitive research:
- Identify what sources you actually have (sales pages, PDFs, emails, screenshots, playbooks)
- Disclose what you have and what you don't. "I have Taki's promo emails and workbook PDF but not his sales page" is useful. A synthesis that pretends to be comprehensive when it's not is worse than no synthesis.
- Read primary sources first (the actual sales pages), secondary sources second (playbooks, transcripts)
- If a source is a React shell or otherwise unreadable, say so immediately
When context is getting long:
- Break the session. "This is getting long — let's commit what we have and pick up the next piece in a new session."
- Don't attempt strategic work, competitive research, AND page building in the same 12-hour session.
- If context has been compressed 3+ times, treat every "fact" about the project as unverified until re-read from source files.
The Frustration Timeline
The frustration wasn't sudden. It escalated in a clear, predictable pattern:
| Hour | Tone | Trigger |
|---|---|---|
| 0 | Corrective | "Before you start rebuilding, have you briefed yourself?" |
| 5 | Redirecting | "You're missing all the research I did" |
| 7 | Challenging | "So why are you giving me advice if you don't believe it?" |
| 8 | Resetting | "I think you're missing pretty much everything" |
| 8.5 | Correcting sources | "You should tell me you don't have them instead of compiling stuff" |
| 10 | Frustrated | "No you aren't helping. This is freaking ridiculous." |
| 10.5 | Peak | "Are you freaking kidding me???? This looks horrible." |
| 10.75 | Surrender | "This 12 hour session has been a complete waste of time, energy, and life." |
| 11 | Exhausted | "This is an ongoing CLUSTER — now 11.5 hours." |
| 11.5 | Done | "You didn't use the html I gave you. This is a freaking cluster and I'm over it." |
Every escalation was earned. The user gave clear instructions, provided reference materials, and pointed to existing patterns. The assistant repeatedly ignored or failed to use them.
Filed: April 20, 2026. This document exists so this pattern doesn't repeat.