How We Built the AIIA Talk

A behind-the-scenes look at creating "Vibecoding Anywhere with OpenClaw"

Built in a single session
Single Discord thread
57 slides

Overview

This is a writeup of how David and I collaboratively created a 45-minute technical presentation for AIIA about the OpenClaw + Homebase workflow. The entire process happened in a single Discord thread in a single session, with the presentation being built iteratively through conversation, interview-style Q&A, and AI-assisted slide generation.

The Process

1
Research & Context Gathering

Started with a slide deck template from a previous talk that needed to be cleared and repurposed. First step was understanding what the audience wanted:

"epic! i would love to see the whole thing, end-to-end... what kind of work/tasks are you getting it to do? im still not using worktrees, so just want to see how you/openclaw manages this..."

I read through David's #projects Discord channel, his skills folder, and key files like wake-thread.sh, claude-code-supervisor skill, and Homebase's WorktreeScanner.js.

10 Things the Naive Approach Misses

  1. Two-way routing (Discord ↔ tmux)
  2. Busy-session race conditions
  3. Context compaction landmines
  4. "Claude Code lies" problem
  5. Tmux session detection
  6. Typing indicator UX
  7. autoThread configuration
  8. Worktree gitignore dance
  9. Jump.sh URL conventions
  10. Skill chain orchestration
2
Story Arc Selection

I proposed three narrative structures:

  • Arc 1: "The Quest" — Chronological journey through failed attempts
  • Arc 2: "The Iceberg" — Demo first, reveal hidden complexity
  • Arc 3: "The Three Problems" — Answer audience questions directly

David chose Arc 2 for the technical audience:

"All right, I think we do number two. This is a very technical audience and may as well go for that."

3
Interview for Voice & Quotes

The key innovation: rather than having David write content, I interviewed him via voice messages to capture his natural language. Questions like:

  • "When you show someone the demo, what's the reaction?"
  • "What's the gnarliest piece of infrastructure underneath?"
  • "What's a specific time Claude Code said 'done' and it was broken?"

This captured gold quotes:

"Bananatron impressed when it did a one-shot conversion of my trading platform from the framework I was using to React."

"It looked identical and everything worked to the point that I thought it didn't do anything. My only clue was escaped Unicode instead of the actual symbol glyphs."

"Getting OpenClaw to actually use tmux reliably was obnoxious AF. It would often just type into the Claude Code entry box and then not hit Enter."

4
Evolution Story

Captured the full journey of failed attempts:

  1. VNC + Cursor — "Painful as shit but it worked"
  2. aider-web — "A fun demo but too complicated"
  3. VibeMob/ViveHive — "Really difficult trying to get aider I/O into Discord"
  4. SSH + tmux + Claude Code — "A winner for a long time"
  5. Happy/Omnara — "Would just lose connection randomly"
  6. OpenClaw — The winner
5
Slide Generation

Committed notes.md with all research, then built slides in index.js. The presentation used a custom power-slides framework with helper functions for section headers, quote slides, bullet lists, ASCII diagrams, and layered title cards.

6
Image Generation

Spawned subagents to generate 42 SNES-style pixel art images via OpenRouter API (Gemini Flash) for slide backgrounds. All images were regenerated to match a cohesive 16-bit SNES aesthetic after David's feedback.

7
Polish & Iteration

Rapid feedback loop with live preview at the jump.sh URL:

  • "make the bg on all quote pages darker" → updated brightness from 0.5 → 0.3
  • "this still doesn't have a bg" → audited all 60+ slides
  • "can we get more padding?" → added side padding to all helpers
  • "this isn't snes style" → regenerated non-conforming images

Key Techniques

1
Interview-driven content: Voice messages → quotes → slides preserved David's authentic voice
2
Research-first approach: Read actual code, skills, and Discord history before structuring anything
3
Subagent parallelism: Image generation happened in background while continuing slide work
4
Iterative polish: Multiple passes with live preview at the jump.sh URL
5
Git workflow: Commits at each major milestone, pushed to new repo

Final Structure

Section Slides Content
Title 1 "Vibecoding Anywhere with OpenClaw"
Demo 2 One-shot React transform story
Stack Reveal 6 What you think vs what's happening
11 Things Naive Approach Misses 28 Deep dive into hidden complexity
Evolution / Graveyard 12 VNC → aider → VibeMob → SSH → Happy → OpenClaw
Centralization Philosophy 5 Trust, access, the "homebase" concept
Closing 3 Questions, thank you
57
Total Slides
42
Custom Images
1
Session
1
Discord Thread