← All changelog entries
May 26, 2026 · Feature

Giving May 27 a Spine — Three Breakout Tracks From Yes to Win

Seven survey responses came back from 49 registrants. Rather than retrofit a thin pre-session report, we built the session's structural backbone — three jigsaw breakout tracks that each start at the moment of full-body conviction and fork by which wall comes next, a session-page teaser that renders them at the end of the Format section, and a host script for the closing question that splits the room into a willing-and-able doer cohort and a hear-back audience cohort for June 24.

Authors
Michael Staton
Augmented with
Claude Code on Opus 4.7
Tags
#Breakouts#Jigsaw#Session-Design#May-27-Prep#Agentic-VC-Dojo#All-Hands#LP-Syndication#IC-Memo#Content-Architecture#Frontmatter-Driven

Giving May 27 a Spine — Three Breakout Tracks From Yes to Win

Why Care?

The April 29 launch session got a 67% pre-session survey response (40 of 60 registrants gave substantive answers), which seeded a rich rendering on the session page — experience distribution, tool-stack matrix, firms represented, parsed quotes. The May 27 monthly all-hands got 14% (7 of 49). Same audience, same site, very different questions: April asked about you (your AI experience, your tool use, what you want); May asked about your firm’s processes (do you run SPVs, do your LPs want direct co-invest opportunities). People register fast and skip surveys that ask them to commit, speculate, or speak for the firm.

Two responses to the same data were available. The first was to build a thinner version of the April-style analytics. We tried that mentally and didn’t like it — seven responses on a chart implies more rigor than the data supports. The second was to let the session itself do the work — replace the pre-session report with live polls during, jigsaw breakouts that produce publishable artifacts, and a closing question that turns the audience into next month’s cohort. That’s the route we took, and this entry covers the bones we built for it.

What’s New?

Track”I have to…”The wall
Internal Conviction → ICget others on my team on boardPrepare, socialize, get on the IC, prove this is “our” kind of deal
Syndicate to VCsbring in a powerful syndicate alongside meFounder has the round half-circled — make sure the company gets value-add neighbors
Offer to LPspackage the opportunity for LPs who want co-investTranslate fast-moving deals into something LPs can digest on their slower clock
  • Three breakout track pages under /breakouts/from-yes-to-win — each starts at the same hinge (“you have personal conviction on a deal”) and forks by which obstacle is actually between you and the wire transfer.
  • Five-question rail per track — current state vs. ideal, the agent’s job description (musts vs. wants), prior art, personal toolkit gap, and a self-sort closer for June 24.
  • A four-field one-pager artifact every group fills out in the last 90 seconds: workflow + tool + metric + dojo-ask. Same shape across all three tracks, so report-backs land cleanly and the artifacts can publish as /projects/proposed entries.
  • Section__BreakoutsTeaser on the session page — renders at the end of the Format section. Three compact cards link to the detail pages plus a “see all questions, the artifact, and the host script” link to the index.
  • Frontmatter-driven activation — sessions opt in via breakouts: <slug> in their .md. Drop a new data file under src/data/breakouts/, set the slug on next month’s session, the same pipeline renders the new content.
  • Host script for the Q5 moment lives on the breakouts index — stage directions for when to open the poll, what to say after results display, and the doer-cohort handoff.
  • Format section rewritten on the May 27 session markdown: Dojo Convening → Account Setup & Polls Orientation → Two lightning demos → Live polls → Three breakout tracks → Report-backs, Q&A, and the willing-and-able question for June. Replaces the prior placeholder (“Three presenter demos (TBD)”).
  • New tool profile: mindstudio.md under src/content/tools/.

The Story

The design rhythm was iterative across a long session-prep conversation. The first cut had two parallel breakout topics — “Pipeline” (sourcing → memo) and “Syndication” (allocation → close), split into two sub-groups each by stage. Halfway through we re-framed: the entry point for every breakout should be the moment of personal conviction (“you have full-body yes on the deal”), and the fork should be what stands between you and the wire transfer. That re-framing exposed three obstacles, not two: getting the team to yes (Internal → IC), assembling the syndicate (Syndicate → VCs), and packaging for LPs (Offer to LPs).

The question architecture also moved. The initial sketch was one discussion prompt per track. We worked through to a five-question structure with a deliberate arc — current state vs. ideal, the agent’s job description (musts vs. wants), prior art, personal toolkit gap, and a self-sort closer. The closer is the load-bearing one: rather than asking what to demo next month (we’ll know that from the artifacts), it asks whether each individual is willing and able to dig in for four weeks. That’s the question that turns a session into a working group.

April 29:                              May 27:
  60 registered                          49 registered
  40 surveyed (67%)                       7 surveyed (14%)
       ↓                                       ↓
  Rich pre-session analytics           Thin pre-session signal
  (charts, quotes, firm list)          ↓
                                       Pivot — let the session
                                       do the work in real time
                                       (live polls + jigsaw
                                        breakouts + Q5 sorter)

The architecture for the content itself was the last call. The session page already renders structured presenter cards at the top via Section__WebinarPresenters, and the markdown body had a stale ## Presenters / To be confirmed placeholder right after the Format section. Removing the placeholder made “end of Format” the natural insertion point for the breakouts teaser. The teaser renders conditionally — only when data.breakouts is set in frontmatter — so existing sessions don’t change at all.

How It Works

One typed data file is the source of truth for the whole feature:

// src/data/breakouts/from-yes-to-win.ts
export const FROM_YES_TO_WIN: BreakoutSession = {
  parent: 'from-yes-to-win',
  title: 'From Yes to Win',
  lede: "You know you want to do this deal. Full body yes. What's between you and the wire transfer?",
  entryState: "...",
  tracks: [
    { slug: 'internal-to-ic', shortName: 'Internal → IC', title: '...', hook: '...', reality: '...', starterExample: '...', agentHints: [...] },
    { slug: 'syndicate-to-vcs', ... },
    { slug: 'offer-to-lps',    ... },
  ],
  questions: [ /* 5 questions w/ lens */ ],
  artifactFields: [ /* 4 fields */ ],
};

A single BreakoutTrack.astro component renders one track end-to-end (header → entry state → starter example → questions → artifact). Each track page is ~15 lines — imports the data, picks its slice via getTrack(slug), passes it to the component. The index page maps over all three tracks for the card grid, then renders the universal questions, artifact spec, host script, and 4-week coordination spine inline.

The session-page teaser hooks in through a generic glob loader:

const breakoutModules = import.meta.glob<Record<string, any>>(
  '../../data/breakouts/*.ts',
  { eager: true }
);
const breakoutData = data.breakouts
  ? Object.values(breakoutModules[`../../data/breakouts/${data.breakouts}.ts`] ?? {}).find(
      (v: any) => v && typeof v === 'object' && v.parent === data.breakouts
    ) ?? null
  : null;

That picks the first exported const whose .parent matches the slug — so the data file can name its const anything (FROM_YES_TO_WIN, FROM_WIN_TO_HOLD, etc.) without coupling the convention to the variable name.

The schema addition is one line of Zod on the sessions collection:

breakouts: z.string().optional(),

That’s the whole frontmatter contract. Any future session that wants the same treatment sets breakouts: <slug> and drops a matching data file. The pipeline composes; no per-session glue code.

Files Touched

New:

src/data/breakouts/from-yes-to-win.ts                       — typed source of truth (3 tracks, 5 questions, 4 artifact fields)
src/components/breakouts/BreakoutTrack.astro                — shared track-detail renderer
src/components/sections/Section__BreakoutsTeaser.astro      — compact teaser embedded in the session page
src/pages/breakouts/from-yes-to-win/index.astro             — umbrella: framing, 3 cards, questions, artifact, host script, coordination spine
src/pages/breakouts/from-yes-to-win/internal-to-ic.astro    — thin: imports data + component
src/pages/breakouts/from-yes-to-win/syndicate-to-vcs.astro  — thin: imports data + component
src/pages/breakouts/from-yes-to-win/offer-to-lps.astro      — thin: imports data + component
src/content/tools/mindstudio.md                             — new tool profile

Modified:

src/content.config.ts                                       — added breakouts: z.string().optional() to session schema
src/pages/sessions/[id].astro                               — glob loader + <Section__BreakoutsTeaser> after markdown body when data.breakouts set
src/content/sessions/2026-05-27_monthly-all-hands.md        — breakouts: from-yes-to-win, removed stale ## Presenters block, rewrote Format bullets, trimmed FOMO callout

All breakout pages and the index are prerender = true and noindex: true — reachable for tomorrow’s session but kept out of search indices.

What’s Next

  • Tomorrow (May 27). Run the session. Watch Q5 results — what’s the doer-cohort size? Anything above ~8 people is enough to run a 4-week sprint with track-level conveners.
  • Within 48 hours of May 27. Stand up the coordination spine: one named 30-min check-in (June 10 or 17), one async surface (Slack channel or shared doc — not both), one convener per active track from the doer cohort. The four weeks between sessions is where dojos die; the spine is the bare minimum to survive.
  • June 24 monthly all-hands. Built around what the doer cohort surfaces. The willing-and-able cohort presents, the hear-back cohort listens. The session frontmatter for June 24 will set breakouts: <next-slug> — possibly “From Win to Hold,” possibly something else if the room signals differently.
  • [[2026-05-21_01]] — Google OAuth + link-while-logged-in (the upstream auth work that makes the polls actually capture votes)
  • [[releases/v0.0.8_multi-column-stack-editor-and-turso-storage]] — the broader May-27-prep release: stacks on Turso, three-bucket drag-drop editor, Google as third peer provider
Files modified (11)
  • src/data/breakouts/from-yes-to-win.ts
  • src/components/breakouts/BreakoutTrack.astro
  • src/components/sections/Section__BreakoutsTeaser.astro
  • src/pages/breakouts/from-yes-to-win/index.astro
  • src/pages/breakouts/from-yes-to-win/internal-to-ic.astro
  • src/pages/breakouts/from-yes-to-win/syndicate-to-vcs.astro
  • src/pages/breakouts/from-yes-to-win/offer-to-lps.astro
  • src/content.config.ts
  • src/pages/sessions/[id].astro
  • src/content/sessions/2026-05-27_monthly-all-hands.md
  • src/content/tools/mindstudio.md