# NodeBench AI — Demo Video Script

## VIDEO METADATA

| Field | Value |
|-------|-------|
| **Title** | NodeBench AI — Your Company's Operating Intelligence |
| **Duration** | 4:25 (265 seconds) |
| **Resolution** | 3840x2160 (4K), export 1920x1080 for web |
| **Aspect ratio** | 16:9 |
| **Frame rate** | 60fps (UI animations), 30fps export |
| **Audio** | Narrator VO (warm, mid-pace, practitioner tone) + ambient music |
| **Music** | Lo-fi ambient electronic, 70 BPM, no lyrics. Reference: "Weightless" by Marconi Union at 40% volume. Fade up during transitions, duck under narration. |
| **Color grade** | Match product palette: dark backgrounds (#151413), warm terracotta (#d97757) highlights, glass card reflections |

---

## COLD OPEN (0:00 - 0:10)

[MUSIC] Ambient pad fades in from silence over 3 seconds.

[SCREEN] Black screen. After 2 seconds, white text fades in, centered, Manrope font:

> **You hired AI agents.**
> **Who's managing them?**

Text holds for 4 seconds, then dissolves to black over 1.5 seconds.

[SFX] Subtle glass chime on text reveal.

---

## ACT 1: FIRST CONTACT (0:10 - 1:10)

**Persona:** Sarah, solo founder with a restaurant tech idea. First time visiting the site.

**Route:** `https://www.nodebenchai.com` (landing) then click to `/founder`

### 0:10 - 0:20 — Landing page hero

[SCREEN] Browser opens to `https://www.nodebenchai.com`. The landing page loads with the dark background (#151413). The hero text renders in large Manrope type:

> **Your company's** *operating intelligence*

Below it, the subtitle: "NodeBench is the founder dashboard that monitors your agents, interprets what changed, and tells you what to do next." Below that, the terracotta CTA button: **"Run a Decision Packet"**.

[NARRATION] "Sarah has a startup idea — restaurant inventory powered by AI. She doesn't have a pitch deck. She doesn't have a co-founder. She's Googling tools that can help her think clearly."

[SFX] Soft page-load whoosh.

### 0:20 - 0:38 — Decision Packet preview

[SCREEN] Camera pans down (smooth scroll) to the Decision Packet preview section below the fold. A glass card shows a sample packet with:
- A question: "Should we raise a Series A?"
- A recommendation block with evidence scoring
- Ranked variables (market timing, founder-market signal, competitive density)
- Scenario cards showing outcomes

The cursor hovers over the variables — subtle hover glow on each row.

[NARRATION] "The first thing she sees isn't a feature list. It's a Decision Packet — a real example of what NodeBench produces. A question, ranked variables, scenarios, and a recommendation backed by evidence scores. Not a slide deck. A decision."

### 0:38 - 0:50 — Navigate to Founder Dashboard

[SCREEN] Cursor moves to the left sidebar. The **Founder** section is visible with three items: Dashboard, Command Center, Agent Oversight. Cursor clicks **Dashboard**.

Page transitions to `/founder`. The Founder Dashboard loads with a staggered fade-in animation. Six content blocks appear in sequence:

1. **Company Identity Card** — "Meridian AI" with logo, mission statement, identity confidence bar
2. **What Changed** — event feed
3. **Recommended Actions** — ranked intervention cards
4. **Initiatives** — grid of project cards
5. **Agent Activity** — agent status rows
6. **Today's Briefing** — daily memo

[SFX] Subtle card-stack reveal sound (soft clicks, 60ms apart).

[NARRATION] "She clicks Dashboard in the Founder section and sees a demo company — Meridian AI. This is what a fully running founder workspace looks like."

### 0:50 - 1:10 — Company Identity close-up

[SCREEN] Camera zooms into the Company Identity Card. Visible:
- Company name: **Meridian AI**
- Mission statement
- Identity confidence bar (percentage filled, terracotta accent)
- Status indicators for each dimension

The cursor hovers over the confidence bar — a tooltip or label reads "Identity confidence."

[NARRATION] "The identity card isn't a profile page. It's a living model of the company — mission, wedge, stage, confidence level. NodeBench updates this as the company evolves. The confidence bar tells you how well-defined your company's identity is. Meridian AI is the demo. In a moment, Sarah will build her own."

[MUSIC] Music dips slightly, transition beat.

---

## ACT 2: COMPANY IDENTITY (1:10 - 2:10)

**Persona:** Same Sarah, setting up her company for the first time.

**Route:** `https://www.nodebenchai.com/founder/setup`

### 1:10 - 1:22 — Setup wizard landing

[SCREEN] Cursor clicks **Company Setup** in the sidebar (or navigates to `/founder/setup`). The Company Setup wizard loads. Step 1 of 4 is active. The heading reads:

**"How are you starting?"**

Three mode cards appear side by side, each a glass card with an icon:

| Card | Icon | Description |
|------|------|-------------|
| **Start Fresh** | Sparkles | "I have an idea but no existing company" |
| **Continue Building** | Building | "I have an existing project, repo, or business" |
| **Merge & Clarify** | Git Merge | "I have multiple projects that might be one company" |

[NARRATION] "She clicks Company Setup. Three paths. No wrong answer. If you have fragments of an idea — that's enough."

[SFX] Card hover: glass tap sound.

### 1:22 - 1:38 — Selecting "Start Fresh" and filling details

[SCREEN] Cursor clicks **Start Fresh**. The card highlights with a terracotta border. The wizard advances to Step 2: Business Details.

Three input fields appear:
- **Idea fragments** (textarea) — cursor clicks in and types: `"AI that predicts restaurant inventory waste before it happens"`
- **Market area** — types: `"restaurant operations"`
- **Motivation** — types: `"I managed a cafe for 3 years. Threw out $400/week in spoiled produce."`

Typing is shown at 2x speed with a realistic keystroke cadence.

[NARRATION] "Start Fresh. She types three sentences. Not a business plan — fragments. What the idea is, where it lives, and why she cares."

### 1:38 - 1:55 — AI generates company profile

[SCREEN] Cursor clicks the **Next** arrow button. A loading shimmer plays across the next panel (2 seconds). Step 3: Company Profile appears.

A glass card shows the AI-generated profile:
- **Name:** RestaurantOps Labs
- **Mission:** "Make restaurant operations more accessible through intelligent tooling and research-backed insights."
- **Wedge:** "Inventory waste prediction for independent restaurants"
- **State:** Pre-product
- **Confidence:** 42%
- **Open Questions:**
  - "What data sources will restaurants connect?"
  - "Will you target chains or independents first?"

Each field has a small pencil edit icon. The confidence bar is partially filled in terracotta.

[SFX] Soft generation chime — ascending two-note tone.

[NARRATION] "NodeBench generates a company profile from those fragments. Name, mission, wedge, and — critically — a 42% confidence score. That's honest. It flags the open questions that would raise that number. No fake certainty."

### 1:55 - 2:10 — Emphasis beat

[SCREEN] Camera zooms slowly into the "Open Questions" section. The two questions are highlighted with a subtle pulse.

[NARRATION] "No business plan required. Fragments are fine. NodeBench turns ambiguity into structure and tells you exactly what's still unclear. That's the starting point — not a polished pitch, just enough clarity to move."

[MUSIC] Transition swell — music lifts briefly, then settles.

---

## ACT 3: MORNING BRIEFING (2:10 - 3:10)

**Persona:** Marcus, founder of Meridian AI (the demo company), checking in at 7am.

**Route:** `https://www.nodebenchai.com/founder`

### 2:10 - 2:25 — Dashboard overview

[SCREEN] Page is already on `/founder` (Founder Dashboard). The camera pulls back to show the full dashboard. Marcus's cursor moves to the **What Changed** section.

The section header reads "WHAT CHANGED" in small uppercase tracking. Five event cards are visible, each with a type icon and color:

- Signal (sky blue radio icon): "EU carbon credit spot price dropped 4.2%..."
- Agent (violet bot icon): "pricing-engine agent completed cost model v2..."
- Initiative (green target icon): "Pricing engine MVP moved to testing — 3 integration tests still failing"
- Decision (amber lightbulb icon): "Board approved Q3 pilot timeline..."
- Signal: "Competitor filed patent on real-time pricing..."

Each card shows a timestamp and a brief description.

[NARRATION] "Seven AM. Marcus opens his dashboard. Five things happened overnight. He didn't dig through Slack, email, or CI logs. NodeBench already collected, categorized, and surfaced what changed."

[SFX] Subtle notification grouping sound — soft stack.

### 2:25 - 2:45 — Recommended Actions

[SCREEN] Camera scrolls down to **Recommended Actions**. Five intervention cards are ranked vertically, each with:
- Priority rank number (1-5)
- Title
- Confidence percentage
- A colored priority bar (terracotta fill proportional to confidence)

The top card reads:
> **#1 — Fix 3 failing integration tests in pricing engine before pilot launch**
> 91% confidence

Cursor clicks the top card. It expands slightly or highlights with a brighter border, indicating acceptance.

[NARRATION] "Below that — five recommended actions, ranked by confidence. Number one: fix three failing integration tests. 91% confidence this is the highest-leverage thing he can do today. He accepts it. NodeBench will track completion."

[SFX] Accept action: crisp click + subtle confirmation tone.

### 2:45 - 3:00 — Initiatives and Agents

[SCREEN] Camera continues scrolling. The **Initiatives** grid shows 6 project cards with status badges:
- Active (green), Blocked (red), Paused (amber), Completed (sky blue)

Below that, **Agent Activity** shows 4 agent rows:
- pricing-engine (healthy, green dot)
- market-scanner (healthy, green dot)
- competitive-watcher (waiting, amber dot)
- tradeflow-integrator (blocked, red dot)

Each row shows agent type (claude_code, openclaw, background) and last action.

[NARRATION] "Six initiatives with live status. Four agents reporting in — two healthy, one waiting, one blocked. Marcus sees the entire state of his company in a single scroll."

### 3:00 - 3:10 — Today's Briefing

[SCREEN] Camera scrolls to the final block: **Today's Briefing**. A glass card with the daily memo:

> "Pricing engine is 90% done but the 3 failing tests block the TradeFlow pilot launch scheduled for next week."

A recommended first action is highlighted below.

[NARRATION] "Every morning, NodeBench tells you what happened, what matters, and what to do next. That's the loop. Not a dashboard you stare at — a briefing you act on."

[MUSIC] Brief dip, tension build into Act 4.

---

## ACT 4: COMMAND CENTER (3:10 - 4:00)

**Persona:** Same Marcus, dispatching work to his agents.

**Route:** `https://www.nodebenchai.com/founder/command`

### 3:10 - 3:22 — Command Center layout

[SCREEN] Cursor clicks **Command Center** in the sidebar. The page transitions to `/founder/command`. A Slack/Discord-like interface loads with:

- **Left panel:** Conversation list — four agents listed:
  - Carbon Analyst (claude_code) — "Found 23 carbon credit pricing datasets..." — 2 unread
  - Compliance Monitor (openclaw) — "Waiting for API access approval..." — active task indicator
  - Research Scout (claude_code) — "Expanding scope — found 3 adjacent market reports"
  - Ops Runner (background) — "Nightly CI pipeline completed — 0 failures"

- **Center panel:** Active conversation thread
- **Right panel:** Agent detail sidebar (collapsible)

The Carbon Analyst conversation is highlighted (2 unread badge).

[NARRATION] "The Command Center is where Marcus talks to his agents. Not through YAML files or config dashboards — through conversation. Each agent has a thread."

[SFX] Chat interface load — subtle message-stack sound.

### 3:22 - 3:40 — Carbon Analyst thread

[SCREEN] Cursor clicks **Carbon Analyst**. The center panel shows the conversation thread:

1. **Founder** (Marcus): "Can you pull together all the carbon credit pricing data from our repo? I need it for the investor deck."
2. **Orchestrator** (system): "Task created: Retrieve carbon credit pricing datasets"
3. **Orchestrator**: "Task dispatched to Carbon Analyst"
4. **Carbon Analyst** (agent): "Scanning repository... found 23 files matching carbon/credit/pricing patterns"
5. **Carbon Analyst** (task_result): "Found 23 carbon credit pricing datasets across 4 directories. Key findings: EU ETS spot prices (daily), Verra VCU historical (monthly), Gold Standard CER (quarterly), internal model outputs (hourly)." — Status: **COMPLETED** with green checkmark

The right panel shows agent info: type claude_code, status healthy, capabilities listed.

[NARRATION] "He asked the Carbon Analyst to pull pricing data. The orchestrator created a structured task, dispatched it, and the agent scanned 23 files and reported back with findings. Completed. Evidence attached."

### 3:40 - 3:55 — Compliance Monitor approval request

[SCREEN] Cursor clicks **Compliance Monitor** in the conversation list. The thread loads:

1. **Founder**: "TradeFlow wants our SOC 2 compliance timeline. Can you check where we stand?"
2. **Orchestrator**: "Task created: Check SOC 2 compliance status"
3. **Compliance Monitor** (approval_request): "I need API access to your compliance tracking platform (Vanta) to pull current SOC 2 readiness data. This requires read-only OAuth access."
   - Risk level badge: **MEDIUM** (amber)
   - Expiry indicator: "23h remaining"
   - Two buttons: **Approve** (terracotta) / **Reject** (muted)

The approval request card is visually distinct — bordered with an amber accent, shield icon visible.

[NARRATION] "The Compliance Monitor hit a boundary. It needs Vanta API access — medium risk — and it's asking Marcus for permission. Approve or reject, with a 23-hour expiry. The agent doesn't just act. It escalates when the stakes require a human decision."

[SFX] Approval notification — double-tap chime.

### 3:55 - 4:00 — WebSocket architecture callout

[SCREEN] A subtle overlay or lower-third graphic appears briefly showing the data flow:

> **Founder** <--> **NodeBench** <--> **Claude Code / OpenClaw (WebSocket)**

The arrows pulse to indicate bidirectional communication.

[NARRATION] "This isn't just a dashboard. NodeBench sends structured tasks to your Claude Code and OpenClaw agents through an outbound WebSocket. Your agents report back with evidence and ask for approval when the risk requires it."

[MUSIC] Music builds slightly, transition into final act.

---

## ACT 5: VOICE + RESEARCH (4:00 - 4:10)

**Persona:** Lisa, an investor reviewing a portfolio company.

**Route:** `https://www.nodebenchai.com/?surface=research` then agent panel

### 4:00 - 4:20 — Research Hub

[SCREEN] Browser navigates to `/?surface=research`. The Research Hub loads. The **Daily Brief** section is visible with:
- Header: "The Daily Brief"
- An **Executive Synthesis** block summarizing the day's signals
- Source badges and verification indicators

The cursor scrolls through the brief content — signal cards, market data, competitive intelligence.

[NARRATION] "Lisa is an investor. She opens the Research Hub to check on a portfolio company. The Daily Brief gives her an executive synthesis — verified signals, market shifts, competitive moves — all in one scroll."

### 4:20 - 4:35 — Voice and Agent Panel

[SCREEN] Cursor clicks the **Ask NodeBench** button in the right rail. The Agent Panel slides open from the right side.

The input bar at the bottom shows:
- Text input field with placeholder text
- A **Mic** icon button (microphone) for voice input
- A Send button

Camera zooms briefly to the mic icon, then pulls back to show the full panel with suggestion chips.

[NARRATION] "She opens the agent panel. There's a mic button in the input bar — talk to NodeBench from your browser, your phone, or any device. Voice in, voice out, powered by ElevenLabs. The same interface agents use to report back is the way founders and investors stay informed on the go."

[SFX] Panel slide-open whoosh. Mic button highlight pulse.

---

## CLOSING (4:10 - 4:25)

### 4:35 - 4:45 — Product statement

[SCREEN] The agent panel and Research Hub fade to black. Center of screen, white text fades in (Manrope, large):

> **NodeBench AI**

Below, smaller:

> **Your company's operating intelligence.**

Below that, the URL in terracotta (#d97757):

> **nodebenchai.com**

Text holds for 6 seconds.

[NARRATION] "NodeBench. Your company's operating intelligence."

[MUSIC] Music swells gently to close, fades out over final 3 seconds.

[SFX] Final glass chime — same as cold open, completing the audio loop.

---

## PRODUCTION NOTES

### Narration summary

| Act | Duration | Word count (approx) |
|-----|----------|---------------------|
| Cold open | 10s | 0 (text only) |
| Act 1: First Contact | 60s | 200 |
| Act 2: Company Identity | 60s | 180 |
| Act 3: Morning Briefing | 60s | 175 |
| Act 4: Command Center | 50s | 170 |
| Act 5: Voice + Research | 35s | 80 |
| Closing | 15s | 8 |
| **Total** | **~4:25** | **~813** |

### Transition style

Between each act, use a 1.5-second crossfade with the background darkening to pure black (#000) then lifting to reveal the next scene. No hard cuts. The music provides continuity — it never fully stops, only ducks and swells.

### Screen capture specifications

- **Browser:** Chrome, clean profile, no extensions visible, no bookmarks bar
- **Window:** Centered, 1440x900 visible viewport (toolbar visible for URL authenticity)
- **URL bar:** Must show `nodebenchai.com` routes clearly
- **Cursor:** macOS default arrow, visible at all times, smooth movement (no teleporting)
- **Scroll:** Smooth scroll (CSS `scroll-behavior: smooth`), 400ms duration per scroll action
- **Typing:** Realistic cadence, ~60 WPM with occasional natural pauses
- **Click feedback:** Cursor should briefly compress or show the native click animation

### Click targets by act

| Act | Element | Location |
|-----|---------|----------|
| 1 | Sidebar "Dashboard" under Founder section | Left rail, ~200px from top |
| 2 | Sidebar "Company Setup" or step-indicator | Left rail, below Dashboard |
| 2 | "Start Fresh" mode card | Center panel, leftmost of 3 cards |
| 2 | "Next" button | Bottom-right of step content |
| 3 | "What Changed" section | Scroll target, ~400px below identity card |
| 3 | Top intervention card (#1) | First card in Recommended Actions block |
| 4 | Sidebar "Command Center" | Left rail, under Founder section |
| 4 | "Carbon Analyst" conversation | Left panel of command view, first item |
| 4 | "Compliance Monitor" conversation | Left panel, second item |
| 5 | Research surface in top nav | Surface switcher or sidebar |
| 5 | "Ask NodeBench" button | Right rail CTA |

### Audio layers

1. **Music bed** — continuous, 70 BPM ambient electronic, -12dB under narration, -6dB during transitions
2. **Narrator VO** — recorded dry (no reverb), normalized to -3dB, warm baritone or alto, conversational pace
3. **SFX layer** — UI sounds at -18dB (subtle, never distracting):
   - Glass chime (open/close)
   - Card reveal (soft click cascade)
   - Page transition (whoosh)
   - Notification (double-tap)
   - Confirmation (ascending two-note)
   - Mic activation (pulse)

### Narration direction

- **Tone:** Practitioner explaining what they built, not a sales pitch. Think "experienced founder showing another founder their setup."
- **Pace:** 150 words per minute. Slightly faster during screen transitions, slower during key reveals.
- **Pauses:** 1-second pause before each new concept. 2-second pause at act transitions.
- **Avoid:** "Revolutionary," "game-changing," "disrupting," "leverage," "synergy." Just describe what it does.
- **Preferred language:** "This is," "Here's what happens," "What you're seeing," "The idea is simple."

### Post-production checklist

- [ ] All URLs resolve to `nodebenchai.com` (not localhost)
- [ ] No console errors visible in any frame
- [ ] Demo data matches current fixtures (Meridian AI, 5 changes, 5 interventions, 4 agents)
- [ ] Sidebar shows "Founder" section with Dashboard, Command Center, Agent Oversight
- [ ] Company Setup shows 3 modes: Start Fresh, Continue Building, Merge & Clarify
- [ ] Command Center shows 4 agent conversations with Carbon Analyst and Compliance Monitor threads
- [ ] Glass card styling visible (subtle borders, frosted backgrounds)
- [ ] Terracotta accent (#d97757) used on CTAs, highlights, and confidence bars
- [ ] Dark theme throughout — no white flashes between transitions
- [ ] Font rendering: Manrope for UI text, JetBrains Mono for any code/technical content
- [ ] Reduced motion: all animations complete within 300ms, no strobing or flashing
- [ ] Final export: H.264, AAC audio, 1080p minimum, thumbnail extracted from closing card
