{
  "collection": "videos",
  "label": "Videos",
  "url": "https://ajcwebdev.com/videos/",
  "author": "Anthony Campolo",
  "count": 120,
  "urls": {
    "html": "https://ajcwebdev.com/videos/",
    "markdown": "https://ajcwebdev.com/videos/index.md",
    "json": "https://ajcwebdev.com/videos/index.json"
  },
  "feeds": {
    "rss": "https://ajcwebdev.com/videos/rss.xml"
  },
  "entries": [
    {
      "title": "SolidJS Agent Doc Audit with Dev Agrawal",
      "slug": "solidjs-doc-audit-dev-agrawal",
      "collection": "videos",
      "contentType": "Video",
      "description": "Anthony Campolo and Dev Agrawal explore generative engine optimization, applying Joel Hooks' agent discovery skill to the SolidJS docs site.",
      "summary": "Anthony Campolo and Dev Agrawal explore generative engine optimization, applying Joel Hooks' agent discovery skill to the SolidJS docs site.",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "Anthony Campolo",
        "channelUrl": "https://www.youtube.com/channel/UCpdzti0GURPfMjKzYK5FVSA",
        "originalUrl": "https://www.youtube.com/watch?v=QFXyVBxy5D8"
      },
      "publishedAt": "2026-04-06T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2026-04-06T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/solidjs-doc-audit-dev-agrawal/",
        "markdown": "https://ajcwebdev.com/videos/solidjs-doc-audit-dev-agrawal/index.md",
        "json": "https://ajcwebdev.com/videos/solidjs-doc-audit-dev-agrawal/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-kicking-off-and-framing-generative-engine-optimization",
          "text": "00:00:00 - Kicking Off and Framing Generative Engine Optimization"
        },
        {
          "depth": 3,
          "id": "00-06-10-solid-base-markdown-routes-and-touring-joel-s-blog-post",
          "text": "00:06:10 - Solid Base, Markdown Routes, and Touring Joel's Blog Post"
        },
        {
          "depth": 3,
          "id": "00-13-14-crawl-policies-extractable-fragments-and-json-ld",
          "text": "00:13:14 - Crawl Policies, Extractable Fragments, and JSON-LD"
        },
        {
          "depth": 3,
          "id": "00-25-00-three-projections-llms-txt-and-code-base-maps",
          "text": "00:25:00 - Three Projections, LLMs.txt, and Code Base Maps"
        },
        {
          "depth": 3,
          "id": "00-30-56-the-agent-discovery-skill-itself",
          "text": "00:30:56 - The Agent Discovery Skill Itself"
        },
        {
          "depth": 3,
          "id": "00-38-34-skills-versus-agents-md-and-code-as-documentation",
          "text": "00:38:34 - Skills Versus AGENTS.md and Code as Documentation"
        },
        {
          "depth": 3,
          "id": "00-44-12-auditing-solid-docs-and-discovering-an-existing-pr",
          "text": "00:44:12 - Auditing Solid Docs and Discovering an Existing PR"
        },
        {
          "depth": 3,
          "id": "00-54-00-frameworks-absorbing-complexity-and-the-ad-driven-web",
          "text": "00:54:00 - Frameworks Absorbing Complexity and the Ad-Driven Web"
        },
        {
          "depth": 3,
          "id": "01-00-00-wrap-up-power-chat-demo-and-next-steps",
          "text": "01:00:00 - Wrap-Up, Power Chat Demo, and Next Steps"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "web",
        "ai"
      ]
    },
    {
      "title": "Sync Engines with Dev Agrawal",
      "slug": "sync-engines-dev-agrawal",
      "collection": "videos",
      "contentType": "Video",
      "description": "Anthony Campolo and Dev Agrawal discuss sync engines, PowerSync's approach to client-server data synchronization, and Solid 2.0's beta release changes",
      "summary": "Anthony Campolo and Dev Agrawal discuss sync engines, PowerSync's approach to client-server data synchronization, and Solid 2.0's beta release changes",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "Anthony Campolo",
        "channelUrl": "https://www.youtube.com/@ajcwebdev",
        "originalUrl": "https://www.youtube.com/watch?v=iSgY-7dQKto"
      },
      "publishedAt": "2026-03-23T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2026-03-23T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/sync-engines-dev-agrawal/",
        "markdown": "https://ajcwebdev.com/videos/sync-engines-dev-agrawal/index.md",
        "json": "https://ajcwebdev.com/videos/sync-engines-dev-agrawal/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-catching-up-and-career-updates",
          "text": "00:00:00 - Catching Up and Career Updates"
        },
        {
          "depth": 3,
          "id": "00-05-07-sync-engines-and-local-first-fundamentals",
          "text": "00:05:07 - Sync Engines and Local First Fundamentals"
        },
        {
          "depth": 3,
          "id": "00-11-27-the-network-tarpit-and-why-sync-engines-matter",
          "text": "00:11:27 - The Network Tarpit and Why Sync Engines Matter"
        },
        {
          "depth": 3,
          "id": "00-17-44-powersync-architecture-and-code-walkthrough",
          "text": "00:17:44 - PowerSync Architecture and Code Walkthrough"
        },
        {
          "depth": 3,
          "id": "00-23-47-comparing-sync-engines-and-trade-offs",
          "text": "00:23:47 - Comparing Sync Engines and Trade-offs"
        },
        {
          "depth": 3,
          "id": "01-04-09-solid-2-0-beta-release-deep-dive",
          "text": "01:04:09 - Solid 2.0 Beta Release Deep Dive"
        },
        {
          "depth": 3,
          "id": "01-17-17-ai-frameworks-and-developer-tooling",
          "text": "01:17:17 - AI, Frameworks, and Developer Tooling"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "web",
        "frontend",
        "backend"
      ]
    },
    {
      "title": "Creating Music with AI",
      "slug": "nick-taylor-creating-music-with-ai",
      "collection": "videos",
      "contentType": "Video",
      "description": "Anthony Campolo demos AutoShow V2, a tool that transforms podcasts, videos, and books into AI-generated music, lyrics, and multimedia content",
      "summary": "Anthony Campolo demos AutoShow V2, a tool that transforms podcasts, videos, and books into AI-generated music, lyrics, and multimedia content",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "Nick Taylor",
        "channelUrl": "https://www.youtube.com/channel/UCBLlEq0co24VFJIMEHNcPOQ",
        "originalUrl": "https://www.youtube.com/watch?v=3gcUSwYbKXI"
      },
      "publishedAt": "2026-01-28T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2026-01-28T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/nick-taylor-creating-music-with-ai/",
        "markdown": "https://ajcwebdev.com/videos/nick-taylor-creating-music-with-ai/index.md",
        "json": "https://ajcwebdev.com/videos/nick-taylor-creating-music-with-ai/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-introductions-and-anthony-s-new-role",
          "text": "00:00:00 - Introductions and Anthony's New Role"
        },
        {
          "depth": 3,
          "id": "00-04-22-autoshow-origins-and-v2-overview",
          "text": "00:04:22 - AutoShow Origins and V2 Overview"
        },
        {
          "depth": 3,
          "id": "00-09-39-ai-music-quality-and-the-suno-evolution",
          "text": "00:09:39 - AI Music Quality and the Suno Evolution"
        },
        {
          "depth": 3,
          "id": "00-19-00-use-cases-target-audience-and-business-considerations",
          "text": "00:19:00 - Use Cases, Target Audience, and Business Considerations"
        },
        {
          "depth": 3,
          "id": "00-26-51-autoshow-v2-app-demo-and-pipeline-walkthrough",
          "text": "00:26:51 - AutoShow V2 App Demo and Pipeline Walkthrough"
        },
        {
          "depth": 3,
          "id": "00-41-50-domain-stories-and-hardware-tangents",
          "text": "00:41:50 - Domain Stories and Hardware Tangents"
        },
        {
          "depth": 3,
          "id": "00-53-39-lyric-videos-concept-albums-and-music-demos",
          "text": "00:53:39 - Lyric Videos, Concept Albums, and Music Demos"
        },
        {
          "depth": 3,
          "id": "01-01-19-vibe-coding-practices-and-ai-development-reflections",
          "text": "01:01:19 - Vibe Coding Practices and AI Development Reflections"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "ai"
      ]
    },
    {
      "title": "AutoShow CLI Pt 3: Multi-Modal",
      "slug": "autoshow-cli-pt3-multimodal-nick-taylor",
      "collection": "videos",
      "contentType": "Video",
      "description": "Nick and Anthony explore the AutoShow CLI's expanding toolchain, debugging Python setup issues live while demoing new music and video generation features",
      "summary": "Nick and Anthony explore the AutoShow CLI's expanding toolchain, debugging Python setup issues live while demoing new music and video generation features",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "Anthony Campolo",
        "channelUrl": "https://www.youtube.com/@ajcwebdev",
        "originalUrl": "https://www.youtube.com/watch?v=kLZEE3CVX10"
      },
      "publishedAt": "2025-09-06T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2025-09-06T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/autoshow-cli-pt3-multimodal-nick-taylor/",
        "markdown": "https://ajcwebdev.com/videos/autoshow-cli-pt3-multimodal-nick-taylor/index.md",
        "json": "https://ajcwebdev.com/videos/autoshow-cli-pt3-multimodal-nick-taylor/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-catching-up-on-travels-and-tech-events",
          "text": "00:00:00 - Catching Up on Travels and Tech Events"
        },
        {
          "depth": 3,
          "id": "00-05-43-mcp-servers-home-labs-and-local-ai-models",
          "text": "00:05:43 - MCP Servers, Home Labs, and Local AI Models"
        },
        {
          "depth": 3,
          "id": "00-11-03-open-source-media-models-and-short-form-content",
          "text": "00:11:03 - Open Source Media Models and Short-Form Content"
        },
        {
          "depth": 3,
          "id": "00-17-21-pandemic-reflections-and-the-path-to-autoshow-cli",
          "text": "00:17:21 - Pandemic Reflections and the Path to AutoShow CLI"
        },
        {
          "depth": 3,
          "id": "00-21-01-cli-tools-subagents-and-terminal-workflows",
          "text": "00:21:01 - CLI Tools, Subagents, and Terminal Workflows"
        },
        {
          "depth": 3,
          "id": "00-26-05-running-the-autoshow-setup-and-hitting-dependency-issues",
          "text": "00:26:05 - Running the AutoShow Setup and Hitting Dependency Issues"
        },
        {
          "depth": 3,
          "id": "00-36-11-whisper-variants-core-ml-challenges-and-graceful-failures",
          "text": "00:36:11 - Whisper Variants, Core ML Challenges, and Graceful Failures"
        },
        {
          "depth": 3,
          "id": "00-50-18-music-generation-with-audiocraft-and-stable-audio",
          "text": "00:50:18 - Music Generation with AudioCraft and Stable Audio"
        },
        {
          "depth": 3,
          "id": "01-11-10-video-generation-runway-demo-and-wrapping-up",
          "text": "01:11:10 - Video Generation, Runway Demo, and Wrapping Up"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "ai"
      ]
    },
    {
      "title": "Interpretability and AI Scaling with Eric Michaud",
      "slug": "interpretability-ai-scaling-eric-michaud",
      "collection": "videos",
      "contentType": "Video",
      "description": "MIT PhD student Eric Michaud covers neural network interpretability, model pruning for creating narrow AI, and the future of scaling and reinforcement learning",
      "summary": "MIT PhD student Eric Michaud covers neural network interpretability, model pruning for creating narrow AI, and the future of scaling and reinforcement learning",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "Anthony Campolo",
        "channelUrl": "https://www.youtube.com/@ajcwebdev",
        "originalUrl": "https://www.youtube.com/watch?v=QT40aUykKWQ"
      },
      "publishedAt": "2025-08-26T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2025-08-26T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/interpretability-ai-scaling-eric-michaud/",
        "markdown": "https://ajcwebdev.com/videos/interpretability-ai-scaling-eric-michaud/index.md",
        "json": "https://ajcwebdev.com/videos/interpretability-ai-scaling-eric-michaud/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-introduction-and-neural-network-basics",
          "text": "00:00:00 - Introduction and Neural Network Basics"
        },
        {
          "depth": 3,
          "id": "00-05-14-internship-reflections-and-interpretability-defined",
          "text": "00:05:14 - Internship Reflections and Interpretability Defined"
        },
        {
          "depth": 3,
          "id": "00-14-04-the-paper-narrow-ai-and-network-pruning",
          "text": "00:14:04 - The Paper: Narrow AI and Network Pruning"
        },
        {
          "depth": 3,
          "id": "00-24-18-curriculum-learning-and-training-dynamics",
          "text": "00:24:18 - Curriculum Learning and Training Dynamics"
        },
        {
          "depth": 3,
          "id": "00-42-07-implications-for-safety-efficiency-and-model-design",
          "text": "00:42:07 - Implications for Safety, Efficiency, and Model Design"
        },
        {
          "depth": 3,
          "id": "00-50-27-grokking-unlearning-and-circuit-competition",
          "text": "00:50:27 - Grokking, Unlearning, and Circuit Competition"
        },
        {
          "depth": 3,
          "id": "00-56-01-scaling-laws-reinforcement-learning-and-inference-compute",
          "text": "00:56:01 - Scaling Laws, Reinforcement Learning, and Inference Compute"
        },
        {
          "depth": 3,
          "id": "01-24-44-model-comparisons-naming-confusion-and-user-experience",
          "text": "01:24:44 - Model Comparisons, Naming Confusion, and User Experience"
        },
        {
          "depth": 3,
          "id": "01-44-11-the-future-of-ai-and-closing-thoughts",
          "text": "01:44:11 - The Future of AI and Closing Thoughts"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "ai"
      ]
    },
    {
      "title": "Did AI Write This Summary? w/ Anthony Campolo",
      "slug": "ryan-carniato-did-ai-write-this",
      "collection": "videos",
      "contentType": "Video",
      "description": "Ryan Carniato hosts Anthony Campolo to explore AI-powered transcription pipelines for content creators, then dives into virtual DOM diffing theory",
      "summary": "Ryan Carniato hosts Anthony Campolo to explore AI-powered transcription pipelines for content creators, then dives into virtual DOM diffing theory",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "Ryan Carniato",
        "channelUrl": "https://www.youtube.com/channel/UCLLVlcmcCP4CUe7xSqVEnxw",
        "originalUrl": "https://www.youtube.com/watch?v=n0Xo_UU_iDY"
      },
      "publishedAt": "2025-07-25T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2025-07-25T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/ryan-carniato-did-ai-write-this/",
        "markdown": "https://ajcwebdev.com/videos/ryan-carniato-did-ai-write-this/index.md",
        "json": "https://ajcwebdev.com/videos/ryan-carniato-did-ai-write-this/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-introduction-and-stream-setup",
          "text": "00:00:00 - Introduction and Stream Setup"
        },
        {
          "depth": 3,
          "id": "00-07-29-the-problem-of-timestamps-and-content-indexing",
          "text": "00:07:29 - The Problem of Timestamps and Content Indexing"
        },
        {
          "depth": 3,
          "id": "00-16-13-understanding-transcription-whisper-apis-and-trade-offs",
          "text": "00:16:13 - Understanding Transcription: Whisper, APIs, and Trade-offs"
        },
        {
          "depth": 3,
          "id": "00-23-09-the-five-step-pipeline-building-autoshow",
          "text": "00:23:09 - The Five-Step Pipeline: Building AutoShow"
        },
        {
          "depth": 3,
          "id": "00-34-20-prompt-engineering-and-llm-model-comparisons",
          "text": "00:34:20 - Prompt Engineering and LLM Model Comparisons"
        },
        {
          "depth": 3,
          "id": "00-44-46-autoshow-cli-demo-and-app-walkthrough",
          "text": "00:44:46 - AutoShow CLI Demo and App Walkthrough"
        },
        {
          "depth": 3,
          "id": "00-58-23-exploring-different-llm-outputs-and-accuracy",
          "text": "00:58:23 - Exploring Different LLM Outputs and Accuracy"
        },
        {
          "depth": 3,
          "id": "01-05-41-autoshow-prompt-options-and-customization",
          "text": "01:05:41 - AutoShow Prompt Options and Customization"
        },
        {
          "depth": 3,
          "id": "01-15-22-ryan-gpt-retrieval-augmented-generation-demo",
          "text": "01:15:22 - Ryan GPT: Retrieval-Augmented Generation Demo"
        },
        {
          "depth": 3,
          "id": "01-31-42-testing-ryan-gpt-with-adversarial-questions",
          "text": "01:31:42 - Testing Ryan GPT with Adversarial Questions"
        },
        {
          "depth": 3,
          "id": "01-38-32-embeddings-vector-databases-and-rag-architecture",
          "text": "01:38:32 - Embeddings, Vector Databases, and RAG Architecture"
        },
        {
          "depth": 3,
          "id": "01-47-29-mutable-reactivity-revisited-svelte-s-reference-model",
          "text": "01:47:29 - Mutable Reactivity Revisited: Svelte's Reference Model"
        },
        {
          "depth": 3,
          "id": "01-54-30-the-genius-of-the-virtual-dom",
          "text": "01:54:30 - The Genius of the Virtual DOM"
        },
        {
          "depth": 3,
          "id": "02-08-50-push-pull-and-the-reactivity-trade-off",
          "text": "02:08:50 - Push, Pull, and the Reactivity Trade-off"
        },
        {
          "depth": 3,
          "id": "02-23-22-diffing-shared-references-and-store-design-challenges",
          "text": "02:23:22 - Diffing, Shared References, and Store Design Challenges"
        },
        {
          "depth": 3,
          "id": "02-35-20-proxy-internals-and-swappable-targets",
          "text": "02:35:20 - Proxy Internals and Swappable Targets"
        },
        {
          "depth": 3,
          "id": "02-48-53-the-virtual-dom-s-advantage-with-server-data",
          "text": "02:48:53 - The Virtual DOM's Advantage with Server Data"
        },
        {
          "depth": 3,
          "id": "03-53-46-this-week-in-javascript-svelte-server-functions-and-jsx-innovation",
          "text": "03:53:46 - This Week in JavaScript: Svelte Server Functions and JSX Innovation"
        },
        {
          "depth": 3,
          "id": "04-22-34-closing-thoughts-and-framework-ecosystem-reflections",
          "text": "04:22:34 - Closing Thoughts and Framework Ecosystem Reflections"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "web",
        "frontend",
        "ai"
      ]
    },
    {
      "title": "RAG and Vector Databases with Dev Agrawal",
      "slug": "rag-vector-dbs-dev-agrawal",
      "collection": "videos",
      "contentType": "Video",
      "description": "Anthony Campolo walks through building RAG search with SQLite vec and Cloudflare Vectorize, while Scott and Dev discuss AI-powered apps and agentic workflows",
      "summary": "Anthony Campolo walks through building RAG search with SQLite vec and Cloudflare Vectorize, while Scott and Dev discuss AI-powered apps and agentic workflows",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "Anthony Campolo",
        "channelUrl": "https://www.youtube.com/@ajcwebdev",
        "originalUrl": "https://www.youtube.com/watch?v=6T7iS2pVUOo"
      },
      "publishedAt": "2025-07-10T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2025-07-10T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/rag-vector-dbs-dev-agrawal/",
        "markdown": "https://ajcwebdev.com/videos/rag-vector-dbs-dev-agrawal/index.md",
        "json": "https://ajcwebdev.com/videos/rag-vector-dbs-dev-agrawal/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-introductions-and-project-updates",
          "text": "00:00:00 - Introductions and Project Updates"
        },
        {
          "depth": 3,
          "id": "00-04-30-understanding-the-data-and-when-rag-is-needed",
          "text": "00:04:30 - Understanding the Data and When RAG Is Needed"
        },
        {
          "depth": 3,
          "id": "00-09-12-sqlite-vec-tutorial-walkthrough",
          "text": "00:09:12 - SQLite Vec Tutorial Walkthrough"
        },
        {
          "depth": 3,
          "id": "00-17-41-document-chunking-and-overlap-strategies",
          "text": "00:17:41 - Document Chunking and Overlap Strategies"
        },
        {
          "depth": 3,
          "id": "00-22-36-autoshow-s-cloudflare-vectorize-implementation",
          "text": "00:22:36 - AutoShow's Cloudflare Vectorize Implementation"
        },
        {
          "depth": 3,
          "id": "00-28-30-speaker-diarization-and-voice-cloning-tangent",
          "text": "00:28:30 - Speaker Diarization and Voice Cloning Tangent"
        },
        {
          "depth": 3,
          "id": "00-33-32-scott-s-church-sermon-app-and-rag-use-cases",
          "text": "00:33:32 - Scott's Church Sermon App and RAG Use Cases"
        },
        {
          "depth": 3,
          "id": "00-39-12-security-supabase-policies-and-developer-workflows",
          "text": "00:39:12 - Security, Supabase Policies, and Developer Workflows"
        },
        {
          "depth": 3,
          "id": "00-43-16-model-selection-and-speed-optimization",
          "text": "00:43:16 - Model Selection and Speed Optimization"
        },
        {
          "depth": 3,
          "id": "00-45-05-from-bolt-new-to-cursor-a-non-developer-s-coding-journey",
          "text": "00:45:05 - From Bolt.new to Cursor: A Non-Developer's Coding Journey"
        },
        {
          "depth": 3,
          "id": "00-52-01-convex-as-a-backend-alternative",
          "text": "00:52:01 - Convex as a Backend Alternative"
        },
        {
          "depth": 3,
          "id": "01-00-12-the-middle-ground-in-ai-coding-tools-and-agentic-rag",
          "text": "01:00:12 - The Middle Ground in AI Coding Tools and Agentic RAG"
        },
        {
          "depth": 3,
          "id": "01-10-00-rag-limitations-vercel-sandboxes-and-wrap-up",
          "text": "01:10:00 - RAG Limitations, Vercel Sandboxes, and Wrap-Up"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "web",
        "backend",
        "ai"
      ]
    },
    {
      "title": "AutoShow CLI Pt.2 with Nick Taylor",
      "slug": "autoshow-cli-pt2-nick-taylor",
      "collection": "videos",
      "contentType": "Video",
      "description": "Anthony Campolo and Nick Taylor cover MCP security with zero trust proxies, test a key moments prompt in the AutoShow CLI, and demo image and text-to-speech",
      "summary": "Anthony Campolo and Nick Taylor cover MCP security with zero trust proxies, test a key moments prompt in the AutoShow CLI, and demo image and text-to-speech",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "Anthony Campolo",
        "channelUrl": "https://www.youtube.com/@ajcwebdev",
        "originalUrl": "https://www.youtube.com/watch?v=vJkAFQBkCoY"
      },
      "publishedAt": "2025-07-01T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2025-07-01T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/autoshow-cli-pt2-nick-taylor/",
        "markdown": "https://ajcwebdev.com/videos/autoshow-cli-pt2-nick-taylor/index.md",
        "json": "https://ajcwebdev.com/videos/autoshow-cli-pt2-nick-taylor/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-catching-up-and-conference-recaps",
          "text": "00:00:00 - Catching Up and Conference Recaps"
        },
        {
          "depth": 3,
          "id": "00-05-44-mcp-security-and-zero-trust-architecture",
          "text": "00:05:44 - MCP Security and Zero Trust Architecture"
        },
        {
          "depth": 3,
          "id": "00-18-14-from-security-talk-to-autoshow-testing",
          "text": "00:18:14 - From Security Talk to AutoShow Testing"
        },
        {
          "depth": 3,
          "id": "00-31-19-testing-key-moments-and-merging-the-pr",
          "text": "00:31:19 - Testing Key Moments and Merging the PR"
        },
        {
          "depth": 3,
          "id": "00-57-44-image-generation-and-text-to-speech-demos",
          "text": "00:57:44 - Image Generation and Text-to-Speech Demos"
        },
        {
          "depth": 3,
          "id": "01-12-24-upcoming-plans-and-wrap-up",
          "text": "01:12:24 - Upcoming Plans and Wrap-Up"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "web",
        "backend",
        "ai"
      ]
    },
    {
      "title": "Dev Updates - Mikhail, Matt, Anthony | Incubator WEEKLY",
      "slug": "autoshow-dash-june-update",
      "collection": "videos",
      "contentType": "Video",
      "description": "Dash Incubator developers demo the AutoShow content repurposing app with Dash payments and discuss two competing JavaScript SDK approaches for Dash Platform",
      "summary": "Dash Incubator developers demo the AutoShow content repurposing app with Dash payments and discuss two competing JavaScript SDK approaches for Dash Platform",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "Dash Incubator",
        "channelUrl": "https://www.youtube.com/channel/UCZVi0jeaBJ-bYcXQabnE9jA",
        "originalUrl": "https://www.youtube.com/watch?v=SCpsMuW4b3w"
      },
      "publishedAt": "2025-06-19T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2025-06-19T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/autoshow-dash-june-update/",
        "markdown": "https://ajcwebdev.com/videos/autoshow-dash-june-update/index.md",
        "json": "https://ajcwebdev.com/videos/autoshow-dash-june-update/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-introduction-and-autoshow-overview",
          "text": "00:00:00 - Introduction and AutoShow Overview"
        },
        {
          "depth": 3,
          "id": "00-05-05-autoshow-live-demo-and-ai-discussion",
          "text": "00:05:05 - AutoShow Live Demo and AI Discussion"
        },
        {
          "depth": 3,
          "id": "00-20-11-mikhail-s-wasm-based-sdk-and-browser-extension",
          "text": "00:20:11 - Mikhail's WASM-Based SDK and Browser Extension"
        },
        {
          "depth": 3,
          "id": "00-44-30-mikhail-s-proposal-and-development-roadmap",
          "text": "00:44:30 - Mikhail's Proposal and Development Roadmap"
        },
        {
          "depth": 3,
          "id": "00-49-15-matt-s-javascript-sdk-and-proof-verification-deep-dive",
          "text": "00:49:15 - Matt's JavaScript SDK and Proof Verification Deep Dive"
        },
        {
          "depth": 3,
          "id": "01-11-04-prioritization-proofs-discussion-and-closing",
          "text": "01:11:04 - Prioritization, Proofs Discussion, and Closing"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "ai",
        "blockchain"
      ]
    },
    {
      "title": "AI in Action with Ishan Anand",
      "slug": "ai-in-action-ishan-anand",
      "collection": "videos",
      "contentType": "Video",
      "description": "Ishan Anand recaps the AI Engineer World's Fair, covering top trends like coding agents, evals, specs as IP, and the Cursor-for-X playbook",
      "summary": "Ishan Anand recaps the AI Engineer World's Fair, covering top trends like coding agents, evals, specs as IP, and the Cursor-for-X playbook",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "Anthony Campolo",
        "channelUrl": "https://www.youtube.com/@ajcwebdev",
        "originalUrl": "https://www.youtube.com/watch?v=jXlx0-t_W-I"
      },
      "publishedAt": "2025-06-18T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2025-06-18T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/ai-in-action-ishan-anand/",
        "markdown": "https://ajcwebdev.com/videos/ai-in-action-ishan-anand/index.md",
        "json": "https://ajcwebdev.com/videos/ai-in-action-ishan-anand/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-introduction-and-conference-overview",
          "text": "00:00:00 - Introduction and Conference Overview"
        },
        {
          "depth": 3,
          "id": "00-07-41-conference-scale-and-top-signal-talks",
          "text": "00:07:41 - Conference Scale and Top Signal Talks"
        },
        {
          "depth": 3,
          "id": "00-16-33-deep-dive-on-evals-and-why-they-matter",
          "text": "00:16:33 - Deep Dive on Evals and Why They Matter"
        },
        {
          "depth": 3,
          "id": "00-28-07-execution-moats-and-value-chain-disruption",
          "text": "00:28:07 - Execution, Moats, and Value Chain Disruption"
        },
        {
          "depth": 3,
          "id": "00-51-10-mcp-skepticism-and-protocol-debate",
          "text": "00:51:10 - MCP Skepticism and Protocol Debate"
        },
        {
          "depth": 3,
          "id": "00-58-25-gpt-2-in-javascript-course-updates-and-model-preferences",
          "text": "00:58:25 - GPT-2 in JavaScript, Course Updates, and Model Preferences"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "ai"
      ]
    },
    {
      "title": "Goose with Rizel Scarlett and Ebony Louis",
      "slug": "goose-rizel-scarlett-ebony-louis",
      "collection": "videos",
      "contentType": "Video",
      "description": "Anthony Campolo joins Block’s Rizel Scarlett and Ebony Louis to discuss Goose, the open‑source AI agent that speeds up coding, content creation and daily tasks",
      "summary": "Anthony Campolo joins Block’s Rizel Scarlett and Ebony Louis to discuss Goose, the open‑source AI agent that speeds up coding, content creation and daily tasks",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "Anthony Campolo",
        "channelUrl": "https://www.youtube.com/@ajcwebdev",
        "originalUrl": "https://www.youtube.com/watch?v=eQOVAOq1I9k"
      },
      "publishedAt": "2025-06-04T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2025-06-04T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/goose-rizel-scarlett-ebony-louis/",
        "markdown": "https://ajcwebdev.com/videos/goose-rizel-scarlett-ebony-louis/index.md",
        "json": "https://ajcwebdev.com/videos/goose-rizel-scarlett-ebony-louis/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-introductions-and-what-is-block",
          "text": "00:00:00 - Introductions and What Is Block"
        },
        {
          "depth": 3,
          "id": "00-06-06-what-is-goose-and-defining-ai-agents",
          "text": "00:06:06 - What Is Goose and Defining AI Agents"
        },
        {
          "depth": 3,
          "id": "00-11-13-live-demo-snake-game-and-model-comparisons",
          "text": "00:11:13 - Live Demo: Snake Game and Model Comparisons"
        },
        {
          "depth": 3,
          "id": "00-25-11-computer-control-image-generation-and-daily-workflows",
          "text": "00:25:11 - Computer Control, Image Generation, and Daily Workflows"
        },
        {
          "depth": 3,
          "id": "00-36-54-ai-s-impact-on-developer-workflows-and-personal-use",
          "text": "00:36:54 - AI's Impact on Developer Workflows and Personal Use"
        },
        {
          "depth": 3,
          "id": "00-49-16-goose-features-modes-context-and-recipes",
          "text": "00:49:16 - Goose Features: Modes, Context, and Recipes"
        },
        {
          "depth": 3,
          "id": "00-57-49-mcp-resources-devrel-life-and-closing",
          "text": "00:57:49 - MCP Resources, DevRel Life, and Closing"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "ai"
      ]
    },
    {
      "title": "RedwoodSDK with Peter Pistorius",
      "slug": "redwoodsdk-peter-pistorius",
      "collection": "videos",
      "contentType": "Video",
      "description": "Peter Pistorius shows how RedwoodSDK turns Cloudflare Workers, Durable Objects, and React Server Components into a powerful toolkit for real‑time personal apps",
      "summary": "Peter Pistorius shows how RedwoodSDK turns Cloudflare Workers, Durable Objects, and React Server Components into a powerful toolkit for real‑time personal apps",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "Anthony Campolo",
        "channelUrl": "https://www.youtube.com/@ajcwebdev",
        "originalUrl": "https://www.youtube.com/watch?v=eXRURufSkxo"
      },
      "publishedAt": "2025-06-03T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2025-06-03T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/redwoodsdk-peter-pistorius/",
        "markdown": "https://ajcwebdev.com/videos/redwoodsdk-peter-pistorius/index.md",
        "json": "https://ajcwebdev.com/videos/redwoodsdk-peter-pistorius/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-introduction-and-the-redwood-sdk-origin-story",
          "text": "00:00:00 - Introduction and the Redwood SDK Origin Story"
        },
        {
          "depth": 3,
          "id": "00-06-33-framework-maintenance-challenges-and-early-questions",
          "text": "00:06:33 - Framework Maintenance Challenges and Early Questions"
        },
        {
          "depth": 3,
          "id": "00-09-50-personal-software-philosophy-and-branding",
          "text": "00:09:50 - Personal Software Philosophy and Branding"
        },
        {
          "depth": 3,
          "id": "00-15-08-why-sdk-became-a-framework-and-core-design-principles",
          "text": "00:15:08 - Why SDK Became a Framework and Core Design Principles"
        },
        {
          "depth": 3,
          "id": "00-21-24-zero-magic-philosophy-and-the-problem-with-transpilation",
          "text": "00:21:24 - Zero Magic Philosophy and the Problem with Transpilation"
        },
        {
          "depth": 3,
          "id": "00-27-10-live-code-demo-routes-middleware-and-the-document",
          "text": "00:27:10 - Live Code Demo: Routes, Middleware, and the Document"
        },
        {
          "depth": 3,
          "id": "00-33-20-react-server-components-and-flight-data-explained",
          "text": "00:33:20 - React Server Components and Flight Data Explained"
        },
        {
          "depth": 3,
          "id": "00-40-19-real-time-react-with-durable-objects",
          "text": "00:40:19 - Real-Time React with Durable Objects"
        },
        {
          "depth": 3,
          "id": "00-48-12-web-standards-file-uploads-and-the-cloudflare-bet",
          "text": "00:48:12 - Web Standards, File Uploads, and the Cloudflare Bet"
        },
        {
          "depth": 3,
          "id": "00-57-00-server-first-vs-client-first-and-building-for-the-majority-world",
          "text": "00:57:00 - Server-First vs Client-First and Building for the Majority World"
        },
        {
          "depth": 3,
          "id": "01-03-43-anthony-s-autoshow-demo-and-shareware-dev-vision",
          "text": "01:03:43 - Anthony's AutoShow Demo and Shareware.dev Vision"
        },
        {
          "depth": 3,
          "id": "01-14-01-graphql-retrospective-and-the-decision-to-rebuild",
          "text": "01:14:01 - GraphQL Retrospective and the Decision to Rebuild"
        },
        {
          "depth": 3,
          "id": "01-57-35-team-tools-and-closing-thoughts",
          "text": "01:57:35 - Team, Tools, and Closing Thoughts"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "frontend",
        "backend",
        "deployment"
      ]
    },
    {
      "title": "Introducing c15t with Chris Burns",
      "slug": "introducing-c15t-chris-burns",
      "collection": "videos",
      "contentType": "Video",
      "description": "Chris Burns demos c15t, an open-source consent management framework, its benchmarking tool, composable architecture, and dev-focused approach to cookie banners",
      "summary": "Chris Burns demos c15t, an open-source consent management framework, its benchmarking tool, composable architecture, and dev-focused approach to cookie banners",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "Anthony Campolo",
        "channelUrl": "https://www.youtube.com/@ajcwebdev",
        "originalUrl": "https://www.youtube.com/watch?v=F260yxpPSgw"
      },
      "publishedAt": "2025-05-27T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2025-05-27T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/introducing-c15t-chris-burns/",
        "markdown": "https://ajcwebdev.com/videos/introducing-c15t-chris-burns/index.md",
        "json": "https://ajcwebdev.com/videos/introducing-c15t-chris-burns/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-catching-up-and-travel-stories",
          "text": "00:00:00 - Catching Up and Travel Stories"
        },
        {
          "depth": 3,
          "id": "00-04-45-introducing-c15t-and-the-andy-warhol-philosophy",
          "text": "00:04:45 - Introducing C15t and the Andy Warhol Philosophy"
        },
        {
          "depth": 3,
          "id": "00-09-36-the-suitcase-analogy-and-bundle-performance",
          "text": "00:09:36 - The Suitcase Analogy and Bundle Performance"
        },
        {
          "depth": 3,
          "id": "00-13-09-cookie-bench-demo-and-performance-metrics",
          "text": "00:13:09 - Cookie Bench Demo and Performance Metrics"
        },
        {
          "depth": 3,
          "id": "00-28-06-benchmarking-methodology-and-framework-choices",
          "text": "00:28:06 - Benchmarking Methodology and Framework Choices"
        },
        {
          "depth": 3,
          "id": "00-33-40-cookie-banner-functionality-and-common-misconceptions",
          "text": "00:33:40 - Cookie Banner Functionality and Common Misconceptions"
        },
        {
          "depth": 3,
          "id": "00-36-38-live-installation-demo",
          "text": "00:36:38 - Live Installation Demo"
        },
        {
          "depth": 3,
          "id": "00-48-16-dashboard-composable-architecture-and-hosting",
          "text": "00:48:16 - Dashboard, Composable Architecture, and Hosting"
        },
        {
          "depth": 3,
          "id": "00-59-04-consent-beyond-cookie-banners",
          "text": "00:59:04 - Consent Beyond Cookie Banners"
        },
        {
          "depth": 3,
          "id": "01-07-28-infrastructure-deep-dive-cloudflare-planetscale-and-sqlite",
          "text": "01:07:28 - Infrastructure Deep Dive: Cloudflare, PlanetScale, and SQLite"
        },
        {
          "depth": 3,
          "id": "01-17-55-framework-opinions-and-redwood-sdk",
          "text": "01:17:55 - Framework Opinions and Redwood SDK"
        },
        {
          "depth": 3,
          "id": "01-25-51-cli-tooling-and-double-tie-sdk",
          "text": "01:25:51 - CLI Tooling and Double Tie SDK"
        },
        {
          "depth": 3,
          "id": "01-39-37-education-ai-privacy-tools-and-wrap-up",
          "text": "01:39:37 - Education, AI Privacy Tools, and Wrap-Up"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "web",
        "frontend",
        "backend"
      ]
    },
    {
      "title": "AutoShow CLI with Nick Taylor",
      "slug": "autoshow-cli-nick-taylor",
      "collection": "videos",
      "contentType": "Video",
      "description": "Anthony Campolo and Nick Taylor discuss DevRel, conferences, and building a CLI for video and audio transcription, weaving personal stories and coding insights",
      "summary": "Anthony Campolo and Nick Taylor discuss DevRel, conferences, and building a CLI for video and audio transcription, weaving personal stories and coding insights",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "Anthony Campolo",
        "channelUrl": "https://www.youtube.com/@ajcwebdev",
        "originalUrl": "https://www.youtube.com/watch?v=t0CZGHk2FUM"
      },
      "publishedAt": "2025-05-08T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2025-05-08T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/autoshow-cli-nick-taylor/",
        "markdown": "https://ajcwebdev.com/videos/autoshow-cli-nick-taylor/index.md",
        "json": "https://ajcwebdev.com/videos/autoshow-cli-nick-taylor/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-introductions-and-career-updates",
          "text": "00:00:00 - Introductions and Career Updates"
        },
        {
          "depth": 3,
          "id": "00-05-04-conference-highlights-and-the-kubernetes-world",
          "text": "00:05:04 - Conference Highlights and the Kubernetes World"
        },
        {
          "depth": 3,
          "id": "00-12-05-anthony-s-projects-dash-funding-job-interviews-and-an-ai-tv-show",
          "text": "00:12:05 - Anthony's Projects: Dash Funding, Job Interviews, and an AI TV Show"
        },
        {
          "depth": 3,
          "id": "00-18-04-ai-video-tools-and-the-sora-experience",
          "text": "00:18:04 - AI Video Tools and the Sora Experience"
        },
        {
          "depth": 3,
          "id": "00-23-41-autoshow-cli-architecture-and-nick-s-workflow",
          "text": "00:23:41 - AutoShow CLI: Architecture and Nick's Workflow"
        },
        {
          "depth": 3,
          "id": "00-31-36-adding-the-ora-spinner-to-the-cli",
          "text": "00:31:36 - Adding the Ora Spinner to the CLI"
        },
        {
          "depth": 3,
          "id": "00-39-29-refining-the-spinner-and-merging-the-pr",
          "text": "00:39:29 - Refining the Spinner and Merging the PR"
        },
        {
          "depth": 3,
          "id": "00-44-00-building-the-key-moments-prompt",
          "text": "00:44:00 - Building the Key Moments Prompt"
        },
        {
          "depth": 3,
          "id": "01-47-15-wrap-up-and-future-plans",
          "text": "01:47:15 - Wrap-Up and Future Plans"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "ai"
      ]
    },
    {
      "title": "Model Context Protocol with Dev Agrawal",
      "slug": "mcp-dev-agrawal",
      "collection": "videos",
      "contentType": "Video",
      "description": "Dev Agrawal joins Anthony Campolo to discuss the Model Context Protocol, covering practical implementations and the evolving landscape of AI",
      "summary": "Dev Agrawal joins Anthony Campolo to discuss the Model Context Protocol, covering practical implementations and the evolving landscape of AI",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "Anthony Campolo",
        "channelUrl": "https://www.youtube.com/@ajcwebdev",
        "originalUrl": "https://www.youtube.com/watch?v=3OJPKPuZ9fk"
      },
      "publishedAt": "2025-04-23T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2025-04-23T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/mcp-dev-agrawal/",
        "markdown": "https://ajcwebdev.com/videos/mcp-dev-agrawal/index.md",
        "json": "https://ajcwebdev.com/videos/mcp-dev-agrawal/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-stream-setup-and-dev-s-new-job",
          "text": "00:00:00 - Stream Setup and Dev's New Job"
        },
        {
          "depth": 3,
          "id": "00-04-41-introduction-to-mcp-and-early-impressions",
          "text": "00:04:41 - Introduction to MCP and Early Impressions"
        },
        {
          "depth": 3,
          "id": "00-11-03-ai-adoption-among-developers-and-context-windows",
          "text": "00:11:03 - AI Adoption Among Developers and Context Windows"
        },
        {
          "depth": 3,
          "id": "00-19-27-mcp-architecture-hosts-clients-and-servers",
          "text": "00:19:27 - MCP Architecture: Hosts, Clients, and Servers"
        },
        {
          "depth": 3,
          "id": "00-24-14-resources-prompts-and-tools-explained",
          "text": "00:24:14 - Resources, Prompts, and Tools Explained"
        },
        {
          "depth": 3,
          "id": "00-31-23-open-control-and-the-mcp-ecosystem",
          "text": "00:31:23 - Open Control and the MCP Ecosystem"
        },
        {
          "depth": 3,
          "id": "00-35-38-walking-through-the-mcp-tutorial-code",
          "text": "00:35:38 - Walking Through the MCP Tutorial Code"
        },
        {
          "depth": 3,
          "id": "00-55-53-connecting-an-llm-and-reflecting-on-the-tutorial",
          "text": "00:55:53 - Connecting an LLM and Reflecting on the Tutorial"
        },
        {
          "depth": 3,
          "id": "01-10-12-graphql-ai-assistants-and-future-plans",
          "text": "01:10:12 - GraphQL, AI Assistants, and Future Plans"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "web",
        "backend",
        "ai"
      ]
    },
    {
      "title": "Dev Updates | Mikhail, Anthony Vijay, Rion, Matt",
      "slug": "autoshow-dash-april-update",
      "collection": "videos",
      "contentType": "Video",
      "description": "Dash Incubator developers demo AutoShow's AI content app, Bitcoin backport progress, a new lightweight platform SDK, and discuss treasury voting scenarios",
      "summary": "Dash Incubator developers demo AutoShow's AI content app, Bitcoin backport progress, a new lightweight platform SDK, and discuss treasury voting scenarios",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "Dash Incubator",
        "channelUrl": "https://www.youtube.com/channel/UCZVi0jeaBJ-bYcXQabnE9jA",
        "originalUrl": "https://www.youtube.com/watch?v=dW0A_MbZ0GY"
      },
      "publishedAt": "2025-04-18T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2025-04-18T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/autoshow-dash-april-update/",
        "markdown": "https://ajcwebdev.com/videos/autoshow-dash-april-update/index.md",
        "json": "https://ajcwebdev.com/videos/autoshow-dash-april-update/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-introduction-and-proposal-overview",
          "text": "00:00:00 - Introduction and Proposal Overview"
        },
        {
          "depth": 3,
          "id": "00-03-14-anthony-s-autoshow-demo-and-dash-integration",
          "text": "00:03:14 - Anthony's AutoShow Demo and Dash Integration"
        },
        {
          "depth": 3,
          "id": "00-11-19-vijay-s-bitcoin-backport-pull-requests",
          "text": "00:11:19 - Vijay's Bitcoin Backport Pull Requests"
        },
        {
          "depth": 3,
          "id": "00-22-08-mikhail-s-lightweight-dash-platform-sdk",
          "text": "00:22:08 - Mikhail's Lightweight Dash Platform SDK"
        },
        {
          "depth": 3,
          "id": "00-37-26-browser-extension-and-transaction-signing",
          "text": "00:37:26 - Browser Extension and Transaction Signing"
        },
        {
          "depth": 3,
          "id": "00-54-51-matt-s-pure-javascript-sdk-vision",
          "text": "00:54:51 - Matt's Pure JavaScript SDK Vision"
        },
        {
          "depth": 3,
          "id": "01-05-44-treasury-voting-scenarios-and-closing-thoughts",
          "text": "01:05:44 - Treasury Voting Scenarios and Closing Thoughts"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "ai",
        "blockchain"
      ]
    },
    {
      "title": "AI in Academia with Eric Michaud",
      "slug": "ai-in-academia-eric-michaud",
      "collection": "videos",
      "contentType": "Video",
      "description": "A conversation with Eric Michaud on AI research, neural networks, scaling dynamics, and their broader implications for academia and industry",
      "summary": "A conversation with Eric Michaud on AI research, neural networks, scaling dynamics, and their broader implications for academia and industry",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "Anthony Campolo",
        "channelUrl": "https://www.youtube.com/@ajcwebdev",
        "originalUrl": "https://www.youtube.com/watch?v=X4E2k3kbGR4"
      },
      "publishedAt": "2025-03-12T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2025-03-12T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/ai-in-academia-eric-michaud/",
        "markdown": "https://ajcwebdev.com/videos/ai-in-academia-eric-michaud/index.md",
        "json": "https://ajcwebdev.com/videos/ai-in-academia-eric-michaud/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-introductions-and-eric-s-path-to-ai-research",
          "text": "00:00:00 - Introductions and Eric's Path to AI Research"
        },
        {
          "depth": 3,
          "id": "00-05-46-neural-network-fundamentals-and-training-basics",
          "text": "00:05:46 - Neural Network Fundamentals and Training Basics"
        },
        {
          "depth": 3,
          "id": "00-14-28-defining-neural-networks-and-historical-context",
          "text": "00:14:28 - Defining Neural Networks and Historical Context"
        },
        {
          "depth": 3,
          "id": "00-22-39-training-data-next-token-prediction-and-chain-of-thought",
          "text": "00:22:39 - Training Data, Next-Token Prediction, and Chain of Thought"
        },
        {
          "depth": 3,
          "id": "00-40-17-interactive-website-demo-and-visualizing-model-learning",
          "text": "00:40:17 - Interactive Website Demo and Visualizing Model Learning"
        },
        {
          "depth": 3,
          "id": "00-52-02-the-quantization-model-power-laws-and-decomposing-intelligence",
          "text": "00:52:02 - The Quantization Model, Power Laws, and Decomposing Intelligence"
        },
        {
          "depth": 3,
          "id": "01-06-11-agi-debates-model-capabilities-and-knowledge-compression",
          "text": "01:06:11 - AGI Debates, Model Capabilities, and Knowledge Compression"
        },
        {
          "depth": 3,
          "id": "01-23-00-fine-tuning-introspection-and-model-behavior",
          "text": "01:23:00 - Fine-Tuning, Introspection, and Model Behavior"
        },
        {
          "depth": 3,
          "id": "01-30-05-practical-ai-usage-tools-and-the-changing-internet",
          "text": "01:30:05 - Practical AI Usage, Tools, and the Changing Internet"
        },
        {
          "depth": 3,
          "id": "01-46-52-future-plans-and-closing-thoughts",
          "text": "01:46:52 - Future Plans and Closing Thoughts"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "ai"
      ]
    },
    {
      "title": "AutoShow + Dash | March Update",
      "slug": "autoshow-dash-march-update",
      "collection": "videos",
      "contentType": "Video",
      "description": "Rion Gull and Anthony Campolo discuss the AutoShow AI content platform's Dash integration proposal, covering payment flows, credits, and platform strategy",
      "summary": "Rion Gull and Anthony Campolo discuss the AutoShow AI content platform's Dash integration proposal, covering payment flows, credits, and platform strategy",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "Dash Incubator",
        "channelUrl": "https://www.youtube.com/channel/UCZVi0jeaBJ-bYcXQabnE9jA",
        "originalUrl": "https://www.youtube.com/watch?v=maPe9u3NZKQ"
      },
      "publishedAt": "2025-03-06T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2025-03-06T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/autoshow-dash-march-update/",
        "markdown": "https://ajcwebdev.com/videos/autoshow-dash-march-update/index.md",
        "json": "https://ajcwebdev.com/videos/autoshow-dash-march-update/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-introduction-and-proposal-background",
          "text": "00:00:00 - Introduction and Proposal Background"
        },
        {
          "depth": 3,
          "id": "00-06-48-autoshow-overview-and-open-source-strategy",
          "text": "00:06:48 - AutoShow Overview and Open Source Strategy"
        },
        {
          "depth": 3,
          "id": "00-14-12-technical-architecture-and-dash-platform-experimentation",
          "text": "00:14:12 - Technical Architecture and Dash Platform Experimentation"
        },
        {
          "depth": 3,
          "id": "00-25-40-dash-integration-goals-and-discount-strategy",
          "text": "00:25:40 - Dash Integration Goals and Discount Strategy"
        },
        {
          "depth": 3,
          "id": "00-40-18-timeline-user-experience-and-community-feedback",
          "text": "00:40:18 - Timeline, User Experience, and Community Feedback"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "ai",
        "blockchain"
      ]
    },
    {
      "title": "AutoShow - Automatic Show Notes for Podcasts and Videos",
      "slug": "codingcat-autoshow",
      "collection": "videos",
      "contentType": "Video",
      "description": "Anthony Campolo demos AutoShow, an open-source CLI that uses Whisper and LLMs to automatically generate show notes, chapters and clips from podcasts and videos",
      "summary": "Anthony Campolo demos AutoShow, an open-source CLI that uses Whisper and LLMs to automatically generate show notes, chapters and clips from podcasts and videos",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "CodingCatDev",
        "channelUrl": "https://www.youtube.com/channel/UCnKZ8gEb78zXKMi1ns-IQ2g",
        "originalUrl": "https://www.youtube.com/watch?v=ts7KZSUWhKc"
      },
      "publishedAt": "2025-03-05T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2025-03-05T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/codingcat-autoshow/",
        "markdown": "https://ajcwebdev.com/videos/codingcat-autoshow/index.md",
        "json": "https://ajcwebdev.com/videos/codingcat-autoshow/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-catching-up-and-anthony-s-background",
          "text": "00:00:00 - Catching Up and Anthony's Background"
        },
        {
          "depth": 3,
          "id": "00-03-00-what-autoshow-does-and-why-it-exists",
          "text": "00:03:00 - What AutoShow Does and Why It Exists"
        },
        {
          "depth": 3,
          "id": "00-08-29-live-demo-and-the-five-processing-steps",
          "text": "00:08:29 - Live Demo and the Five Processing Steps"
        },
        {
          "depth": 3,
          "id": "00-15-46-whisper-quirks-prompt-engineering-and-transcription-details",
          "text": "00:15:46 - Whisper Quirks, Prompt Engineering, and Transcription Details"
        },
        {
          "depth": 3,
          "id": "00-19-47-sdk-choices-and-working-close-to-the-metal",
          "text": "00:19:47 - SDK Choices and Working Close to the Metal"
        },
        {
          "depth": 3,
          "id": "00-23-25-embeddings-vector-storage-and-chat-with-your-show-notes",
          "text": "00:23:25 - Embeddings, Vector Storage, and Chat With Your Show Notes"
        },
        {
          "depth": 3,
          "id": "00-27-44-video-clipping-and-content-repurposing-workflows",
          "text": "00:27:44 - Video Clipping and Content Repurposing Workflows"
        },
        {
          "depth": 3,
          "id": "00-31-31-function-calling-json-output-and-model-comparisons",
          "text": "00:31:31 - Function Calling, JSON Output, and Model Comparisons"
        },
        {
          "depth": 3,
          "id": "00-37-03-the-ai-landscape-job-impact-and-getting-started-advice",
          "text": "00:37:03 - The AI Landscape, Job Impact, and Getting Started Advice"
        },
        {
          "depth": 3,
          "id": "00-45-56-closing-thoughts-and-where-to-find-autoshow",
          "text": "00:45:56 - Closing Thoughts and Where to Find AutoShow"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "ai"
      ]
    },
    {
      "title": "AI Image Generation with Dev Agrawal",
      "slug": "ai-image-generation-dev-agrawal",
      "collection": "videos",
      "contentType": "Video",
      "description": "Dev Agrawal joins Anthony Campolo to explore AI image generation, SolidJS 2.0 updates, and personal coding projects",
      "summary": "Dev Agrawal joins Anthony Campolo to explore AI image generation, SolidJS 2.0 updates, and personal coding projects",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "Anthony Campolo",
        "channelUrl": "https://www.youtube.com/@ajcwebdev",
        "originalUrl": "https://www.youtube.com/watch?v=-NSqcEYCPo4"
      },
      "publishedAt": "2025-02-26T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2025-02-26T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/ai-image-generation-dev-agrawal/",
        "markdown": "https://ajcwebdev.com/videos/ai-image-generation-dev-agrawal/index.md",
        "json": "https://ajcwebdev.com/videos/ai-image-generation-dev-agrawal/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-catching-up-and-dev-s-new-role",
          "text": "00:00:00 - Catching Up and Dev's New Role"
        },
        {
          "depth": 3,
          "id": "00-05-20-solidjs-2-0-experimental-release",
          "text": "00:05:20 - SolidJS 2.0 Experimental Release"
        },
        {
          "depth": 3,
          "id": "00-13-49-the-leetcode-debate-revisited",
          "text": "00:13:49 - The LeetCode Debate Revisited"
        },
        {
          "depth": 3,
          "id": "00-21-17-ai-image-generation-for-conference-talks",
          "text": "00:21:17 - AI Image Generation for Conference Talks"
        },
        {
          "depth": 3,
          "id": "00-33-18-comparing-image-apis-with-node-js-scripts",
          "text": "00:33:18 - Comparing Image APIs with Node.js Scripts"
        },
        {
          "depth": 3,
          "id": "00-49-06-prompt-engineering-tips-and-ai-coding-workflows",
          "text": "00:49:06 - Prompt Engineering Tips and AI Coding Workflows"
        },
        {
          "depth": 3,
          "id": "01-09-07-authentication-architecture-for-autoshow",
          "text": "01:09:07 - Authentication Architecture for AutoShow"
        },
        {
          "depth": 3,
          "id": "01-20-35-react-server-components-ryan-gpt-and-closing",
          "text": "01:20:35 - React Server Components, Ryan GPT, and Closing"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "web",
        "frontend",
        "ai"
      ]
    },
    {
      "title": "JavaScript LLMs with Ishan Anand",
      "slug": "js-llms-ishan-anand",
      "collection": "videos",
      "contentType": "Video",
      "description": "A conversation with Ishan about building large language models in JavaScript, local AI experimentation, and the future of accessible machine learning",
      "summary": "A conversation with Ishan about building large language models in JavaScript, local AI experimentation, and the future of accessible machine learning",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "Anthony Campolo",
        "channelUrl": "https://www.youtube.com/@ajcwebdev",
        "originalUrl": "https://www.youtube.com/watch?v=1y28LmZtpOM"
      },
      "publishedAt": "2025-02-10T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2025-02-10T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/js-llms-ishan-anand/",
        "markdown": "https://ajcwebdev.com/videos/js-llms-ishan-anand/index.md",
        "json": "https://ajcwebdev.com/videos/js-llms-ishan-anand/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-introductions-and-ishan-s-background",
          "text": "00:00:00 - Introductions and Ishan's Background"
        },
        {
          "depth": 3,
          "id": "00-03-45-the-deepseek-phenomenon-and-why-it-went-viral",
          "text": "00:03:45 - The DeepSeek Phenomenon and Why It Went Viral"
        },
        {
          "depth": 3,
          "id": "00-09-50-pop-culture-public-perception-and-ai-awareness",
          "text": "00:09:50 - Pop Culture, Public Perception, and AI Awareness"
        },
        {
          "depth": 3,
          "id": "00-15-35-debunking-the-deepseek-training-cost-myth",
          "text": "00:15:35 - Debunking the DeepSeek Training Cost Myth"
        },
        {
          "depth": 3,
          "id": "00-23-02-r1-zero-and-open-source-reasoning-models",
          "text": "00:23:02 - R1 Zero and Open Source Reasoning Models"
        },
        {
          "depth": 3,
          "id": "00-25-03-the-javascript-gpt-2-implementation-deep-dive",
          "text": "00:25:03 - The JavaScript GPT-2 Implementation Deep Dive"
        },
        {
          "depth": 3,
          "id": "00-33-34-making-machine-learning-accessible-through-education",
          "text": "00:33:34 - Making Machine Learning Accessible Through Education"
        },
        {
          "depth": 3,
          "id": "00-39-15-future-plans-training-prompt-engineering-and-browser-agents",
          "text": "00:39:15 - Future Plans: Training, Prompt Engineering, and Browser Agents"
        },
        {
          "depth": 3,
          "id": "00-45-29-wrap-up-and-where-to-find-ishan",
          "text": "00:45:29 - Wrap-Up and Where to Find Ishan"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "ai"
      ]
    },
    {
      "title": "AutoShow Dash Integration",
      "slug": "autoshow-dash-integration",
      "collection": "videos",
      "contentType": "Video",
      "description": "Anthony Campolo presents AutoShow, an open-source content repurposing tool, and discusses a Dash funding proposal for payment integration",
      "summary": "Anthony Campolo presents AutoShow, an open-source content repurposing tool, and discusses a Dash funding proposal for payment integration",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "Dash Incubator",
        "channelUrl": "https://www.youtube.com/channel/UCZVi0jeaBJ-bYcXQabnE9jA",
        "originalUrl": "https://www.youtube.com/watch?v=rEHr5M3GFHg"
      },
      "publishedAt": "2025-01-30T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2025-01-30T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/autoshow-dash-integration/",
        "markdown": "https://ajcwebdev.com/videos/autoshow-dash-integration/index.md",
        "json": "https://ajcwebdev.com/videos/autoshow-dash-integration/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-introduction-and-autoshow-overview",
          "text": "00:00:00 - Introduction and AutoShow Overview"
        },
        {
          "depth": 3,
          "id": "00-04-44-bootstrapping-vs-vc-funding",
          "text": "00:04:44 - Bootstrapping vs. VC Funding"
        },
        {
          "depth": 3,
          "id": "00-08-10-live-product-demonstration",
          "text": "00:08:10 - Live Product Demonstration"
        },
        {
          "depth": 3,
          "id": "00-12-49-target-market-and-use-cases",
          "text": "00:12:49 - Target Market and Use Cases"
        },
        {
          "depth": 3,
          "id": "00-18-22-dash-value-proposition-and-ambassador-role",
          "text": "00:18:22 - Dash Value Proposition and Ambassador Role"
        },
        {
          "depth": 3,
          "id": "00-28-32-proposal-details-and-deliverables",
          "text": "00:28:32 - Proposal Details and Deliverables"
        },
        {
          "depth": 3,
          "id": "00-33-47-timeline-github-and-next-steps",
          "text": "00:33:47 - Timeline, GitHub, and Next Steps"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "ai",
        "blockchain"
      ]
    },
    {
      "title": "Using Pomerium to Secure LLMs with Nick Taylor",
      "slug": "secure-llms-pomerium-nick-taylor",
      "collection": "videos",
      "contentType": "Video",
      "description": "A practical conversation about zero trust security, running local language models, and how to safeguard internal endpoints using Pomerium",
      "summary": "A practical conversation about zero trust security, running local language models, and how to safeguard internal endpoints using Pomerium",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "Anthony Campolo",
        "channelUrl": "https://www.youtube.com/@ajcwebdev",
        "originalUrl": "https://www.youtube.com/watch?v=sGIVnAvrpiM"
      },
      "publishedAt": "2025-01-30T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2025-01-30T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/secure-llms-pomerium-nick-taylor/",
        "markdown": "https://ajcwebdev.com/videos/secure-llms-pomerium-nick-taylor/index.md",
        "json": "https://ajcwebdev.com/videos/secure-llms-pomerium-nick-taylor/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-catching-up-and-career-updates",
          "text": "00:00:00 - Catching Up and Career Updates"
        },
        {
          "depth": 3,
          "id": "00-05-46-entering-the-security-space-and-devrel-under-marketing",
          "text": "00:05:46 - Entering the Security Space and DevRel Under Marketing"
        },
        {
          "depth": 3,
          "id": "00-13-20-zero-trust-security-explained",
          "text": "00:13:20 - Zero Trust Security Explained"
        },
        {
          "depth": 3,
          "id": "00-22-18-the-airport-analogy-and-network-layers",
          "text": "00:22:18 - The Airport Analogy and Network Layers"
        },
        {
          "depth": 3,
          "id": "00-27-00-pomerium-architecture-and-open-core-model",
          "text": "00:27:00 - Pomerium Architecture and Open Core Model"
        },
        {
          "depth": 3,
          "id": "00-37-32-building-the-ollama-copilot-extension",
          "text": "00:37:32 - Building the Ollama Copilot Extension"
        },
        {
          "depth": 3,
          "id": "00-47-25-configuring-the-github-app-and-copilot-settings",
          "text": "00:47:25 - Configuring the GitHub App and Copilot Settings"
        },
        {
          "depth": 3,
          "id": "01-01-40-securing-ollama-with-pomerium-zero",
          "text": "01:01:40 - Securing Ollama with Pomerium Zero"
        },
        {
          "depth": 3,
          "id": "01-28-35-open-webui-model-limitations-and-wrap-up",
          "text": "01:28:35 - Open WebUI, Model Limitations, and Wrap-Up"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "web",
        "backend",
        "ai"
      ]
    },
    {
      "title": "Koroflow with Christopher Burns",
      "slug": "koroflow-christopher-burns",
      "collection": "videos",
      "contentType": "Video",
      "description": "A look at building a robust, customizable cookie management solution in React, covering design choices, branding, theming, testing, and compliance plans",
      "summary": "A look at building a robust, customizable cookie management solution in React, covering design choices, branding, theming, testing, and compliance plans",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "Anthony Campolo",
        "channelUrl": "https://www.youtube.com/@ajcwebdev",
        "originalUrl": "https://www.youtube.com/watch?v=TDs125oKrPI"
      },
      "publishedAt": "2025-01-29T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2025-01-29T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/koroflow-christopher-burns/",
        "markdown": "https://ajcwebdev.com/videos/koroflow-christopher-burns/index.md",
        "json": "https://ajcwebdev.com/videos/koroflow-christopher-burns/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-reintroduction-and-the-koroflow-rebrand",
          "text": "00:00:00 - Reintroduction and the Koroflow Rebrand"
        },
        {
          "depth": 3,
          "id": "00-05-55-new-website-fumadocs-and-the-shift-from-shadcn",
          "text": "00:05:55 - New Website, Fumadocs, and the Shift from Shadcn"
        },
        {
          "depth": 3,
          "id": "00-11-55-the-theming-engine-and-style-customization",
          "text": "00:11:55 - The Theming Engine and Style Customization"
        },
        {
          "depth": 3,
          "id": "00-23-15-live-demo-in-stackblitz",
          "text": "00:23:15 - Live Demo in StackBlitz"
        },
        {
          "depth": 3,
          "id": "00-42-11-pure-css-architecture-and-the-box-primitive",
          "text": "00:42:11 - Pure CSS Architecture and the Box Primitive"
        },
        {
          "depth": 3,
          "id": "00-54-31-import-patterns-and-developer-experience",
          "text": "00:54:31 - Import Patterns and Developer Experience"
        },
        {
          "depth": 3,
          "id": "01-05-08-theming-tradeoffs-and-practical-limits",
          "text": "01:05:08 - Theming Tradeoffs and Practical Limits"
        },
        {
          "depth": 3,
          "id": "01-09-47-testing-strategy-with-vitest-browser-mode",
          "text": "01:09:47 - Testing Strategy with Vitest Browser Mode"
        },
        {
          "depth": 3,
          "id": "01-22-23-competitive-landscape-and-dependencies",
          "text": "01:22:23 - Competitive Landscape and Dependencies"
        },
        {
          "depth": 3,
          "id": "01-35-11-ai-tooling-and-rag-for-legal-compliance",
          "text": "01:35:11 - AI Tooling and RAG for Legal Compliance"
        },
        {
          "depth": 3,
          "id": "01-42-11-roadmap-1-0-plans-and-wrap-up",
          "text": "01:42:11 - Roadmap, 1.0 Plans, and Wrap-Up"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "web",
        "frontend"
      ]
    },
    {
      "title": "Event Systems with Christopher Burns",
      "slug": "event-systems-christopher-burns",
      "collection": "videos",
      "contentType": "Video",
      "description": "Anthony Campolo and Christopher Burns discuss approaches to user analytics and privacy tooling including consent management and open-source strategies",
      "summary": "Anthony Campolo and Christopher Burns discuss approaches to user analytics and privacy tooling including consent management and open-source strategies",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "Anthony Campolo",
        "channelUrl": "https://www.youtube.com/@ajcwebdev",
        "originalUrl": "https://www.youtube.com/watch?v=zSFLRvw-F7k"
      },
      "publishedAt": "2025-01-16T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2025-01-16T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/event-systems-christopher-burns/",
        "markdown": "https://ajcwebdev.com/videos/event-systems-christopher-burns/index.md",
        "json": "https://ajcwebdev.com/videos/event-systems-christopher-burns/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-catching-up-and-the-end-of-everfund",
          "text": "00:00:00 - Catching Up and the End of Everfund"
        },
        {
          "depth": 3,
          "id": "00-07-05-lessons-learned-trusting-your-gut-as-a-founder",
          "text": "00:07:05 - Lessons Learned: Trusting Your Gut as a Founder"
        },
        {
          "depth": 3,
          "id": "00-12-52-what-are-event-systems-and-why-they-matter",
          "text": "00:12:52 - What Are Event Systems and Why They Matter"
        },
        {
          "depth": 3,
          "id": "00-22-08-the-privacy-consent-problem-and-cookie-banners",
          "text": "00:22:08 - The Privacy Consent Problem and Cookie Banners"
        },
        {
          "depth": 3,
          "id": "00-25-02-better-events-architecture-and-the-zustand-powered-core",
          "text": "00:25:02 - Better Events: Architecture and the Zustand-Powered Core"
        },
        {
          "depth": 3,
          "id": "00-34-13-developer-tools-compliance-layers-and-the-dev-experience",
          "text": "00:34:13 - Developer Tools, Compliance Layers, and the Dev Experience"
        },
        {
          "depth": 3,
          "id": "00-53-17-the-shadcn-registry-system-and-component-distribution",
          "text": "00:53:17 - The Shadcn Registry System and Component Distribution"
        },
        {
          "depth": 3,
          "id": "01-17-31-practical-applications-and-future-plans",
          "text": "01:17:31 - Practical Applications and Future Plans"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "web",
        "backend"
      ]
    },
    {
      "title": "AutoShow Types with Dev Agrawal",
      "slug": "autoshow-types-dev-agrawal",
      "collection": "videos",
      "contentType": "Video",
      "description": "A conversation about TypeScript, modern JavaScript frameworks, and code organization featuring real-world examples and solutions",
      "summary": "A conversation about TypeScript, modern JavaScript frameworks, and code organization featuring real-world examples and solutions",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "Anthony Campolo",
        "channelUrl": "https://www.youtube.com/@ajcwebdev",
        "originalUrl": "https://www.youtube.com/watch?v=IWTxOzBjoTQ"
      },
      "publishedAt": "2025-01-08T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2025-01-08T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/autoshow-types-dev-agrawal/",
        "markdown": "https://ajcwebdev.com/videos/autoshow-types-dev-agrawal/index.md",
        "json": "https://ajcwebdev.com/videos/autoshow-types-dev-agrawal/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-catching-up-and-the-state-of-solidjs",
          "text": "00:00:00 - Catching Up and the State of SolidJS"
        },
        {
          "depth": 3,
          "id": "00-06-26-codemash-conference-and-async-ui-patterns",
          "text": "00:06:26 - CodeMash Conference and Async UI Patterns"
        },
        {
          "depth": 3,
          "id": "00-13-17-suspense-deep-dive-and-presentation-walkthrough",
          "text": "00:13:17 - Suspense Deep Dive and Presentation Walkthrough"
        },
        {
          "depth": 3,
          "id": "00-19-52-typescript-journey-and-framework-experiences",
          "text": "00:19:52 - TypeScript Journey and Framework Experiences"
        },
        {
          "depth": 3,
          "id": "00-31-34-typescript-in-practice-reading-and-navigating-code",
          "text": "00:31:34 - TypeScript in Practice: Reading and Navigating Code"
        },
        {
          "depth": 3,
          "id": "00-39-28-live-code-review-of-autoshow-types",
          "text": "00:39:28 - Live Code Review of AutoShow Types"
        },
        {
          "depth": 3,
          "id": "00-54-02-simplifying-types-through-inference",
          "text": "00:54:02 - Simplifying Types Through Inference"
        },
        {
          "depth": 3,
          "id": "01-06-56-typescript-tooling-and-developer-workflow",
          "text": "01:06:56 - TypeScript Tooling and Developer Workflow"
        },
        {
          "depth": 3,
          "id": "01-28-25-ai-image-generation-and-closing-thoughts",
          "text": "01:28:25 - AI Image Generation and Closing Thoughts"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "web",
        "frontend",
        "backend"
      ]
    },
    {
      "title": "Teach Jenn AutoShow with Anthony Campolo",
      "slug": "teach-jenn-autoshow",
      "collection": "videos",
      "contentType": "Video",
      "description": "A conversation about creating an open-source tool that uses AI for show notes, code collaboration, and more efficient content workflows",
      "summary": "A conversation about creating an open-source tool that uses AI for show notes, code collaboration, and more efficient content workflows",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "Anthony Campolo",
        "channelUrl": "https://www.youtube.com/@ajcwebdev",
        "originalUrl": "https://www.youtube.com/watch?v=O7lYISlHyps"
      },
      "publishedAt": "2024-12-06T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2024-12-06T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/teach-jenn-autoshow/",
        "markdown": "https://ajcwebdev.com/videos/teach-jenn-autoshow/index.md",
        "json": "https://ajcwebdev.com/videos/teach-jenn-autoshow/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-introduction-and-catching-up",
          "text": "00:00:00 - Introduction and Catching Up"
        },
        {
          "depth": 3,
          "id": "00-01-42-how-autoshow-was-born",
          "text": "00:01:42 - How AutoShow Was Born"
        },
        {
          "depth": 3,
          "id": "00-06-59-live-cli-demo-and-pipeline-walkthrough",
          "text": "00:06:59 - Live CLI Demo and Pipeline Walkthrough"
        },
        {
          "depth": 3,
          "id": "00-13-28-front-end-demo-and-feature-exploration",
          "text": "00:13:28 - Front End Demo and Feature Exploration"
        },
        {
          "depth": 3,
          "id": "00-20-19-upcoming-features-clipping-multi-llm-comparison-and-voice-matching",
          "text": "00:20:19 - Upcoming Features: Clipping, Multi-LLM Comparison, and Voice Matching"
        },
        {
          "depth": 3,
          "id": "00-26-38-generating-a-blog-post-from-a-live-stream",
          "text": "00:26:38 - Generating a Blog Post from a Live Stream"
        },
        {
          "depth": 3,
          "id": "00-37-37-first-contribution-adding-jenn-to-the-contributors-list",
          "text": "00:37:37 - First Contribution: Adding Jenn to the Contributors List"
        },
        {
          "depth": 3,
          "id": "00-53-14-working-with-issues-draft-prs-and-adding-a-rap-prompt",
          "text": "00:53:14 - Working with Issues, Draft PRs, and Adding a Rap Prompt"
        },
        {
          "depth": 3,
          "id": "01-17-53-wrap-up-and-next-steps",
          "text": "01:17:53 - Wrap-Up and Next Steps"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "ai"
      ]
    },
    {
      "title": "Realtime Frameworks with Dev Agrawal",
      "slug": "realtime-frameworks-dev-agrawal",
      "collection": "videos",
      "contentType": "Video",
      "description": "A conversation on real-time architectures, JS frameworks, and the challenges of building full stack apps with real-time features",
      "summary": "A conversation on real-time architectures, JS frameworks, and the challenges of building full stack apps with real-time features",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "Anthony Campolo",
        "channelUrl": "https://www.youtube.com/@ajcwebdev",
        "originalUrl": "https://www.youtube.com/watch?v=q8AlF3QcR2M"
      },
      "publishedAt": "2024-12-04T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2024-12-04T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/realtime-frameworks-dev-agrawal/",
        "markdown": "https://ajcwebdev.com/videos/realtime-frameworks-dev-agrawal/index.md",
        "json": "https://ajcwebdev.com/videos/realtime-frameworks-dev-agrawal/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-catching-up-and-dev-s-background",
          "text": "00:00:00 - Catching Up and Dev's Background"
        },
        {
          "depth": 3,
          "id": "00-04-11-solid-hackathon-and-the-real-time-web-problem",
          "text": "00:04:11 - Solid Hackathon and the Real-Time Web Problem"
        },
        {
          "depth": 3,
          "id": "00-10-44-server-functions-loaders-and-framework-conventions",
          "text": "00:10:44 - Server Functions, Loaders, and Framework Conventions"
        },
        {
          "depth": 3,
          "id": "00-23-39-why-solid-start-and-comparisons-with-other-frameworks",
          "text": "00:23:39 - Why Solid Start and Comparisons with Other Frameworks"
        },
        {
          "depth": 3,
          "id": "00-32-16-vite-vinxi-and-the-meta-framework-builder",
          "text": "00:32:16 - Vite, Vinxi, and the Meta-Framework Builder"
        },
        {
          "depth": 3,
          "id": "00-44-05-anthony-s-ai-powered-podcast-tool",
          "text": "00:44:05 - Anthony's AI-Powered Podcast Tool"
        },
        {
          "depth": 3,
          "id": "00-59-49-work-life-consulting-and-career-paths",
          "text": "00:59:49 - Work Life, Consulting, and Career Paths"
        },
        {
          "depth": 3,
          "id": "01-12-24-building-the-product-auth-architecture-and-typescript",
          "text": "01:12:24 - Building the Product: Auth, Architecture, and TypeScript"
        },
        {
          "depth": 3,
          "id": "01-31-03-graphql-s-enduring-value-and-closing-thoughts",
          "text": "01:31:03 - GraphQL's Enduring Value and Closing Thoughts"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "web",
        "frontend",
        "backend"
      ]
    },
    {
      "title": "AutoShow: Automated Content Repurposing Tool",
      "slug": "nick-taylor-autoshow",
      "collection": "videos",
      "contentType": "Video",
      "description": "Anthony Campolo demos AutoShow, an open-source AI tool that generates transcripts, summaries, and chapter notes from YouTube videos and podcasts",
      "summary": "Anthony Campolo demos AutoShow, an open-source AI tool that generates transcripts, summaries, and chapter notes from YouTube videos and podcasts",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "Nick Taylor",
        "channelUrl": "https://www.youtube.com/@nickytonline",
        "originalUrl": "https://www.youtube.com/watch?v=89FbJXhzdjg"
      },
      "publishedAt": "2024-11-06T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2024-11-06T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/nick-taylor-autoshow/",
        "markdown": "https://ajcwebdev.com/videos/nick-taylor-autoshow/index.md",
        "json": "https://ajcwebdev.com/videos/nick-taylor-autoshow/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-31-catching-up-and-conference-talk",
          "text": "00:00:31 - Catching Up and Conference Talk"
        },
        {
          "depth": 3,
          "id": "00-04-13-anthony-s-background-and-autoshow-origins",
          "text": "00:04:13 - Anthony's Background and AutoShow Origins"
        },
        {
          "depth": 3,
          "id": "00-08-24-expanding-beyond-content-creators",
          "text": "00:08:24 - Expanding Beyond Content Creators"
        },
        {
          "depth": 3,
          "id": "00-11-34-voice-notes-writing-workflows-and-ai-tools",
          "text": "00:11:34 - Voice Notes, Writing Workflows, and AI Tools"
        },
        {
          "depth": 3,
          "id": "00-16-15-live-demo-setup-and-ollama-explained",
          "text": "00:16:15 - Live Demo Setup and Ollama Explained"
        },
        {
          "depth": 3,
          "id": "00-27-52-running-autoshow-with-ollama",
          "text": "00:27:52 - Running AutoShow with Ollama"
        },
        {
          "depth": 3,
          "id": "00-39-01-examining-output-and-the-astro-integration",
          "text": "00:39:01 - Examining Output and the Astro Integration"
        },
        {
          "depth": 3,
          "id": "00-45-21-trying-claude-and-the-api-key-dance",
          "text": "00:45:21 - Trying Claude and the API Key Dance"
        },
        {
          "depth": 3,
          "id": "00-59-29-productization-pricing-and-business-model",
          "text": "00:59:29 - Productization, Pricing, and Business Model"
        },
        {
          "depth": 3,
          "id": "01-08-03-competitive-landscape-and-wrapping-up",
          "text": "01:08:03 - Competitive Landscape and Wrapping Up"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "ai"
      ]
    },
    {
      "title": "Getting Started with Dashmate",
      "slug": "getting-started-with-dashmate",
      "collection": "videos",
      "contentType": "Video",
      "description": "A walkthrough of using Dashmate to set up a local Dash Platform development environment, covering setup, wallet creation, minting, and document submission",
      "summary": "A walkthrough of using Dashmate to set up a local Dash Platform development environment, covering setup, wallet creation, minting, and document submission",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "Dash Incubator",
        "channelUrl": "https://www.youtube.com/channel/UCZVi0jeaBJ-bYcXQabnE9jA",
        "originalUrl": "https://www.youtube.com/watch?v=s8c9Wqx1Su0"
      },
      "publishedAt": "2024-07-25T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2024-07-25T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/getting-started-with-dashmate/",
        "markdown": "https://ajcwebdev.com/videos/getting-started-with-dashmate/index.md",
        "json": "https://ajcwebdev.com/videos/getting-started-with-dashmate/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-introduction-and-local-network-overview",
          "text": "00:00:00 - Introduction and Local Network Overview"
        },
        {
          "depth": 3,
          "id": "00-04-55-managing-the-network-and-configuration",
          "text": "00:04:55 - Managing the Network and Configuration"
        },
        {
          "depth": 3,
          "id": "00-12-46-project-setup-wallet-creation-and-minting",
          "text": "00:12:46 - Project Setup, Wallet Creation, and Minting"
        },
        {
          "depth": 3,
          "id": "00-19-17-exploring-the-block-explorer-and-docker-services",
          "text": "00:19:17 - Exploring the Block Explorer and Docker Services"
        },
        {
          "depth": 3,
          "id": "00-24-10-identity-registration-contract-creation-and-document-submission",
          "text": "00:24:10 - Identity Registration, Contract Creation, and Document Submission"
        },
        {
          "depth": 3,
          "id": "00-31-03-query-syntax-discussion-and-wrap-up",
          "text": "00:31:03 - Query Syntax Discussion and Wrap-Up"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "blockchain"
      ]
    },
    {
      "title": "Spreadsheets Are All You Need - Excel Meets GPT with Ishan Anand",
      "slug": "excel-meets-gpt",
      "collection": "videos",
      "contentType": "Video",
      "description": "Ishan Anand discusses his project Spreadsheets Are All You Need, which implements GPT-2 in Excel spreadsheets to teach how large language models work",
      "summary": "Ishan Anand discusses his project Spreadsheets Are All You Need, which implements GPT-2 in Excel spreadsheets to teach how large language models work",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "Anthony Campolo",
        "channelUrl": "https://www.youtube.com/@ajcwebdev",
        "originalUrl": "https://www.youtube.com/watch?v=stFnrK8JqIs"
      },
      "publishedAt": "2024-07-03T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2024-07-03T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/excel-meets-gpt/",
        "markdown": "https://ajcwebdev.com/videos/excel-meets-gpt/index.md",
        "json": "https://ajcwebdev.com/videos/excel-meets-gpt/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-introductions-and-jamstack-roots",
          "text": "00:00:00 - Introductions and Jamstack Roots"
        },
        {
          "depth": 3,
          "id": "00-04-48-the-rise-of-the-ai-engineer",
          "text": "00:04:48 - The Rise of the AI Engineer"
        },
        {
          "depth": 3,
          "id": "00-10-41-ai-skepticism-copilots-and-the-stage-play-era",
          "text": "00:10:41 - AI Skepticism, Copilots, and the Stage Play Era"
        },
        {
          "depth": 3,
          "id": "00-15-41-spreadsheets-are-all-you-need-overview-and-demo",
          "text": "00:15:41 - Spreadsheets Are All You Need: Overview and Demo"
        },
        {
          "depth": 3,
          "id": "00-26-25-how-transformers-work-the-anatomy",
          "text": "00:26:25 - How Transformers Work: The Anatomy"
        },
        {
          "depth": 3,
          "id": "00-33-54-the-residual-stream-and-mechanistic-interpretability",
          "text": "00:33:54 - The Residual Stream and Mechanistic Interpretability"
        },
        {
          "depth": 3,
          "id": "00-48-35-circuits-n-grams-and-spreadsheet-challenges",
          "text": "00:48:35 - Circuits, N-Grams, and Spreadsheet Challenges"
        },
        {
          "depth": 3,
          "id": "00-53-03-teaching-tool-future-vision-and-the-course",
          "text": "00:53:03 - Teaching Tool, Future Vision, and the Course"
        },
        {
          "depth": 3,
          "id": "01-00-26-ai-adoption-autoshow-and-closing-thoughts",
          "text": "01:00:26 - AI Adoption, AutoShow, and Closing Thoughts"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "ai"
      ]
    },
    {
      "title": "Decentralized Identifiers and AI with Rizel Scarlett",
      "slug": "dids-and-ai-rizel-scarlett",
      "collection": "videos",
      "contentType": "Video",
      "description": "Rizèl Scarlett discusses decentralized identifiers, Web5, and AI applications, exploring data ownership and identity verification in the digital age",
      "summary": "Rizèl Scarlett discusses decentralized identifiers, Web5, and AI applications, exploring data ownership and identity verification in the digital age",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "Anthony Campolo",
        "channelUrl": "https://www.youtube.com/@ajcwebdev",
        "originalUrl": "https://www.youtube.com/watch?v=SrcHvzkDfcM"
      },
      "publishedAt": "2024-06-11T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2024-06-11T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/dids-and-ai-rizel-scarlett/",
        "markdown": "https://ajcwebdev.com/videos/dids-and-ai-rizel-scarlett/index.md",
        "json": "https://ajcwebdev.com/videos/dids-and-ai-rizel-scarlett/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-catching-up-and-rizel-s-move-to-tbd",
          "text": "00:00:00 - Catching Up and Rizel's Move to TBD"
        },
        {
          "depth": 3,
          "id": "00-04-01-decentralized-identifiers-and-the-did-spec",
          "text": "00:04:01 - Decentralized Identifiers and the DID Spec"
        },
        {
          "depth": 3,
          "id": "00-10-39-ai-content-verification-and-verifiable-credentials",
          "text": "00:10:39 - AI, Content Verification, and Verifiable Credentials"
        },
        {
          "depth": 3,
          "id": "00-20-58-convincing-people-and-decentralized-web-nodes",
          "text": "00:20:58 - Convincing People and Decentralized Web Nodes"
        },
        {
          "depth": 3,
          "id": "00-29-35-bittorrent-parallels-and-tbdex-finance",
          "text": "00:29:35 - BitTorrent Parallels and TBDex Finance"
        },
        {
          "depth": 3,
          "id": "00-33-51-ai-meets-web5-kin-and-autonomy-demos",
          "text": "00:33:51 - AI Meets Web5: Kin and Autonomy Demos"
        },
        {
          "depth": 3,
          "id": "00-51-08-autoshow-demo-and-wrapping-up",
          "text": "00:51:08 - AutoShow Demo and Wrapping Up"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "ai",
        "blockchain"
      ]
    },
    {
      "title": "Layoff Log with Chantastic",
      "slug": "layoff-log-chantastic",
      "collection": "videos",
      "contentType": "Video",
      "description": "Anthony Campolo and Michael Chan discuss AI tools, content creation, podcasting, and web development frameworks in a wide-ranging conversation",
      "summary": "Anthony Campolo and Michael Chan discuss AI tools, content creation, podcasting, and web development frameworks in a wide-ranging conversation",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "Anthony Campolo",
        "channelUrl": "https://www.youtube.com/@ajcwebdev",
        "originalUrl": "https://www.youtube.com/watch?v=I6n1y3xJZq4"
      },
      "publishedAt": "2024-05-30T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2024-05-30T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/layoff-log-chantastic/",
        "markdown": "https://ajcwebdev.com/videos/layoff-log-chantastic/index.md",
        "json": "https://ajcwebdev.com/videos/layoff-log-chantastic/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-reconnecting-after-the-pandemic-discord-era",
          "text": "00:00:00 - Reconnecting After the Pandemic Discord Era"
        },
        {
          "depth": 3,
          "id": "00-04-47-michael-s-layoff-logs-and-the-quest-to-make-videos-faster",
          "text": "00:04:47 - Michael's Layoff Logs and the Quest to Make Videos Faster"
        },
        {
          "depth": 3,
          "id": "00-12-02-live-demo-of-autoshow-on-react-podcast-episodes",
          "text": "00:12:02 - Live Demo of AutoShow on React Podcast Episodes"
        },
        {
          "depth": 3,
          "id": "00-23-45-clipping-strategy-and-the-editor-integration-gap",
          "text": "00:23:45 - Clipping Strategy and the Editor Integration Gap"
        },
        {
          "depth": 3,
          "id": "00-32-27-video-editing-tools-aliases-and-developer-workflows",
          "text": "00:32:27 - Video Editing Tools, Aliases, and Developer Workflows"
        },
        {
          "depth": 3,
          "id": "00-37-01-favorite-interviews-editing-philosophy-and-ai-skepticism",
          "text": "00:37:01 - Favorite Interviews, Editing Philosophy, and AI Skepticism"
        },
        {
          "depth": 3,
          "id": "00-51-02-frameworks-orms-prisma-and-the-javascript-ecosystem",
          "text": "00:51:02 - Frameworks, ORMs, Prisma, and the JavaScript Ecosystem"
        },
        {
          "depth": 3,
          "id": "01-02-43-php-cloudflare-sqlite-at-the-edge-and-closing-thoughts",
          "text": "01:02:43 - PHP, Cloudflare, SQLite at the Edge, and Closing Thoughts"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "web",
        "ai"
      ]
    },
    {
      "title": "Autogenerate Shownotes with Whisper-cpp and yt-dlp",
      "slug": "nick-taylor-autogenerate-shownotes",
      "collection": "videos",
      "contentType": "Video",
      "description": "Anthony Campolo discusses his open-source project AutoShow, which automates the creation of show notes and summaries for video and audio content using AI tools",
      "summary": "Anthony Campolo discusses his open-source project AutoShow, which automates the creation of show notes and summaries for video and audio content using AI tools",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "Nick Taylor",
        "channelUrl": "https://www.youtube.com/@nickytonline",
        "originalUrl": "https://www.youtube.com/watch?v=SYn7XYnBmyI"
      },
      "publishedAt": "2024-05-30T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2024-05-30T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/nick-taylor-autogenerate-shownotes/",
        "markdown": "https://ajcwebdev.com/videos/nick-taylor-autogenerate-shownotes/index.md",
        "json": "https://ajcwebdev.com/videos/nick-taylor-autogenerate-shownotes/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-introduction-and-autoshow-overview",
          "text": "00:00:00 - Introduction and AutoShow Overview"
        },
        {
          "depth": 3,
          "id": "00-05-11-demo-prep-cost-discussion-and-previous-ai-work",
          "text": "00:05:11 - Demo Prep, Cost Discussion, and Previous AI Work"
        },
        {
          "depth": 3,
          "id": "00-13-17-open-source-vision-and-product-plans",
          "text": "00:13:17 - Open Source Vision and Product Plans"
        },
        {
          "depth": 3,
          "id": "00-18-25-live-coding-setting-up-whisper-cpp-and-running-locally",
          "text": "00:18:25 - Live Coding: Setting Up Whisper.cpp and Running Locally"
        },
        {
          "depth": 3,
          "id": "00-26-16-reviewing-output-and-automated-pipeline-with-cloud-services",
          "text": "00:26:16 - Reviewing Output and Automated Pipeline with Cloud Services"
        },
        {
          "depth": 3,
          "id": "00-38-40-code-walkthrough-and-architecture-discussion",
          "text": "00:38:40 - Code Walkthrough and Architecture Discussion"
        },
        {
          "depth": 3,
          "id": "00-53-51-content-creator-workflows-and-automation-ideas",
          "text": "00:53:51 - Content Creator Workflows and Automation Ideas"
        },
        {
          "depth": 3,
          "id": "01-05-05-future-plans-ai-engineering-and-closing-thoughts",
          "text": "01:05:05 - Future Plans, AI Engineering, and Closing Thoughts"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "ai"
      ]
    },
    {
      "title": "LLM Client with Spacy",
      "slug": "llm-client-spacy",
      "collection": "videos",
      "contentType": "Video",
      "description": "Spacy joins AJC and the Web Devs to discuss LLM Client, his open-source framework for building apps with large language models",
      "summary": "Spacy joins AJC and the Web Devs to discuss LLM Client, his open-source framework for building apps with large language models",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "Anthony Campolo",
        "channelUrl": "https://www.youtube.com/@ajcwebdev",
        "originalUrl": "https://www.youtube.com/watch?v=h41DF9GUqx4"
      },
      "publishedAt": "2024-05-29T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2024-05-29T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/llm-client-spacy/",
        "markdown": "https://ajcwebdev.com/videos/llm-client-spacy/index.md",
        "json": "https://ajcwebdev.com/videos/llm-client-spacy/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-introductions-and-spacey-s-background",
          "text": "00:00:00 - Introductions and Spacey's Background"
        },
        {
          "depth": 3,
          "id": "00-04-38-the-bert-era-and-early-language-models",
          "text": "00:04:38 - The BERT Era and Early Language Models"
        },
        {
          "depth": 3,
          "id": "00-11-43-llm-client-origins-and-the-dspy-inspiration",
          "text": "00:11:43 - LLM Client Origins and the DSPy Inspiration"
        },
        {
          "depth": 3,
          "id": "00-20-18-dspy-concepts-signatures-traces-and-optimization-loops",
          "text": "00:20:18 - DSPy Concepts: Signatures, Traces, and Optimization Loops"
        },
        {
          "depth": 3,
          "id": "00-25-43-live-demo-signatures-chain-of-thought-and-few-shot-examples",
          "text": "00:25:43 - Live Demo: Signatures, Chain of Thought, and Few-Shot Examples"
        },
        {
          "depth": 3,
          "id": "00-48-54-multi-hop-rag-bootstrap-optimization-and-trace-collection",
          "text": "00:48:54 - Multi-Hop RAG, Bootstrap Optimization, and Trace Collection"
        },
        {
          "depth": 3,
          "id": "00-58-54-agents-semantic-routing-and-production-features",
          "text": "00:58:54 - Agents, Semantic Routing, and Production Features"
        },
        {
          "depth": 3,
          "id": "01-17-16-open-source-community-and-closing-thoughts",
          "text": "01:17:16 - Open Source, Community, and Closing Thoughts"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "ai"
      ]
    },
    {
      "title": "AutoShow and Local LLMs with Monarch Wadia",
      "slug": "autoshow-and-local-llms",
      "collection": "videos",
      "contentType": "Video",
      "description": "Anthony Campolo and Monarch Wadia (later joined by Fuzzy Bear) discuss AI tools, open-source development, and the philosophical implications of LLMs",
      "summary": "Anthony Campolo and Monarch Wadia (later joined by Fuzzy Bear) discuss AI tools, open-source development, and the philosophical implications of LLMs",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "Anthony Campolo",
        "channelUrl": "https://www.youtube.com/@ajcwebdev",
        "originalUrl": "https://www.youtube.com/watch?v=nHIUCOtJXeI"
      },
      "publishedAt": "2024-05-22T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2024-05-22T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/autoshow-and-local-llms/",
        "markdown": "https://ajcwebdev.com/videos/autoshow-and-local-llms/index.md",
        "json": "https://ajcwebdev.com/videos/autoshow-and-local-llms/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-introduction-and-autoshow-overview",
          "text": "00:00:00 - Introduction and AutoShow Overview"
        },
        {
          "depth": 3,
          "id": "00-07-41-task-orchestration-and-pipeline-management",
          "text": "00:07:41 - Task Orchestration and Pipeline Management"
        },
        {
          "depth": 3,
          "id": "00-14-20-local-llms-apis-and-cost-trade-offs",
          "text": "00:14:20 - Local LLMs, APIs, and Cost Trade-offs"
        },
        {
          "depth": 3,
          "id": "00-24-06-browser-llms-webllm-and-the-dspy-framework",
          "text": "00:24:06 - Browser LLMs, WebLLM, and the DSPy Framework"
        },
        {
          "depth": 3,
          "id": "00-31-13-ai-generated-content-copyright-and-the-semantic-web",
          "text": "00:31:13 - AI-Generated Content, Copyright, and the Semantic Web"
        },
        {
          "depth": 3,
          "id": "00-42-02-digital-empowerment-accessibility-and-societal-impact",
          "text": "00:42:02 - Digital Empowerment, Accessibility, and Societal Impact"
        },
        {
          "depth": 3,
          "id": "00-55-06-fuzzy-bear-joins-energy-open-source-and-big-tech",
          "text": "00:55:06 - Fuzzy Bear Joins: Energy, Open Source, and Big Tech"
        },
        {
          "depth": 3,
          "id": "01-17-13-language-intelligence-and-natural-language-as-code",
          "text": "01:17:13 - Language, Intelligence, and Natural Language as Code"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "ai"
      ]
    },
    {
      "title": "Transcription APIs and Integrating LLMs with Monarch Wadia",
      "slug": "transcription-apis-and-llms",
      "collection": "videos",
      "contentType": "Video",
      "description": "Monarch Wadia and Anthony Campolo discuss current text and transcription AI tools and their intersection with topics like Jungian archetypes and consciousness",
      "summary": "Monarch Wadia and Anthony Campolo discuss current text and transcription AI tools and their intersection with topics like Jungian archetypes and consciousness",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "Anthony Campolo",
        "channelUrl": "https://www.youtube.com/@ajcwebdev",
        "originalUrl": "https://www.youtube.com/watch?v=oduXaeW8MBQ"
      },
      "publishedAt": "2024-05-08T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2024-05-08T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/transcription-apis-and-llms/",
        "markdown": "https://ajcwebdev.com/videos/transcription-apis-and-llms/index.md",
        "json": "https://ajcwebdev.com/videos/transcription-apis-and-llms/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-introduction-and-ai-job-market",
          "text": "00:00:00 - Introduction and AI Job Market"
        },
        {
          "depth": 3,
          "id": "00-03-40-the-sydney-incident-and-jungian-archetypes-in-ai",
          "text": "00:03:40 - The Sydney Incident and Jungian Archetypes in AI"
        },
        {
          "depth": 3,
          "id": "00-08-54-english-as-a-programming-language-and-the-humanities",
          "text": "00:08:54 - English as a Programming Language and the Humanities"
        },
        {
          "depth": 3,
          "id": "00-20-24-transcription-apis-assemblyai-deepgram-and-speechmatics",
          "text": "00:20:24 - Transcription APIs: AssemblyAI, Deepgram, and Speechmatics"
        },
        {
          "depth": 3,
          "id": "00-27-47-building-a-transcription-product-and-voice-notes",
          "text": "00:27:47 - Building a Transcription Product and Voice Notes"
        },
        {
          "depth": 3,
          "id": "00-30-01-webllm-secret-llama-and-running-models-locally",
          "text": "00:30:01 - WebLLM, Secret Llama, and Running Models Locally"
        },
        {
          "depth": 3,
          "id": "00-38-15-ragged-demo-tool-use-and-the-fal-ai-integration",
          "text": "00:38:15 - Ragged Demo: Tool Use and the fal.ai Integration"
        },
        {
          "depth": 3,
          "id": "00-42-04-ragged-s-philosophy-solid-principles-vs-langchain",
          "text": "00:42:04 - Ragged's Philosophy: SOLID Principles vs. LangChain"
        },
        {
          "depth": 3,
          "id": "00-48-13-agents-as-recursion-and-the-oop-analogy",
          "text": "00:48:13 - Agents as Recursion and the OOP Analogy"
        },
        {
          "depth": 3,
          "id": "00-55-25-the-useragged-hook-and-history-data-model",
          "text": "00:55:25 - The useRagged Hook and History Data Model"
        },
        {
          "depth": 3,
          "id": "01-00-01-front-end-rag-privacy-and-future-roadmap",
          "text": "01:00:01 - Front-End RAG, Privacy, and Future Roadmap"
        },
        {
          "depth": 3,
          "id": "01-15-07-chain-of-thought-and-prompt-engineering-philosophy",
          "text": "01:15:07 - Chain of Thought and Prompt Engineering Philosophy"
        },
        {
          "depth": 3,
          "id": "01-20-14-mythology-mushrooms-and-the-nature-of-intelligence",
          "text": "01:20:14 - Mythology, Mushrooms, and the Nature of Intelligence"
        },
        {
          "depth": 3,
          "id": "01-27-12-wrap-up-and-next-week-s-goals",
          "text": "01:27:12 - Wrap-Up and Next Week's Goals"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "ai"
      ]
    },
    {
      "title": "NPM Packages with Monarch Wadia",
      "slug": "npm-packages-monarch-wadia",
      "collection": "videos",
      "contentType": "Video",
      "description": "Monarch Wadia and Anthony Campolo discuss the process of publishing NPM packages and explore CLI tools and JavaScript development",
      "summary": "Monarch Wadia and Anthony Campolo discuss the process of publishing NPM packages and explore CLI tools and JavaScript development",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "Anthony Campolo",
        "channelUrl": "https://www.youtube.com/@ajcwebdev",
        "originalUrl": "https://www.youtube.com/watch?v=UYss9j4qlhU"
      },
      "publishedAt": "2024-05-01T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2024-05-01T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/npm-packages-monarch-wadia/",
        "markdown": "https://ajcwebdev.com/videos/npm-packages-monarch-wadia/index.md",
        "json": "https://ajcwebdev.com/videos/npm-packages-monarch-wadia/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-introductions-and-the-ragged-project",
          "text": "00:00:00 - Introductions and the Ragged Project"
        },
        {
          "depth": 3,
          "id": "00-03-44-the-basics-of-npm-publishing-and-semver",
          "text": "00:03:44 - The Basics of npm Publishing and Semver"
        },
        {
          "depth": 3,
          "id": "00-10-23-exploring-the-ragged-monorepo-structure",
          "text": "00:10:23 - Exploring the Ragged Monorepo Structure"
        },
        {
          "depth": 3,
          "id": "00-15-17-npm-vs-git-package-json-deep-dive-and-security",
          "text": "00:15:17 - npm vs Git, Package.json Deep Dive, and Security"
        },
        {
          "depth": 3,
          "id": "00-23-36-github-actions-for-npm-publishing",
          "text": "00:23:36 - GitHub Actions for npm Publishing"
        },
        {
          "depth": 3,
          "id": "00-31-04-hardware-drivers-and-the-history-of-software",
          "text": "00:31:04 - Hardware, Drivers, and the History of Software"
        },
        {
          "depth": 3,
          "id": "00-37-05-the-exports-field-and-building-a-cli",
          "text": "00:37:05 - The Exports Field and Building a CLI"
        },
        {
          "depth": 3,
          "id": "00-50-05-live-publishing-a-new-npm-package",
          "text": "00:50:05 - Live Publishing a New npm Package"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "web",
        "backend"
      ]
    },
    {
      "title": "StoryTime - Generate Childrens Stories with AI - Mike Cavaliere",
      "slug": "storytime-mike-cavaliere",
      "collection": "videos",
      "contentType": "Video",
      "description": "Mike Cavaliere discusses building StoryTime, an AI-powered children's story generator app, exploring prompt engineering and AI development challenges",
      "summary": "Mike Cavaliere discusses building StoryTime, an AI-powered children's story generator app, exploring prompt engineering and AI development challenges",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "Anthony Campolo",
        "channelUrl": "https://www.youtube.com/@ajcwebdev",
        "originalUrl": "https://www.youtube.com/watch?v=s5A6qky0kZg"
      },
      "publishedAt": "2024-04-27T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2024-04-27T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/storytime-mike-cavaliere/",
        "markdown": "https://ajcwebdev.com/videos/storytime-mike-cavaliere/index.md",
        "json": "https://ajcwebdev.com/videos/storytime-mike-cavaliere/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-introductions-and-the-jamstack-legacy",
          "text": "00:00:00 - Introductions and the Jamstack Legacy"
        },
        {
          "depth": 3,
          "id": "00-04-39-the-search-for-javascript-s-ruby-on-rails",
          "text": "00:04:39 - The Search for JavaScript's Ruby on Rails"
        },
        {
          "depth": 3,
          "id": "00-12-33-introducing-storytime-and-the-ai-story-generator",
          "text": "00:12:33 - Introducing Storytime and the AI Story Generator"
        },
        {
          "depth": 3,
          "id": "00-21-56-music-generation-monetization-and-feature-ideas",
          "text": "00:21:56 - Music Generation, Monetization, and Feature Ideas"
        },
        {
          "depth": 3,
          "id": "00-27-30-prompt-engineering-deep-dive",
          "text": "00:27:30 - Prompt Engineering Deep Dive"
        },
        {
          "depth": 3,
          "id": "00-44-27-ai-s-impact-on-developer-careers-and-building-the-future",
          "text": "00:44:27 - AI's Impact on Developer Careers and Building the Future"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "web",
        "frontend",
        "ai"
      ]
    },
    {
      "title": "End to End Tutorial Debut | Incubator WEEKLY",
      "slug": "dash-tutorial-debut",
      "collection": "videos",
      "contentType": "Video",
      "description": "Dash Incubator discusses their DAO proposal narrowly failing, explains how the voting and CrowdNode systems work, and previews a new end-to-end dev tutorial",
      "summary": "Dash Incubator discusses their DAO proposal narrowly failing, explains how the voting and CrowdNode systems work, and previews a new end-to-end dev tutorial",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "Dash Incubator",
        "channelUrl": "https://www.youtube.com/channel/UCZVi0jeaBJ-bYcXQabnE9jA",
        "originalUrl": "https://www.youtube.com/watch?v=7X6V5CCbvqQ"
      },
      "publishedAt": "2024-04-23T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2024-04-23T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/dash-tutorial-debut/",
        "markdown": "https://ajcwebdev.com/videos/dash-tutorial-debut/index.md",
        "json": "https://ajcwebdev.com/videos/dash-tutorial-debut/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-proposal-failure-and-dao-governance-explained",
          "text": "00:00:00 - Proposal Failure and DAO Governance Explained"
        },
        {
          "depth": 3,
          "id": "00-05-31-crowdnode-s-amplification-effect-on-voting",
          "text": "00:05:31 - CrowdNode's Amplification Effect on Voting"
        },
        {
          "depth": 3,
          "id": "00-12-56-impact-on-operations-and-sdk-strategy",
          "text": "00:12:56 - Impact on Operations and SDK Strategy"
        },
        {
          "depth": 3,
          "id": "00-28-45-strategy-discussion-and-developer-incentives",
          "text": "00:28:45 - Strategy Discussion and Developer Incentives"
        },
        {
          "depth": 3,
          "id": "00-40-28-end-to-end-tutorial-walkthrough",
          "text": "00:40:28 - End-to-End Tutorial Walkthrough"
        },
        {
          "depth": 3,
          "id": "00-53-00-closing-reflections-and-next-steps",
          "text": "00:53:00 - Closing Reflections and Next Steps"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "blockchain"
      ]
    },
    {
      "title": "Building an AI Frontend App with Ragged featuring Monarch Wadia",
      "slug": "ragged-monarch-wadia",
      "collection": "videos",
      "contentType": "Video",
      "description": "Anthony Campolo interviews Monarch Wadia about Ragged, a TypeScript library simplifying LLM integration for web developers",
      "summary": "Anthony Campolo interviews Monarch Wadia about Ragged, a TypeScript library simplifying LLM integration for web developers",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "Anthony Campolo",
        "channelUrl": "https://www.youtube.com/@ajcwebdev",
        "originalUrl": "https://www.youtube.com/watch?v=DXW3MBjCi70"
      },
      "publishedAt": "2024-04-22T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2024-04-22T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/ragged-monarch-wadia/",
        "markdown": "https://ajcwebdev.com/videos/ragged-monarch-wadia/index.md",
        "json": "https://ajcwebdev.com/videos/ragged-monarch-wadia/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-introductions-and-developer-backgrounds",
          "text": "00:00:00 - Introductions and Developer Backgrounds"
        },
        {
          "depth": 3,
          "id": "00-03-49-the-ai-journey-and-why-this-time-is-different",
          "text": "00:03:49 - The AI Journey and Why This Time Is Different"
        },
        {
          "depth": 3,
          "id": "00-10-03-developers-job-fears-and-ragged-s-mission",
          "text": "00:10:03 - Developers, Job Fears, and Ragged's Mission"
        },
        {
          "depth": 3,
          "id": "00-17-27-live-demo-smart-reader-and-tool-use",
          "text": "00:17:27 - Live Demo: Smart Reader and Tool Use"
        },
        {
          "depth": 3,
          "id": "00-28-08-client-side-security-and-local-llm-futures",
          "text": "00:28:08 - Client-Side Security and Local LLM Futures"
        },
        {
          "depth": 3,
          "id": "00-37-30-the-adder-example-and-building-custom-tools",
          "text": "00:37:30 - The Adder Example and Building Custom Tools"
        },
        {
          "depth": 3,
          "id": "00-48-32-anthony-s-ai-content-workflow",
          "text": "00:48:32 - Anthony's AI Content Workflow"
        },
        {
          "depth": 3,
          "id": "00-56-56-llm-detection-claude-vs-chatgpt-and-wrapping-up",
          "text": "00:56:56 - LLM Detection, Claude vs ChatGPT, and Wrapping Up"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "web",
        "frontend",
        "ai"
      ]
    },
    {
      "title": "AI transcript generator with ajcwebdev",
      "slug": "ai-transcript-generator",
      "collection": "videos",
      "contentType": "Video",
      "description": "Ben Holmes and Anthony Campolo demo using AI to automatically generate show notes and transcripts from YouTube videos and podcasts",
      "summary": "Ben Holmes and Anthony Campolo demo using AI to automatically generate show notes and transcripts from YouTube videos and podcasts",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "BHolmesVods",
        "channelUrl": "https://www.youtube.com/@BHolmesVods",
        "originalUrl": "https://www.youtube.com/watch?v=BEUTboGeLdA"
      },
      "publishedAt": "2024-04-18T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2024-04-18T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/ai-transcript-generator/",
        "markdown": "https://ajcwebdev.com/videos/ai-transcript-generator/index.md",
        "json": "https://ajcwebdev.com/videos/ai-transcript-generator/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-catching-up-on-streaming-and-freelancing",
          "text": "00:00:00 - Catching Up on Streaming and Freelancing"
        },
        {
          "depth": 3,
          "id": "00-04-31-learning-styles-and-the-limits-of-video-tutorials",
          "text": "00:04:31 - Learning Styles and the Limits of Video Tutorials"
        },
        {
          "depth": 3,
          "id": "00-07-15-introducing-the-autogen-show-notes-pipeline",
          "text": "00:07:15 - Introducing the Autogen Show Notes Pipeline"
        },
        {
          "depth": 3,
          "id": "00-10-36-running-the-tool-live-and-exploring-the-script",
          "text": "00:10:36 - Running the Tool Live and Exploring the Script"
        },
        {
          "depth": 3,
          "id": "00-18-34-youtube-transcription-vs-whisper-and-practical-applications",
          "text": "00:18:34 - YouTube Transcription vs. Whisper and Practical Applications"
        },
        {
          "depth": 3,
          "id": "00-30-24-integrating-with-astro-and-database-workflows",
          "text": "00:30:24 - Integrating with Astro and Database Workflows"
        },
        {
          "depth": 3,
          "id": "00-37-37-developer-friendly-transcription-and-whisper-customization",
          "text": "00:37:37 - Developer-Friendly Transcription and Whisper Customization"
        },
        {
          "depth": 3,
          "id": "00-45-45-transcribing-local-files-and-live-experimentation",
          "text": "00:45:45 - Transcribing Local Files and Live Experimentation"
        },
        {
          "depth": 3,
          "id": "01-02-37-wrapping-up-and-sharing-resources",
          "text": "01:02:37 - Wrapping Up and Sharing Resources"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "ai"
      ]
    },
    {
      "title": "AI Frontends with Anthony Campolo and Nick Taylor",
      "slug": "nick-taylor-ai-frontends",
      "collection": "videos",
      "contentType": "Video",
      "description": "Nick Taylor and Anthony Campolo discuss AI frontends, exploring tools like LlamaIndex and Mistral, and demo how to build AI-powered apps for content creators",
      "summary": "Nick Taylor and Anthony Campolo discuss AI frontends, exploring tools like LlamaIndex and Mistral, and demo how to build AI-powered apps for content creators",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "Nick Taylor",
        "channelUrl": "https://www.youtube.com/@nickytonline",
        "originalUrl": "https://www.youtube.com/watch?v=3Ifiw4QBZCs"
      },
      "publishedAt": "2024-04-09T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2024-04-09T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/nick-taylor-ai-frontends/",
        "markdown": "https://ajcwebdev.com/videos/nick-taylor-ai-frontends/index.md",
        "json": "https://ajcwebdev.com/videos/nick-taylor-ai-frontends/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-introductions-and-anthony-s-path-to-ai",
          "text": "00:00:00 - Introductions and Anthony's Path to AI"
        },
        {
          "depth": 3,
          "id": "00-05-44-ai-concepts-context-windows-embeddings-and-agents",
          "text": "00:05:44 - AI Concepts: Context Windows, Embeddings, and Agents"
        },
        {
          "depth": 3,
          "id": "00-19-26-hardware-speed-and-the-ai-arms-race",
          "text": "00:19:26 - Hardware, Speed, and the AI Arms Race"
        },
        {
          "depth": 3,
          "id": "00-26-54-learning-with-ai-and-normalizing-its-use-at-work",
          "text": "00:26:54 - Learning with AI and Normalizing Its Use at Work"
        },
        {
          "depth": 3,
          "id": "00-36-16-live-coding-with-llamaindex-ts",
          "text": "00:36:16 - Live Coding with LlamaIndex TS"
        },
        {
          "depth": 3,
          "id": "00-58-28-langchain-mistral-and-open-source-ai-models",
          "text": "00:58:28 - LangChain, Mistral, and Open Source AI Models"
        },
        {
          "depth": 3,
          "id": "01-19-16-wrapping-up-and-future-plans",
          "text": "01:19:16 - Wrapping Up and Future Plans"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "web",
        "frontend",
        "ai"
      ]
    },
    {
      "title": "Pipedream with Dylan Pierce",
      "slug": "pipedream-dylan-pierce",
      "collection": "videos",
      "contentType": "Video",
      "description": "Dylan Pierce from Pipedream demos AI-powered web scraping with Puppeteer, showing how devs can automate workflows and extract data without boilerplate code",
      "summary": "Dylan Pierce from Pipedream demos AI-powered web scraping with Puppeteer, showing how devs can automate workflows and extract data without boilerplate code",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "JavaScript Jam",
        "channelUrl": "https://www.youtube.com/channel/UCoOajN1o9uLi1sEHoTpIbUg",
        "originalUrl": "https://www.youtube.com/watch?v=iXQwJy5BxoY"
      },
      "publishedAt": "2023-11-13T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2023-11-13T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/pipedream-dylan-pierce/",
        "markdown": "https://ajcwebdev.com/videos/pipedream-dylan-pierce/index.md",
        "json": "https://ajcwebdev.com/videos/pipedream-dylan-pierce/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-introductions-and-dylan-s-path-to-devrel",
          "text": "00:00:00 - Introductions and Dylan's Path to DevRel"
        },
        {
          "depth": 3,
          "id": "00-05-24-pipedream-basics-projects-workflows-and-triggers",
          "text": "00:05:24 - Pipedream Basics: Projects, Workflows, and Triggers"
        },
        {
          "depth": 3,
          "id": "00-11-17-serverless-configuration-pricing-and-use-cases",
          "text": "00:11:17 - Serverless Configuration, Pricing, and Use Cases"
        },
        {
          "depth": 3,
          "id": "00-17-14-puppeteer-and-playwright-support-on-pipedream",
          "text": "00:17:14 - Puppeteer and Playwright Support on Pipedream"
        },
        {
          "depth": 3,
          "id": "00-24-29-ai-powered-code-generation-with-puppeteer",
          "text": "00:24:29 - AI-Powered Code Generation with Puppeteer"
        },
        {
          "depth": 3,
          "id": "00-32-36-live-scraping-attempts-twitter-and-reddit",
          "text": "00:32:36 - Live Scraping Attempts: Twitter and Reddit"
        },
        {
          "depth": 3,
          "id": "00-42-28-natural-language-prompting-and-gpt-4-vision-ideas",
          "text": "00:42:28 - Natural Language Prompting and GPT-4 Vision Ideas"
        },
        {
          "depth": 3,
          "id": "00-52-27-upcoming-features-competition-and-closing-thoughts",
          "text": "00:52:27 - Upcoming Features, Competition, and Closing Thoughts"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "web",
        "backend",
        "ai"
      ]
    },
    {
      "title": "React Server Components Without Next-js",
      "slug": "ben-holmes-rsc-without-nextjs",
      "collection": "videos",
      "contentType": "Video",
      "description": "Ben Holmes and Anthony Campolo explore React Server Components in RedwoodJS, discussing the framework's evolution and demos an AI chatbot with experimental RSC",
      "summary": "Ben Holmes and Anthony Campolo explore React Server Components in RedwoodJS, discussing the framework's evolution and demos an AI chatbot with experimental RSC",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "Ben Holmes",
        "channelUrl": "https://www.youtube.com/@bholmesdev",
        "originalUrl": "https://www.youtube.com/watch?v=R0kmYBT3NR0"
      },
      "publishedAt": "2023-10-26T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2023-10-26T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/ben-holmes-rsc-without-nextjs/",
        "markdown": "https://ajcwebdev.com/videos/ben-holmes-rsc-without-nextjs/index.md",
        "json": "https://ajcwebdev.com/videos/ben-holmes-rsc-without-nextjs/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-07-29-introductions-and-catching-up",
          "text": "00:07:29 - Introductions and Catching Up"
        },
        {
          "depth": 3,
          "id": "00-10-35-anthony-s-background-and-return-to-redwood",
          "text": "00:10:35 - Anthony's Background and Return to Redwood"
        },
        {
          "depth": 3,
          "id": "00-17-55-introducing-redwoodjs-and-its-sweet-spot",
          "text": "00:17:55 - Introducing RedwoodJS and Its Sweet Spot"
        },
        {
          "depth": 3,
          "id": "00-25-31-graphql-ssr-and-the-migration-to-rsc",
          "text": "00:25:31 - GraphQL, SSR, and the Migration to RSC"
        },
        {
          "depth": 3,
          "id": "00-34-46-live-demo-setup-and-troubleshooting",
          "text": "00:34:46 - Live Demo Setup and Troubleshooting"
        },
        {
          "depth": 3,
          "id": "00-48-28-styling-experiments-and-developer-experience",
          "text": "00:48:28 - Styling Experiments and Developer Experience"
        },
        {
          "depth": 3,
          "id": "00-56-36-examining-the-server-components-architecture",
          "text": "00:56:36 - Examining the Server Components Architecture"
        },
        {
          "depth": 3,
          "id": "01-02-52-the-broader-rsc-ecosystem-and-framework-philosophy",
          "text": "01:02:52 - The Broader RSC Ecosystem and Framework Philosophy"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "frontend",
        "backend",
        "ai"
      ]
    },
    {
      "title": "Wasp with Matija Sosic and Martin Sosic",
      "slug": "wasp-matija-sosic-martin-sosic",
      "collection": "videos",
      "contentType": "Video",
      "description": "The WASP framework creators demo their GPT-powered web app generator that builds full-stack React and Node apps from simple text descriptions",
      "summary": "The WASP framework creators demo their GPT-powered web app generator that builds full-stack React and Node apps from simple text descriptions",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "JavaScript Jam",
        "channelUrl": "https://www.youtube.com/channel/UCoOajN1o9uLi1sEHoTpIbUg",
        "originalUrl": "https://www.youtube.com/watch?v=cGiNZCOpdjM"
      },
      "publishedAt": "2023-10-04T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2023-10-04T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/wasp-matija-sosic-martin-sosic/",
        "markdown": "https://ajcwebdev.com/videos/wasp-matija-sosic-martin-sosic/index.md",
        "json": "https://ajcwebdev.com/videos/wasp-matija-sosic-martin-sosic/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-introductions-and-what-is-wasp",
          "text": "00:00:00 - Introductions and What Is WASP"
        },
        {
          "depth": 3,
          "id": "00-05-02-why-a-language-the-design-philosophy-behind-wasp",
          "text": "00:05:02 - Why a Language? The Design Philosophy Behind WASP"
        },
        {
          "depth": 3,
          "id": "00-08-50-introducing-the-gpt-web-app-generator",
          "text": "00:08:50 - Introducing the GPT Web App Generator"
        },
        {
          "depth": 3,
          "id": "00-14-27-temperature-prompts-and-how-the-generator-works",
          "text": "00:14:27 - Temperature, Prompts, and How the Generator Works"
        },
        {
          "depth": 3,
          "id": "00-24-20-live-demo-generating-and-running-a-plant-watering-app",
          "text": "00:24:20 - Live Demo: Generating and Running a Plant Watering App"
        },
        {
          "depth": 3,
          "id": "00-35-49-debugging-future-plans-and-closing-thoughts",
          "text": "00:35:49 - Debugging, Future Plans, and Closing Thoughts"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "frontend",
        "backend",
        "ai"
      ]
    },
    {
      "title": "Open Sauced with Brian Douglas",
      "slug": "open-sauced-brian-douglas",
      "collection": "videos",
      "contentType": "Video",
      "description": "Brian Douglas shares the origin of Open Sauced, its evolution from side project to funded startup, and the history behind Jamstack and Netlify's dev ecosystem",
      "summary": "Brian Douglas shares the origin of Open Sauced, its evolution from side project to funded startup, and the history behind Jamstack and Netlify's dev ecosystem",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "JavaScript Jam",
        "channelUrl": "https://www.youtube.com/channel/UCoOajN1o9uLi1sEHoTpIbUg",
        "originalUrl": "https://www.youtube.com/watch?v=U05xbV3HW-g"
      },
      "publishedAt": "2023-09-25T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2023-09-25T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/open-sauced-brian-douglas/",
        "markdown": "https://ajcwebdev.com/videos/open-sauced-brian-douglas/index.md",
        "json": "https://ajcwebdev.com/videos/open-sauced-brian-douglas/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-introductions-and-brian-douglas-s-background",
          "text": "00:00:00 - Introductions and Brian Douglas's Background"
        },
        {
          "depth": 3,
          "id": "00-01-55-from-netlify-employee-3-to-open-sauced-s-origin",
          "text": "00:01:55 - From Netlify Employee #3 to Open Sauced's Origin"
        },
        {
          "depth": 3,
          "id": "00-07-17-the-real-story-behind-jamstack",
          "text": "00:07:17 - The Real Story Behind Jamstack"
        },
        {
          "depth": 3,
          "id": "00-13-06-building-products-by-talking-to-users-first",
          "text": "00:13:06 - Building Products by Talking to Users First"
        },
        {
          "depth": 3,
          "id": "00-19-21-live-demo-of-the-open-sauced-platform",
          "text": "00:19:21 - Live Demo of the Open Sauced Platform"
        },
        {
          "depth": 3,
          "id": "00-33-28-ai-features-repo-query-and-the-road-ahead",
          "text": "00:33:28 - AI Features, Repo Query, and the Road Ahead"
        },
        {
          "depth": 3,
          "id": "00-43-14-community-building-oscr-score-and-closing-thoughts",
          "text": "00:43:14 - Community Building, OSCR Score, and Closing Thoughts"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "web"
      ]
    },
    {
      "title": "A First Look at RedwoodJS with Anthony Campolo and Ryan Carniato",
      "slug": "ryan-carniato-first-look-at-redwoodjs",
      "collection": "videos",
      "contentType": "Video",
      "description": "Ryan Carniato and Anthony Campolo explore RedwoodJS's journey to v6 with React Server Components and its opinionated approach as a full-stack JS framework",
      "summary": "Ryan Carniato and Anthony Campolo explore RedwoodJS's journey to v6 with React Server Components and its opinionated approach as a full-stack JS framework",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "Ryan Carniato",
        "channelUrl": "https://www.youtube.com/@ryansolid",
        "originalUrl": "https://www.youtube.com/watch?v=-8UeTHXoySc"
      },
      "publishedAt": "2023-08-18T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2023-08-18T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/ryan-carniato-first-look-at-redwoodjs/",
        "markdown": "https://ajcwebdev.com/videos/ryan-carniato-first-look-at-redwoodjs/index.md",
        "json": "https://ajcwebdev.com/videos/ryan-carniato-first-look-at-redwoodjs/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-stream-introduction-and-preamble",
          "text": "00:00:00 - Stream Introduction and Preamble"
        },
        {
          "depth": 3,
          "id": "00-04-41-waiting-for-viewers-and-setting-the-stage",
          "text": "00:04:41 - Waiting for Viewers and Setting the Stage"
        },
        {
          "depth": 3,
          "id": "00-06-16-anthony-joins-and-introductions-begin",
          "text": "00:06:16 - Anthony Joins and Introductions Begin"
        },
        {
          "depth": 3,
          "id": "00-10-15-boot-camp-experience-and-lambda-school",
          "text": "00:10:15 - Boot Camp Experience and Lambda School"
        },
        {
          "depth": 3,
          "id": "00-12-44-dropping-out-for-open-source",
          "text": "00:12:44 - Dropping Out for Open Source"
        },
        {
          "depth": 3,
          "id": "00-14-04-how-anthony-discovered-redwood",
          "text": "00:14:04 - How Anthony Discovered Redwood"
        },
        {
          "depth": 3,
          "id": "00-16-10-creating-fsjam-podcast-and-community",
          "text": "00:16:10 - Creating FSJam Podcast and Community"
        },
        {
          "depth": 3,
          "id": "00-19-31-research-mindset-and-framework-discovery",
          "text": "00:19:31 - Research Mindset and Framework Discovery"
        },
        {
          "depth": 3,
          "id": "00-20-10-why-redwood-exists-the-full-stack-gap",
          "text": "00:20:10 - Why Redwood Exists: The Full-Stack Gap"
        },
        {
          "depth": 3,
          "id": "00-24-19-redwood-s-origin-story-and-startup-focus",
          "text": "00:24:19 - Redwood's Origin Story and Startup Focus"
        },
        {
          "depth": 3,
          "id": "00-28-23-the-trade-offs-of-being-opinionated",
          "text": "00:28:23 - The Trade-offs of Being Opinionated"
        },
        {
          "depth": 3,
          "id": "00-31-28-storybook-documentation-and-teaching",
          "text": "00:31:28 - Storybook, Documentation, and Teaching"
        },
        {
          "depth": 3,
          "id": "00-36-31-authentication-vs-authorization-in-tutorials",
          "text": "00:36:31 - Authentication vs Authorization in Tutorials"
        },
        {
          "depth": 3,
          "id": "00-39-06-the-case-for-opinionated-frameworks",
          "text": "00:39:06 - The Case for Opinionated Frameworks"
        },
        {
          "depth": 3,
          "id": "00-40-03-redwood-v6-graphql-and-managing-change",
          "text": "00:40:03 - Redwood v6, GraphQL, and Managing Change"
        },
        {
          "depth": 3,
          "id": "00-44-05-cells-suspense-router-and-data-fetching",
          "text": "00:44:05 - Cells, Suspense Router, and Data Fetching"
        },
        {
          "depth": 3,
          "id": "00-49-39-investigating-ssr-and-render-modes",
          "text": "00:49:39 - Investigating SSR and Render Modes"
        },
        {
          "depth": 3,
          "id": "00-53-30-cloning-the-ssr-example-repository",
          "text": "00:53:30 - Cloning the SSR Example Repository"
        },
        {
          "depth": 3,
          "id": "00-57-36-setting-up-a-fresh-redwood-project",
          "text": "00:57:36 - Setting Up a Fresh Redwood Project"
        },
        {
          "depth": 3,
          "id": "01-05-28-redwood-conference-and-build-competition",
          "text": "01:05:28 - Redwood Conference and Build Competition"
        },
        {
          "depth": 3,
          "id": "01-12-10-running-the-project-and-exploring-structure",
          "text": "01:12:10 - Running the Project and Exploring Structure"
        },
        {
          "depth": 3,
          "id": "01-16-25-graphql-playground-and-backend-architecture",
          "text": "01:16:25 - GraphQL Playground and Backend Architecture"
        },
        {
          "depth": 3,
          "id": "01-21-02-examining-vite-config-and-project-files",
          "text": "01:21:02 - Examining Vite Config and Project Files"
        },
        {
          "depth": 3,
          "id": "01-24-05-attempting-render-modes-in-the-fresh-project",
          "text": "01:24:05 - Attempting Render Modes in the Fresh Project"
        },
        {
          "depth": 3,
          "id": "01-29-00-danny-s-ssr-example-and-server-rendering-success",
          "text": "01:29:00 - Danny's SSR Example and Server Rendering Success"
        },
        {
          "depth": 3,
          "id": "01-39-34-csr-vs-ssr-entry-points-and-framework-approaches",
          "text": "01:39:34 - CSR vs SSR Entry Points and Framework Approaches"
        },
        {
          "depth": 3,
          "id": "01-44-01-exploring-the-ssr-demo-app-features",
          "text": "01:44:01 - Exploring the SSR Demo App Features"
        },
        {
          "depth": 3,
          "id": "01-49-27-cells-and-data-fetching-patterns",
          "text": "01:49:27 - Cells and Data Fetching Patterns"
        },
        {
          "depth": 3,
          "id": "01-55-08-microphone-issues-and-technical-difficulties",
          "text": "01:55:08 - Microphone Issues and Technical Difficulties"
        },
        {
          "depth": 3,
          "id": "01-57-36-named-exports-tree-shaking-and-code-organization",
          "text": "01:57:36 - Named Exports, Tree Shaking, and Code Organization"
        },
        {
          "depth": 3,
          "id": "02-02-03-react-server-components-implications",
          "text": "02:02:03 - React Server Components Implications"
        },
        {
          "depth": 3,
          "id": "02-07-11-experimental-rsc-repository-exploration",
          "text": "02:07:11 - Experimental RSC Repository Exploration"
        },
        {
          "depth": 3,
          "id": "02-17-22-inspecting-rsc-network-payloads",
          "text": "02:17:22 - Inspecting RSC Network Payloads"
        },
        {
          "depth": 3,
          "id": "02-25-05-redwood-s-public-roadmap-and-notion",
          "text": "02:25:05 - Redwood's Public Roadmap and Notion"
        },
        {
          "depth": 3,
          "id": "02-29-45-the-double-data-problem-and-solid-s-approach",
          "text": "02:29:45 - The Double Data Problem and Solid's Approach"
        },
        {
          "depth": 3,
          "id": "02-34-36-publishing-research-and-framework-author-conversations",
          "text": "02:34:36 - Publishing Research and Framework Author Conversations"
        },
        {
          "depth": 3,
          "id": "02-35-35-signals-proposal-and-meeting-with-google-teams",
          "text": "02:35:35 - Signals Proposal and Meeting with Google Teams"
        },
        {
          "depth": 3,
          "id": "02-37-25-transitioning-to-this-week-in-javascript",
          "text": "02:37:25 - Transitioning to This Week in JavaScript"
        },
        {
          "depth": 3,
          "id": "02-48-12-leptos-rust-wasm-framework-progress",
          "text": "02:48:12 - Leptos: Rust/WASM Framework Progress"
        },
        {
          "depth": 3,
          "id": "02-56-30-rsc-islands-analysis-and-code-comparison",
          "text": "02:56:30 - RSC Islands Analysis and Code Comparison"
        },
        {
          "depth": 3,
          "id": "03-00-16-million-js-and-block-dom-performance",
          "text": "03:00:16 - Million JS and Block DOM Performance"
        },
        {
          "depth": 3,
          "id": "03-08-06-the-value-of-performance-conversations",
          "text": "03:08:06 - The Value of Performance Conversations"
        },
        {
          "depth": 3,
          "id": "03-12-06-tc39-signals-specification-deep-dive",
          "text": "03:12:06 - TC39 Signals Specification Deep Dive"
        },
        {
          "depth": 3,
          "id": "03-19-12-reactively-library-and-minimal-signal-primitives",
          "text": "03:19:12 - Reactively Library and Minimal Signal Primitives"
        },
        {
          "depth": 3,
          "id": "03-30-53-scheduling-batching-and-spec-challenges",
          "text": "03:30:53 - Scheduling, Batching, and Spec Challenges"
        },
        {
          "depth": 3,
          "id": "03-41-00-dom-parts-api-and-reactive-dom-concerns",
          "text": "03:41:00 - DOM Parts API and Reactive DOM Concerns"
        },
        {
          "depth": 3,
          "id": "03-44-25-fresh-1-4-and-ahead-of-time-compilation",
          "text": "03:44:25 - Fresh 1.4 and Ahead-of-Time Compilation"
        },
        {
          "depth": 3,
          "id": "03-52-26-the-great-layouts-debate",
          "text": "03:52:26 - The Great Layouts Debate"
        },
        {
          "depth": 3,
          "id": "04-00-07-file-system-routing-trade-offs",
          "text": "04:00:07 - File System Routing Trade-offs"
        },
        {
          "depth": 3,
          "id": "04-08-58-bun-1-0-announcement-and-runtime-competition",
          "text": "04:08:58 - Bun 1.0 Announcement and Runtime Competition"
        },
        {
          "depth": 3,
          "id": "04-15-18-edgio-javascript-jam-and-closing",
          "text": "04:15:18 - Edgio, JavaScript Jam, and Closing"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "frontend",
        "backend",
        "graphql"
      ]
    },
    {
      "title": "Val Town with Steve Krouse",
      "slug": "val-town-steve-krouse",
      "collection": "videos",
      "contentType": "Video",
      "description": "Steve Krouse demos Val Town, a social JavaScript platform for writing, sharing, and deploying server-side functions as easily as posting a tweet",
      "summary": "Steve Krouse demos Val Town, a social JavaScript platform for writing, sharing, and deploying server-side functions as easily as posting a tweet",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "JavaScript Jam",
        "channelUrl": "https://www.youtube.com/channel/UCoOajN1o9uLi1sEHoTpIbUg",
        "originalUrl": "https://www.youtube.com/watch?v=v1TM0EXcMPs"
      },
      "publishedAt": "2023-07-19T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2023-07-19T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/val-town-steve-krouse/",
        "markdown": "https://ajcwebdev.com/videos/val-town-steve-krouse/index.md",
        "json": "https://ajcwebdev.com/videos/val-town-steve-krouse/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-introductions-and-what-is-val-town",
          "text": "00:00:00 - Introductions and What Is Val Town"
        },
        {
          "depth": 3,
          "id": "00-03-07-steve-s-background-and-brett-victor-inspiration",
          "text": "00:03:07 - Steve's Background and Brett Victor Inspiration"
        },
        {
          "depth": 3,
          "id": "00-11-23-the-origin-story-of-val-town",
          "text": "00:11:23 - The Origin Story of Val Town"
        },
        {
          "depth": 3,
          "id": "00-17-13-live-demo-persistent-state-and-console-email",
          "text": "00:17:13 - Live Demo: Persistent State and Console Email"
        },
        {
          "depth": 3,
          "id": "00-28-09-building-a-twitter-alert-for-javascript-jam",
          "text": "00:28:09 - Building a Twitter Alert for JavaScript Jam"
        },
        {
          "depth": 3,
          "id": "00-44-00-api-integrations-zapier-comparisons-and-use-cases",
          "text": "00:44:00 - API Integrations, Zapier Comparisons, and Use Cases"
        },
        {
          "depth": 3,
          "id": "00-49-28-express-endpoints-react-rendering-and-sparklines",
          "text": "00:49:28 - Express Endpoints, React Rendering, and Sparklines"
        },
        {
          "depth": 3,
          "id": "00-54-30-future-plans-and-closing-thoughts",
          "text": "00:54:30 - Future Plans and Closing Thoughts"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "web",
        "backend",
        "deployment"
      ]
    },
    {
      "title": "Vanilla JavaScript with Chris Ferdinandi",
      "slug": "vanilla-javascript-chris-ferdinandi",
      "collection": "videos",
      "contentType": "Video",
      "description": "Chris Ferdinandi joins JavaScript Jam to discuss building a vanilla JS education business, daily writing habits, and his surprisingly simple tech stack",
      "summary": "Chris Ferdinandi joins JavaScript Jam to discuss building a vanilla JS education business, daily writing habits, and his surprisingly simple tech stack",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "JavaScript Jam",
        "channelUrl": "https://www.youtube.com/channel/UCoOajN1o9uLi1sEHoTpIbUg",
        "originalUrl": "https://www.youtube.com/watch?v=97DG9gA-osE"
      },
      "publishedAt": "2023-07-14T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2023-07-14T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/vanilla-javascript-chris-ferdinandi/",
        "markdown": "https://ajcwebdev.com/videos/vanilla-javascript-chris-ferdinandi/index.md",
        "json": "https://ajcwebdev.com/videos/vanilla-javascript-chris-ferdinandi/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-introductions-and-the-vanilla-js-philosophy",
          "text": "00:00:00 - Introductions and the Vanilla JS Philosophy"
        },
        {
          "depth": 3,
          "id": "00-03-08-building-a-daily-writing-habit-and-newsletter-growth",
          "text": "00:03:08 - Building a Daily Writing Habit and Newsletter Growth"
        },
        {
          "depth": 3,
          "id": "00-12-04-the-business-of-education-and-launching-the-lean-web-club",
          "text": "00:12:04 - The Business of Education and Launching the Lean Web Club"
        },
        {
          "depth": 3,
          "id": "00-21-15-from-hr-to-web-development-chris-s-origin-story",
          "text": "00:21:15 - From HR to Web Development: Chris's Origin Story"
        },
        {
          "depth": 3,
          "id": "00-28-34-ai-automation-and-going-solo",
          "text": "00:28:34 - AI, Automation, and Going Solo"
        },
        {
          "depth": 3,
          "id": "00-33-03-the-flat-json-file-architecture",
          "text": "00:33:03 - The Flat JSON File Architecture"
        },
        {
          "depth": 3,
          "id": "00-42-09-the-5-server-and-diy-deployment-pipeline",
          "text": "00:42:09 - The $5 Server and DIY Deployment Pipeline"
        },
        {
          "depth": 3,
          "id": "00-46-45-content-creation-tools-and-final-thoughts",
          "text": "00:46:45 - Content Creation Tools and Final Thoughts"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "web",
        "frontend"
      ]
    },
    {
      "title": "Next-js Dev Learns RedwoodJS",
      "slug": "dev-agrawal-nextjs-dev-learns-redwoodjs",
      "collection": "videos",
      "contentType": "Video",
      "description": "Anthony teaches Dev Agrawal RedwoodJS, a full-stack React framework that integrates GraphQL and Prisma, while discussing its real-world application",
      "summary": "Anthony teaches Dev Agrawal RedwoodJS, a full-stack React framework that integrates GraphQL and Prisma, while discussing its real-world application",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "Dev Agrawal",
        "channelUrl": "https://www.youtube.com/@devagr",
        "originalUrl": "https://www.youtube.com/watch?v=RhBTORMh0KU"
      },
      "publishedAt": "2023-07-08T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2023-07-08T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/dev-agrawal-nextjs-dev-learns-redwoodjs/",
        "markdown": "https://ajcwebdev.com/videos/dev-agrawal-nextjs-dev-learns-redwoodjs/index.md",
        "json": "https://ajcwebdev.com/videos/dev-agrawal-nextjs-dev-learns-redwoodjs/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-stream-setup-and-pre-show",
          "text": "00:00:00 - Stream Setup and Pre-Show"
        },
        {
          "depth": 3,
          "id": "00-05-19-getting-connected-and-stream-tech-troubles",
          "text": "00:05:19 - Getting Connected and Stream Tech Troubles"
        },
        {
          "depth": 3,
          "id": "00-11-35-redwoodjs-history-and-origins",
          "text": "00:11:35 - RedwoodJS History and Origins"
        },
        {
          "depth": 3,
          "id": "00-17-20-project-scaffolding-and-page-generation",
          "text": "00:17:20 - Project Scaffolding and Page Generation"
        },
        {
          "depth": 3,
          "id": "00-31-25-building-the-blog-with-prisma-and-graphql",
          "text": "00:31:25 - Building the Blog with Prisma and GraphQL"
        },
        {
          "depth": 3,
          "id": "00-42-08-react-router-debate-and-routing-philosophy",
          "text": "00:42:08 - React Router Debate and Routing Philosophy"
        },
        {
          "depth": 3,
          "id": "00-47-22-cells-data-fetching-and-the-scaffold-system",
          "text": "00:47:22 - Cells, Data Fetching, and the Scaffold System"
        },
        {
          "depth": 3,
          "id": "00-54-25-testing-storybook-and-the-typescript-debate",
          "text": "00:54:25 - Testing, Storybook, and the TypeScript Debate"
        },
        {
          "depth": 3,
          "id": "01-00-27-customizing-queries-and-schema-changes",
          "text": "01:00:27 - Customizing Queries and Schema Changes"
        },
        {
          "depth": 3,
          "id": "01-06-16-deployment-attempts-and-storybook-exploration",
          "text": "01:06:16 - Deployment Attempts and Storybook Exploration"
        },
        {
          "depth": 3,
          "id": "01-17-39-react-server-components-and-redwood-s-future",
          "text": "01:17:39 - React Server Components and Redwood's Future"
        },
        {
          "depth": 3,
          "id": "01-22-37-code-colocation-vs-separation-debate",
          "text": "01:22:37 - Code Colocation vs. Separation Debate"
        },
        {
          "depth": 3,
          "id": "01-30-27-redwood-s-startup-fund-and-closing-thoughts",
          "text": "01:30:27 - Redwood's Startup Fund and Closing Thoughts"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "frontend",
        "backend",
        "graphql"
      ]
    },
    {
      "title": "Million.js with Aiden Bai and Tobiloba Adedeji",
      "slug": "millionjs-aiden-bai-tobiloba-adedeji",
      "collection": "videos",
      "contentType": "Video",
      "description": "Aiden Bai and Toby discuss Million JS, a block virtual DOM tool that makes React apps faster through static analysis and opt-in component optimization",
      "summary": "Aiden Bai and Toby discuss Million JS, a block virtual DOM tool that makes React apps faster through static analysis and opt-in component optimization",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "JavaScript Jam",
        "channelUrl": "https://www.youtube.com/channel/UCoOajN1o9uLi1sEHoTpIbUg",
        "originalUrl": "https://www.youtube.com/watch?v=6sq1VEsQkc4"
      },
      "publishedAt": "2023-06-20T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2023-06-20T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/millionjs-aiden-bai-tobiloba-adedeji/",
        "markdown": "https://ajcwebdev.com/videos/millionjs-aiden-bai-tobiloba-adedeji/index.md",
        "json": "https://ajcwebdev.com/videos/millionjs-aiden-bai-tobiloba-adedeji/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-introductions-and-the-origin-story-of-million-js",
          "text": "00:00:00 - Introductions and the Origin Story of Million JS"
        },
        {
          "depth": 3,
          "id": "00-04-41-how-the-block-virtual-dom-works",
          "text": "00:04:41 - How the Block Virtual DOM Works"
        },
        {
          "depth": 3,
          "id": "00-10-19-react-philosophy-and-the-opt-in-approach",
          "text": "00:10:19 - React Philosophy and the Opt-In Approach"
        },
        {
          "depth": 3,
          "id": "00-13-23-toby-s-journey-and-community-building",
          "text": "00:13:23 - Toby's Journey and Community Building"
        },
        {
          "depth": 3,
          "id": "00-21-52-live-demo-and-performance-comparison",
          "text": "00:21:52 - Live Demo and Performance Comparison"
        },
        {
          "depth": 3,
          "id": "00-31-30-server-side-integration-and-the-meta-framework-question",
          "text": "00:31:30 - Server-Side Integration and the Meta Framework Question"
        },
        {
          "depth": 3,
          "id": "00-41-16-content-strategy-technical-blog-and-the-million-thesis",
          "text": "00:41:16 - Content Strategy, Technical Blog, and the Million Thesis"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "web",
        "frontend"
      ]
    },
    {
      "title": "Teach Jenn OpenAI Whisper with Anthony Campolo",
      "slug": "teach-jenn-tech-teach-jenn-openai-whisper",
      "collection": "videos",
      "contentType": "Video",
      "description": "Anthony Campolo joins Teach Jenn Tech to demo Whisper.cpp for AI transcription, discussing broader implications of AI technology in content creation",
      "summary": "Anthony Campolo joins Teach Jenn Tech to demo Whisper.cpp for AI transcription, discussing broader implications of AI technology in content creation",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "Jenn Junod",
        "channelUrl": "https://www.youtube.com/@jennjunod",
        "originalUrl": "https://www.youtube.com/watch?v=O4yrFmySAI4"
      },
      "publishedAt": "2023-06-20T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2023-06-20T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/teach-jenn-tech-teach-jenn-openai-whisper/",
        "markdown": "https://ajcwebdev.com/videos/teach-jenn-tech-teach-jenn-openai-whisper/index.md",
        "json": "https://ajcwebdev.com/videos/teach-jenn-tech-teach-jenn-openai-whisper/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-introductions-and-setting-the-stage-for-ai",
          "text": "00:00:00 - Introductions and Setting the Stage for AI"
        },
        {
          "depth": 3,
          "id": "00-07-45-ai-safety-alignment-and-the-limits-of-prediction",
          "text": "00:07:45 - AI Safety, Alignment, and the Limits of Prediction"
        },
        {
          "depth": 3,
          "id": "00-13-35-running-whisper-python-setup-and-troubleshooting",
          "text": "00:13:35 - Running Whisper: Python Setup and Troubleshooting"
        },
        {
          "depth": 3,
          "id": "00-25-00-whisper-cpp-in-action-and-evaluating-output-quality",
          "text": "00:25:00 - Whisper CPP in Action and Evaluating Output Quality"
        },
        {
          "depth": 3,
          "id": "00-38-00-transcription-services-tools-and-the-open-source-advantage",
          "text": "00:38:00 - Transcription Services, Tools, and the Open Source Advantage"
        },
        {
          "depth": 3,
          "id": "00-44-09-website-struggles-astro-prisma-and-content-collections",
          "text": "00:44:09 - Website Struggles: Astro, Prisma, and Content Collections"
        },
        {
          "depth": 3,
          "id": "01-04-06-finding-a-path-forward-with-astro-and-prisma",
          "text": "01:04:06 - Finding a Path Forward with Astro and Prisma"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "ai"
      ]
    },
    {
      "title": "AnalogJS with Brandon Roberts",
      "slug": "analogjs-with-brandon-roberts",
      "collection": "videos",
      "contentType": "Video",
      "description": "Brandon Roberts demonstrates AnalogJS, his meta-framework that combines Angular, Vite, and Nitro to enable SSR, file-based routing, and API routes",
      "summary": "Brandon Roberts demonstrates AnalogJS, his meta-framework that combines Angular, Vite, and Nitro to enable SSR, file-based routing, and API routes",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "Anthony Campolo",
        "channelUrl": "https://www.youtube.com/@ajcwebdev",
        "originalUrl": "https://www.youtube.com/watch?v=xrrouMasFPU"
      },
      "publishedAt": "2023-06-05T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2023-06-05T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/analogjs-with-brandon-roberts/",
        "markdown": "https://ajcwebdev.com/videos/analogjs-with-brandon-roberts/index.md",
        "json": "https://ajcwebdev.com/videos/analogjs-with-brandon-roberts/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-25-introductions-and-opensauced",
          "text": "00:00:25 - Introductions and OpenSauced"
        },
        {
          "depth": 3,
          "id": "00-07-04-package-manager-wars-yarn-npm-and-pnpm",
          "text": "00:07:04 - Package Manager Wars: Yarn, npm, and pnpm"
        },
        {
          "depth": 3,
          "id": "00-10-42-the-origin-story-of-analog",
          "text": "00:10:42 - The Origin Story of Analog"
        },
        {
          "depth": 3,
          "id": "00-16-02-project-setup-and-community",
          "text": "00:16:02 - Project Setup and Community"
        },
        {
          "depth": 3,
          "id": "00-22-12-live-coding-scaffolding-and-components",
          "text": "00:22:12 - Live Coding: Scaffolding and Components"
        },
        {
          "depth": 3,
          "id": "00-34-02-api-routes-nitro-and-file-based-routing",
          "text": "00:34:02 - API Routes, Nitro, and File-Based Routing"
        },
        {
          "depth": 3,
          "id": "00-42-00-debugging-ssr-and-node-version-issues",
          "text": "00:42:00 - Debugging SSR and Node Version Issues"
        },
        {
          "depth": 3,
          "id": "00-50-02-building-deploying-and-serving-the-app",
          "text": "00:50:02 - Building, Deploying, and Serving the App"
        },
        {
          "depth": 3,
          "id": "00-59-50-javascript-fatigue-frameworks-and-closing-thoughts",
          "text": "00:59:50 - JavaScript Fatigue, Frameworks, and Closing Thoughts"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "web",
        "frontend",
        "backend"
      ]
    },
    {
      "title": "Marko Run with Ryan Turnquist",
      "slug": "marko-run-ryan-turnquist",
      "collection": "videos",
      "contentType": "Video",
      "description": "Ryan Turnquist introduces Marko Run, the new meta framework for Marko.js, covering its routing, middleware, and deployment capabilities",
      "summary": "Ryan Turnquist introduces Marko Run, the new meta framework for Marko.js, covering its routing, middleware, and deployment capabilities",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "JavaScript Jam",
        "channelUrl": "https://www.youtube.com/channel/UCoOajN1o9uLi1sEHoTpIbUg",
        "originalUrl": "https://www.youtube.com/watch?v=bu67lhc2NWk"
      },
      "publishedAt": "2023-06-04T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2023-06-04T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/marko-run-ryan-turnquist/",
        "markdown": "https://ajcwebdev.com/videos/marko-run-ryan-turnquist/index.md",
        "json": "https://ajcwebdev.com/videos/marko-run-ryan-turnquist/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-introduction-and-marko-s-history",
          "text": "00:00:00 - Introduction and Marko's History"
        },
        {
          "depth": 3,
          "id": "00-05-53-marko-vs-react-and-parallel-discovery",
          "text": "00:05:53 - Marko vs React and Parallel Discovery"
        },
        {
          "depth": 3,
          "id": "00-08-40-introducing-marko-run",
          "text": "00:08:40 - Introducing Marko Run"
        },
        {
          "depth": 3,
          "id": "00-13-13-project-structure-and-components",
          "text": "00:13:13 - Project Structure and Components"
        },
        {
          "depth": 3,
          "id": "00-18-20-layouts-pages-and-routing",
          "text": "00:18:20 - Layouts, Pages, and Routing"
        },
        {
          "depth": 3,
          "id": "00-22-28-handlers-middleware-and-request-flow",
          "text": "00:22:28 - Handlers, Middleware, and Request Flow"
        },
        {
          "depth": 3,
          "id": "00-31-39-tags-api-and-marko-6-preview",
          "text": "00:31:39 - Tags API and Marko 6 Preview"
        },
        {
          "depth": 3,
          "id": "00-35-25-adapters-and-deployment",
          "text": "00:35:25 - Adapters and Deployment"
        },
        {
          "depth": 3,
          "id": "00-41-51-community-resources-and-contributing",
          "text": "00:41:51 - Community Resources and Contributing"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "frontend",
        "backend",
        "deployment"
      ]
    },
    {
      "title": "Databases and Frameworks at the Edge with Glauber Costa and Igor Minar",
      "slug": "remix-conf-databases-and-frameworks-at-the-edge",
      "collection": "videos",
      "contentType": "Video",
      "description": "Glauber Costa and Igor Minar join Anthony Campolo for a discussion about the future of developing web applications at the edge with databases and frameworks",
      "summary": "Glauber Costa and Igor Minar join Anthony Campolo for a discussion about the future of developing web applications at the edge with databases and frameworks",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "JavaScript Jam",
        "channelUrl": "https://www.youtube.com/@javascriptjam",
        "originalUrl": "https://www.youtube.com/watch?v=ynXQXTROV3o"
      },
      "publishedAt": "2023-05-18T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2023-05-18T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/remix-conf-databases-and-frameworks-at-the-edge/",
        "markdown": "https://ajcwebdev.com/videos/remix-conf-databases-and-frameworks-at-the-edge/index.md",
        "json": "https://ajcwebdev.com/videos/remix-conf-databases-and-frameworks-at-the-edge/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-introductions-and-glauber-s-open-source-origins",
          "text": "00:00:00 - Introductions and Glauber's Open Source Origins"
        },
        {
          "depth": 3,
          "id": "00-04-35-from-unikernels-and-scylladb-to-the-database-world",
          "text": "00:04:35 - From Unikernels and ScyllaDB to the Database World"
        },
        {
          "depth": 3,
          "id": "00-08-22-the-chiselstrike-experiment-and-pivot-to-turso",
          "text": "00:08:22 - The ChiselStrike Experiment and Pivot to Turso"
        },
        {
          "depth": 3,
          "id": "00-13-19-why-sqlite-and-the-birth-of-libsql",
          "text": "00:13:19 - Why SQLite and the Birth of libSQL"
        },
        {
          "depth": 3,
          "id": "00-24-58-getting-started-with-turso-and-transition-to-igor",
          "text": "00:24:58 - Getting Started with Turso and Transition to Igor"
        },
        {
          "depth": 3,
          "id": "00-29-52-cloudflare-s-developer-platform-and-d1",
          "text": "00:29:52 - Cloudflare's Developer Platform and D1"
        },
        {
          "depth": 3,
          "id": "00-33-28-smart-placement-and-the-edge-compute-dilemma",
          "text": "00:33:28 - Smart Placement and the Edge Compute Dilemma"
        },
        {
          "depth": 3,
          "id": "00-40-03-wrap-up-and-where-to-find-the-guests",
          "text": "00:40:03 - Wrap-Up and Where to Find the Guests"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "frontend",
        "backend",
        "deployment"
      ]
    },
    {
      "title": "Teach Jenn Docker Basics",
      "slug": "teach-jenn-tech-teach-jenn-docker-basics",
      "collection": "videos",
      "contentType": "Video",
      "description": "Anthony returns to Teach Jenn Tech to explain Docker including how to create Docker images, build containers, and run Node.js servers from scratch",
      "summary": "Anthony returns to Teach Jenn Tech to explain Docker including how to create Docker images, build containers, and run Node.js servers from scratch",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "Jenn Junod",
        "channelUrl": "https://www.youtube.com/@jennjunod",
        "originalUrl": "https://www.youtube.com/watch?v=FjUCeyIdTn0"
      },
      "publishedAt": "2023-04-13T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2023-04-13T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/teach-jenn-tech-teach-jenn-docker-basics/",
        "markdown": "https://ajcwebdev.com/videos/teach-jenn-tech-teach-jenn-docker-basics/index.md",
        "json": "https://ajcwebdev.com/videos/teach-jenn-tech-teach-jenn-docker-basics/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-introductions-and-community-catch-up",
          "text": "00:00:00 - Introductions and Community Catch-Up"
        },
        {
          "depth": 3,
          "id": "00-06-12-streaming-community-discords-and-content-workflows",
          "text": "00:06:12 - Streaming Community, Discords, and Content Workflows"
        },
        {
          "depth": 3,
          "id": "00-15-27-docker-overview-and-key-concepts",
          "text": "00:15:27 - Docker Overview and Key Concepts"
        },
        {
          "depth": 3,
          "id": "00-26-30-creating-the-project-and-writing-the-dockerfile",
          "text": "00:26:30 - Creating the Project and Writing the Dockerfile"
        },
        {
          "depth": 3,
          "id": "00-46-07-building-running-and-inspecting-the-container",
          "text": "00:46:07 - Building, Running, and Inspecting the Container"
        },
        {
          "depth": 3,
          "id": "00-50-06-docker-vs-kubernetes-and-theory-vs-practice",
          "text": "00:50:06 - Docker vs. Kubernetes and Theory vs. Practice"
        },
        {
          "depth": 3,
          "id": "01-01-00-git-setup-documentation-and-wrap-up",
          "text": "01:01:00 - Git Setup, Documentation, and Wrap-Up"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "web",
        "backend",
        "deployment"
      ]
    },
    {
      "title": "create-t3-app with Christopher Ehrlich",
      "slug": "create-t3-app-christopher-ehrlich",
      "collection": "videos",
      "contentType": "Video",
      "description": "JavaScript Jam explores Create T3 App with core team member Christopher Ehrlich, covering tRPC, Prisma, and the full-stack TypeScript ecosystem",
      "summary": "JavaScript Jam explores Create T3 App with core team member Christopher Ehrlich, covering tRPC, Prisma, and the full-stack TypeScript ecosystem",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "JavaScript Jam",
        "channelUrl": "https://www.youtube.com/channel/UCoOajN1o9uLi1sEHoTpIbUg",
        "originalUrl": "https://www.youtube.com/watch?v=AxWc98GAYeI"
      },
      "publishedAt": "2023-04-11T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2023-04-11T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/create-t3-app-christopher-ehrlich/",
        "markdown": "https://ajcwebdev.com/videos/create-t3-app-christopher-ehrlich/index.md",
        "json": "https://ajcwebdev.com/videos/create-t3-app-christopher-ehrlich/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-introductions-and-the-teaching-to-devrel-pipeline",
          "text": "00:00:00 - Introductions and the Teaching-to-DevRel Pipeline"
        },
        {
          "depth": 3,
          "id": "00-03-33-learning-to-code-in-the-age-of-chatgpt",
          "text": "00:03:33 - Learning to Code in the Age of ChatGPT"
        },
        {
          "depth": 3,
          "id": "00-13-59-what-is-create-t3-app-and-why-trpc-matters",
          "text": "00:13:59 - What Is Create T3 App and Why tRPC Matters"
        },
        {
          "depth": 3,
          "id": "00-22-09-live-demo-scaffolding-and-exploring-the-t3-stack",
          "text": "00:22:09 - Live Demo: Scaffolding and Exploring the T3 Stack"
        },
        {
          "depth": 3,
          "id": "00-36-27-app-directory-react-server-components-and-staying-current",
          "text": "00:36:27 - App Directory, React Server Components, and Staying Current"
        },
        {
          "depth": 3,
          "id": "00-39-08-live-coding-trpc-queries-zod-validation-and-prisma-in-action",
          "text": "00:39:08 - Live Coding: tRPC Queries, Zod Validation, and Prisma in Action"
        },
        {
          "depth": 3,
          "id": "00-56-54-deployment-community-etiquette-and-documentation-philosophy",
          "text": "00:56:54 - Deployment, Community Etiquette, and Documentation Philosophy"
        },
        {
          "depth": 3,
          "id": "01-13-56-chatgpt-for-docs-open-source-maintainership-and-closing-thoughts",
          "text": "01:13:56 - ChatGPT for Docs, Open Source Maintainership, and Closing Thoughts"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "web",
        "frontend",
        "backend"
      ]
    },
    {
      "title": "Getting Started with Redwood for Beginners",
      "slug": "kelvin-omereshone-getting-started-with-redwood-for-beginners",
      "collection": "videos",
      "contentType": "Video",
      "description": "Anthony Campolo introduces Kelvin Omereshone to RedwoodJS, a full-stack JS framework that provides conventions for simplifying app development",
      "summary": "Anthony Campolo introduces Kelvin Omereshone to RedwoodJS, a full-stack JS framework that provides conventions for simplifying app development",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "Kelvin Omereshone",
        "channelUrl": "https://www.youtube.com/@dominuskelvin",
        "originalUrl": "https://www.youtube.com/watch?v=Ih6cWaII1mc"
      },
      "publishedAt": "2023-04-06T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2023-04-06T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/kelvin-omereshone-getting-started-with-redwood-for-beginners/",
        "markdown": "https://ajcwebdev.com/videos/kelvin-omereshone-getting-started-with-redwood-for-beginners/index.md",
        "json": "https://ajcwebdev.com/videos/kelvin-omereshone-getting-started-with-redwood-for-beginners/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-introductions-and-anthony-s-redwood-origin-story",
          "text": "00:00:00 - Introductions and Anthony's Redwood Origin Story"
        },
        {
          "depth": 3,
          "id": "00-05-01-how-redwood-compares-to-other-full-stack-frameworks",
          "text": "00:05:01 - How Redwood Compares to Other Full-Stack Frameworks"
        },
        {
          "depth": 3,
          "id": "00-12-29-project-structure-cli-generators-and-routing",
          "text": "00:12:29 - Project Structure, CLI Generators, and Routing"
        },
        {
          "depth": 3,
          "id": "00-18-30-routing-deep-dive-spa-vs-mpa-and-the-vite-migration",
          "text": "00:18:30 - Routing Deep Dive, SPA vs. MPA, and the Vite Migration"
        },
        {
          "depth": 3,
          "id": "00-23-57-database-setup-with-prisma-and-railway",
          "text": "00:23:57 - Database Setup with Prisma and Railway"
        },
        {
          "depth": 3,
          "id": "00-30-35-scaffolding-crud-and-building-cells-for-data-fetching",
          "text": "00:30:35 - Scaffolding CRUD and Building Cells for Data Fetching"
        },
        {
          "depth": 3,
          "id": "00-38-40-testing-infrastructure-and-storybook-integration",
          "text": "00:38:40 - Testing Infrastructure and Storybook Integration"
        },
        {
          "depth": 3,
          "id": "00-44-42-authentication-options-and-deployment-to-vercel",
          "text": "00:44:42 - Authentication Options and Deployment to Vercel"
        },
        {
          "depth": 3,
          "id": "00-49-58-community-redwood-v5-startup-fund-and-closing",
          "text": "00:49:58 - Community, Redwood V5, Startup Fund, and Closing"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "frontend",
        "backend",
        "graphql"
      ]
    },
    {
      "title": "RedwoodJS with Anthony - Tech Talks with Santosh",
      "slug": "santosh-yadav-redwoodjs-with-anthony",
      "collection": "videos",
      "contentType": "Video",
      "description": "Anthony Campolo joins Tech Talks with Santosh to demo creating and deploying a RedwoodJS application, showcasing its full-stack capabilities",
      "summary": "Anthony Campolo joins Tech Talks with Santosh to demo creating and deploying a RedwoodJS application, showcasing its full-stack capabilities",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "Tech Talks with Santosh",
        "channelUrl": "https://www.youtube.com/@TechTalksWithSantosh",
        "originalUrl": "https://www.youtube.com/watch?v=xMtEEL9xSas"
      },
      "publishedAt": "2023-03-18T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2023-03-18T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/santosh-yadav-redwoodjs-with-anthony/",
        "markdown": "https://ajcwebdev.com/videos/santosh-yadav-redwoodjs-with-anthony/index.md",
        "json": "https://ajcwebdev.com/videos/santosh-yadav-redwoodjs-with-anthony/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-introduction-and-what-makes-redwood-different",
          "text": "00:00:00 - Introduction and What Makes Redwood Different"
        },
        {
          "depth": 3,
          "id": "00-04-15-generating-pages-and-routing",
          "text": "00:04:15 - Generating Pages and Routing"
        },
        {
          "depth": 3,
          "id": "00-11-22-prisma-schema-database-setup-and-scaffolding",
          "text": "00:11:22 - Prisma Schema, Database Setup, and Scaffolding"
        },
        {
          "depth": 3,
          "id": "00-16-29-cells-graphql-and-declarative-data-fetching",
          "text": "00:16:29 - Cells, GraphQL, and Declarative Data Fetching"
        },
        {
          "depth": 3,
          "id": "00-22-52-backend-code-walkthrough-and-convention-benefits",
          "text": "00:22:52 - Backend Code Walkthrough and Convention Benefits"
        },
        {
          "depth": 3,
          "id": "00-28-56-deployment-to-vercel-and-provider-options",
          "text": "00:28:56 - Deployment to Vercel and Provider Options"
        },
        {
          "depth": 3,
          "id": "00-36-21-live-demo-auth-and-real-world-use-cases",
          "text": "00:36:21 - Live Demo, Auth, and Real-World Use Cases"
        },
        {
          "depth": 3,
          "id": "00-42-16-ssr-vite-integration-and-the-redwood-roadmap",
          "text": "00:42:16 - SSR, Vite Integration, and the Redwood Roadmap"
        },
        {
          "depth": 3,
          "id": "00-47-44-typescript-css-and-the-webpack-to-vite-shift",
          "text": "00:47:44 - TypeScript, CSS, and the Webpack-to-Vite Shift"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "frontend",
        "backend",
        "deployment"
      ]
    },
    {
      "title": "RedwoodJS 4",
      "slug": "nick-taylor-redwoodjs-4",
      "collection": "videos",
      "contentType": "Video",
      "description": "Nick Taylor hosts Dom and Anthony from RedwoodJS's core team to discuss new features in v4 including custom auth and Vite support",
      "summary": "Nick Taylor hosts Dom and Anthony from RedwoodJS's core team to discuss new features in v4 including custom auth and Vite support",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "Nick Taylor",
        "channelUrl": "https://www.youtube.com/@nickytonline",
        "originalUrl": "https://www.youtube.com/watch?v=DyvGlt8a5RQ"
      },
      "publishedAt": "2023-02-17T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2023-02-17T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/nick-taylor-redwoodjs-4/",
        "markdown": "https://ajcwebdev.com/videos/nick-taylor-redwoodjs-4/index.md",
        "json": "https://ajcwebdev.com/videos/nick-taylor-redwoodjs-4/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-introductions-and-audio-troubles",
          "text": "00:00:00 - Introductions and Audio Troubles"
        },
        {
          "depth": 3,
          "id": "00-04-38-redwood-v4-release-and-the-new-auth-api",
          "text": "00:04:38 - Redwood v4 Release and the New Auth API"
        },
        {
          "depth": 3,
          "id": "00-07-10-what-is-redwoodjs-and-its-core-concepts",
          "text": "00:07:10 - What Is RedwoodJS and Its Core Concepts"
        },
        {
          "depth": 3,
          "id": "00-09-16-vite-support-and-storybook-integration",
          "text": "00:09:16 - Vite Support and Storybook Integration"
        },
        {
          "depth": 3,
          "id": "00-15-00-cells-routing-and-authentication-architecture",
          "text": "00:15:00 - Cells, Routing, and Authentication Architecture"
        },
        {
          "depth": 3,
          "id": "00-22-48-live-coding-scaffolding-a-redwood-app",
          "text": "00:22:48 - Live Coding: Scaffolding a Redwood App"
        },
        {
          "depth": 3,
          "id": "00-30-33-building-custom-auth-client-and-api-setup",
          "text": "00:30:33 - Building Custom Auth: Client and API Setup"
        },
        {
          "depth": 3,
          "id": "00-44-28-building-custom-auth-wiring-the-login-flow",
          "text": "00:44:28 - Building Custom Auth: Wiring the Login Flow"
        },
        {
          "depth": 3,
          "id": "01-18-31-vite-migration-and-graphql-security",
          "text": "01:18:31 - Vite Migration and GraphQL Security"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "frontend",
        "backend",
        "graphql"
      ]
    },
    {
      "title": "Bedrock Layout with Travis Waith-Mair",
      "slug": "bedrock-layout-with-travis-waith-mair",
      "collection": "videos",
      "contentType": "Video",
      "description": "Anthony Campolo and Travis Waith-Mair demo the responsive, reusable layout components provided by Bedrock Layout and discuss its motivation and design",
      "summary": "Anthony Campolo and Travis Waith-Mair demo the responsive, reusable layout components provided by Bedrock Layout and discuss its motivation and design",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "Anthony Campolo",
        "channelUrl": "https://www.youtube.com/@ajcwebdev",
        "originalUrl": "https://www.youtube.com/watch?v=YfqB7oRZmhA"
      },
      "publishedAt": "2023-01-27T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2023-01-27T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/bedrock-layout-with-travis-waith-mair/",
        "markdown": "https://ajcwebdev.com/videos/bedrock-layout-with-travis-waith-mair/index.md",
        "json": "https://ajcwebdev.com/videos/bedrock-layout-with-travis-waith-mair/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-introduction-and-announcements",
          "text": "00:00:00 - Introduction and Announcements"
        },
        {
          "depth": 3,
          "id": "00-07-06-meet-travis-and-the-bedrock-layout-origin-story",
          "text": "00:07:06 - Meet Travis and the Bedrock Layout Origin Story"
        },
        {
          "depth": 3,
          "id": "00-17-39-every-layout-css-in-js-and-attribute-selectors",
          "text": "00:17:39 - Every Layout, CSS-in-JS, and Attribute Selectors"
        },
        {
          "depth": 3,
          "id": "00-27-33-live-demo-exploring-split-and-the-css-framework",
          "text": "00:27:33 - Live Demo: Exploring Split and the CSS Framework"
        },
        {
          "depth": 3,
          "id": "00-39-42-spacing-schemes-open-props-and-tailwind-comparisons",
          "text": "00:39:42 - Spacing Schemes, Open Props, and Tailwind Comparisons"
        },
        {
          "depth": 3,
          "id": "00-47-43-live-coding-stack-inline-and-building-a-hero-component",
          "text": "00:47:43 - Live Coding: Stack, Inline, and Building a Hero Component"
        },
        {
          "depth": 3,
          "id": "01-11-51-cover-center-and-composing-layout-primitives",
          "text": "01:11:51 - Cover, Center, and Composing Layout Primitives"
        },
        {
          "depth": 3,
          "id": "01-22-30-future-plans-and-closing-thoughts",
          "text": "01:22:30 - Future Plans and Closing Thoughts"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "web",
        "frontend"
      ]
    },
    {
      "title": "Server Side Rendering with Nick Taylor",
      "slug": "ssr-with-nick-taylor",
      "collection": "videos",
      "contentType": "Video",
      "description": "Nick Taylor and Anthony Campolo demo server-side rendering with Astro, showing how to add interactive components while maintaining the benefits of SSR",
      "summary": "Nick Taylor and Anthony Campolo demo server-side rendering with Astro, showing how to add interactive components while maintaining the benefits of SSR",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "Anthony Campolo",
        "channelUrl": "https://www.youtube.com/@ajcwebdev",
        "originalUrl": "https://www.youtube.com/watch?v=bOUhX6pD27w"
      },
      "publishedAt": "2022-11-01T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2022-11-01T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/ssr-with-nick-taylor/",
        "markdown": "https://ajcwebdev.com/videos/ssr-with-nick-taylor/index.md",
        "json": "https://ajcwebdev.com/videos/ssr-with-nick-taylor/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-24-introductions-and-nick-s-background",
          "text": "00:00:24 - Introductions and Nick's Background"
        },
        {
          "depth": 3,
          "id": "00-04-18-understanding-ssr-vs-ssg",
          "text": "00:04:18 - Understanding SSR vs. SSG"
        },
        {
          "depth": 3,
          "id": "00-12-13-the-pendulum-swings-back-to-ssr",
          "text": "00:12:13 - The Pendulum Swings Back to SSR"
        },
        {
          "depth": 3,
          "id": "00-17-29-when-ssr-beats-ssg",
          "text": "00:17:29 - When SSR Beats SSG"
        },
        {
          "depth": 3,
          "id": "00-25-16-streaming-caching-and-framework-support",
          "text": "00:25:16 - Streaming, Caching, and Framework Support"
        },
        {
          "depth": 3,
          "id": "00-30-27-islands-architecture-explained",
          "text": "00:30:27 - Islands Architecture Explained"
        },
        {
          "depth": 3,
          "id": "00-35-54-live-coding-setting-up-astro-with-netlify",
          "text": "00:35:54 - Live Coding: Setting Up Astro with Netlify"
        },
        {
          "depth": 3,
          "id": "00-43-15-proving-ssr-with-the-node-js-debugger",
          "text": "00:43:15 - Proving SSR with the Node.js Debugger"
        },
        {
          "depth": 3,
          "id": "00-54-07-building-interactive-preact-islands",
          "text": "00:54:07 - Building Interactive Preact Islands"
        },
        {
          "depth": 3,
          "id": "01-11-02-framework-philosophy-and-closing-thoughts",
          "text": "01:11:02 - Framework Philosophy and Closing Thoughts"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "web",
        "frontend"
      ]
    },
    {
      "title": "Astro SSR with Ben Holmes",
      "slug": "astro-ssr-with-ben-holmes",
      "collection": "videos",
      "contentType": "Video",
      "description": "Anthony Campolo and Ben Holmes discuss Astro SSR capabilities, covering cache control options, deployment platforms, and community collaboration",
      "summary": "Anthony Campolo and Ben Holmes discuss Astro SSR capabilities, covering cache control options, deployment platforms, and community collaboration",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "Anthony Campolo",
        "channelUrl": "https://www.youtube.com/@ajcwebdev",
        "originalUrl": "https://www.youtube.com/watch?v=M93ImyH7hTI"
      },
      "publishedAt": "2022-11-01T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2022-11-01T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/astro-ssr-with-ben-holmes/",
        "markdown": "https://ajcwebdev.com/videos/astro-ssr-with-ben-holmes/index.md",
        "json": "https://ajcwebdev.com/videos/astro-ssr-with-ben-holmes/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-25-introductions-and-ben-s-journey-to-astro",
          "text": "00:00:25 - Introductions and Ben's Journey to Astro"
        },
        {
          "depth": 3,
          "id": "00-06-29-ben-s-stream-and-the-next-js-13-hype",
          "text": "00:06:29 - Ben's Stream and the Next.js 13 Hype"
        },
        {
          "depth": 3,
          "id": "00-12-39-react-server-components-and-framework-landscape",
          "text": "00:12:39 - React Server Components and Framework Landscape"
        },
        {
          "depth": 3,
          "id": "00-20-39-next-js-13-deep-dive-and-deployment-concerns",
          "text": "00:20:39 - Next.js 13 Deep Dive and Deployment Concerns"
        },
        {
          "depth": 3,
          "id": "00-34-26-astro-ssr-explained-and-the-jamstack-debate",
          "text": "00:34:26 - Astro SSR Explained and the Jamstack Debate"
        },
        {
          "depth": 3,
          "id": "00-44-35-live-coding-edge-deployment-and-cache-headers",
          "text": "00:44:35 - Live Coding: Edge Deployment and Cache Headers"
        },
        {
          "depth": 3,
          "id": "01-11-06-adapters-platform-differences-and-closing",
          "text": "01:11:06 - Adapters, Platform Differences, and Closing"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "web",
        "frontend",
        "deployment"
      ]
    },
    {
      "title": "Scaling Ethereum with Layer 2 Chains",
      "slug": "ethglobal-scaling-ethereum-with-layer-2-chains",
      "collection": "videos",
      "contentType": "Video",
      "description": "Anthony Campolo explores Ethereum scaling solutions, focusing on sidechains, ZK rollups, and optimistic rollups, discussing their mechanisms, pros, and cons",
      "summary": "Anthony Campolo explores Ethereum scaling solutions, focusing on sidechains, ZK rollups, and optimistic rollups, discussing their mechanisms, pros, and cons",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "ETHGlobal",
        "channelUrl": "https://www.youtube.com/@ETHGlobal",
        "originalUrl": "https://www.youtube.com/watch?v=yHxljpCNoTw"
      },
      "publishedAt": "2022-09-30T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2022-09-30T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/ethglobal-scaling-ethereum-with-layer-2-chains/",
        "markdown": "https://ajcwebdev.com/videos/ethglobal-scaling-ethereum-with-layer-2-chains/index.md",
        "json": "https://ajcwebdev.com/videos/ethglobal-scaling-ethereum-with-layer-2-chains/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-introduction-and-the-block-space-problem",
          "text": "00:00:00 - Introduction and the Block Space Problem"
        },
        {
          "depth": 3,
          "id": "00-03-14-historical-roots-shadow-chains-lightning-and-plasma",
          "text": "00:03:14 - Historical Roots: Shadow Chains, Lightning, and Plasma"
        },
        {
          "depth": 3,
          "id": "00-07-37-plasma-pros-and-cons-and-the-transition-to-sidechains",
          "text": "00:07:37 - Plasma Pros and Cons and the Transition to Sidechains"
        },
        {
          "depth": 3,
          "id": "00-11-42-sidechain-implementation-evm-compatibility-and-polygon",
          "text": "00:11:42 - Sidechain Implementation: EVM Compatibility and Polygon"
        },
        {
          "depth": 3,
          "id": "00-15-43-zero-knowledge-rollups-explained",
          "text": "00:15:43 - Zero Knowledge Rollups Explained"
        },
        {
          "depth": 3,
          "id": "00-19-54-optimistic-rollups-arbitrum-and-optimism",
          "text": "00:19:54 - Optimistic Rollups: Arbitrum and Optimism"
        },
        {
          "depth": 3,
          "id": "00-25-49-resources-the-merge-and-closing-thoughts",
          "text": "00:25:49 - Resources, The Merge, and Closing Thoughts"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "blockchain"
      ]
    },
    {
      "title": "The Side of Crypto You Dont Know - QuickNode x vEmpire",
      "slug": "vempire-side-of-crypto-you-dont-know",
      "collection": "videos",
      "contentType": "Video",
      "description": "A conversation on vital node infrastructure, developer advocacy, and the future of blockchain networks",
      "summary": "A conversation on vital node infrastructure, developer advocacy, and the future of blockchain networks",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "vEmpire",
        "channelUrl": "https://www.youtube.com/@VEMP",
        "originalUrl": "https://www.youtube.com/watch?v=rva6tbEiEWI"
      },
      "publishedAt": "2022-09-29T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2022-09-29T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/vempire-side-of-crypto-you-dont-know/",
        "markdown": "https://ajcwebdev.com/videos/vempire-side-of-crypto-you-dont-know/index.md",
        "json": "https://ajcwebdev.com/videos/vempire-side-of-crypto-you-dont-know/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-introduction-and-anthony-s-background",
          "text": "00:00:00 - Introduction and Anthony's Background"
        },
        {
          "depth": 3,
          "id": "00-06-00-what-is-a-developer-advocate-and-music-roots",
          "text": "00:06:00 - What Is a Developer Advocate and Music Roots"
        },
        {
          "depth": 3,
          "id": "00-10-15-blockchain-nodes-explained",
          "text": "00:10:15 - Blockchain Nodes Explained"
        },
        {
          "depth": 3,
          "id": "00-13-00-decentralization-and-quicknode-s-approach",
          "text": "00:13:00 - Decentralization and QuickNode's Approach"
        },
        {
          "depth": 3,
          "id": "00-17-10-chain-partnerships-and-the-ethereum-merge",
          "text": "00:17:10 - Chain Partnerships and the Ethereum Merge"
        },
        {
          "depth": 3,
          "id": "00-21-00-apis-icy-tools-and-the-marketplace",
          "text": "00:21:00 - APIs, ICY Tools, and the Marketplace"
        },
        {
          "depth": 3,
          "id": "00-27-50-beginner-resources-and-learning-solidity",
          "text": "00:27:50 - Beginner Resources and Learning Solidity"
        },
        {
          "depth": 3,
          "id": "00-33-00-community-token-questions-and-quick-alerts",
          "text": "00:33:00 - Community, Token Questions, and Quick Alerts"
        },
        {
          "depth": 3,
          "id": "00-39-00-security-scalability-and-audience-q-a",
          "text": "00:39:00 - Security, Scalability, and Audience Q&A"
        },
        {
          "depth": 3,
          "id": "00-44-30-benefits-for-average-users-and-investment-questions",
          "text": "00:44:30 - Benefits for Average Users and Investment Questions"
        },
        {
          "depth": 3,
          "id": "00-53-00-hiring-wrap-up-and-final-thoughts",
          "text": "00:53:00 - Hiring, Wrap-Up, and Final Thoughts"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "web",
        "backend",
        "blockchain"
      ]
    },
    {
      "title": "Building Reactive UIs with SolidJS",
      "slug": "dallas-devs-building-reactive-uis-with-solidjs",
      "collection": "videos",
      "contentType": "Video",
      "description": "Anthony Campolo introduces SolidJS, a reactive JavaScript framework similar to React, demonstrating its key features and deployment process",
      "summary": "Anthony Campolo introduces SolidJS, a reactive JavaScript framework similar to React, demonstrating its key features and deployment process",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "Dallas Software Developers",
        "channelUrl": "https://www.youtube.com/@DallasSoftwareDevelopers",
        "originalUrl": "https://www.youtube.com/watch?v=yfHVf1Hlo10"
      },
      "publishedAt": "2022-09-28T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2022-09-28T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/dallas-devs-building-reactive-uis-with-solidjs/",
        "markdown": "https://ajcwebdev.com/videos/dallas-devs-building-reactive-uis-with-solidjs/index.md",
        "json": "https://ajcwebdev.com/videos/dallas-devs-building-reactive-uis-with-solidjs/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-introduction-to-solidjs-and-speaker-background",
          "text": "00:00:00 - Introduction to SolidJS and Speaker Background"
        },
        {
          "depth": 3,
          "id": "00-03-40-project-setup-vite-and-build-tooling",
          "text": "00:03:40 - Project Setup, Vite, and Build Tooling"
        },
        {
          "depth": 3,
          "id": "00-12-05-components-signals-and-effects",
          "text": "00:12:05 - Components, Signals, and Effects"
        },
        {
          "depth": 3,
          "id": "00-20-13-api-calls-deployment-to-netlify-and-vercel",
          "text": "00:20:13 - API Calls, Deployment to Netlify and Vercel"
        },
        {
          "depth": 3,
          "id": "00-29-48-solid-start-server-side-rendering-and-file-based-routing",
          "text": "00:29:48 - Solid Start, Server-Side Rendering, and File-Based Routing"
        },
        {
          "depth": 3,
          "id": "00-35-30-building-a-to-do-app-and-edge-deployment",
          "text": "00:35:30 - Building a To-Do App and Edge Deployment"
        },
        {
          "depth": 3,
          "id": "00-41-07-q-a-reactivity-hydration-and-the-framework-landscape",
          "text": "00:41:07 - Q&A: Reactivity, Hydration, and the Framework Landscape"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "web",
        "frontend",
        "deployment"
      ]
    },
    {
      "title": "Bun with Anthony Campolo",
      "slug": "bun-with-anthony-campolo",
      "collection": "videos",
      "contentType": "Video",
      "description": "Anthony Campolo explores Bun, a new JS/TS runtime, and demos creating and deploying a basic Bun server using Railway and Docker",
      "summary": "Anthony Campolo explores Bun, a new JS/TS runtime, and demos creating and deploying a basic Bun server using Railway and Docker",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "Anthony Campolo",
        "channelUrl": "https://www.youtube.com/@ajcwebdev",
        "originalUrl": "https://www.youtube.com/watch?v=-jF0g_YGPdI"
      },
      "publishedAt": "2022-09-05T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2022-09-05T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/bun-with-anthony-campolo/",
        "markdown": "https://ajcwebdev.com/videos/bun-with-anthony-campolo/index.md",
        "json": "https://ajcwebdev.com/videos/bun-with-anthony-campolo/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-25-introduction-and-what-is-bun",
          "text": "00:00:25 - Introduction and What Is Bun"
        },
        {
          "depth": 3,
          "id": "00-05-38-the-javascript-runtime-landscape-and-competition",
          "text": "00:05:38 - The JavaScript Runtime Landscape and Competition"
        },
        {
          "depth": 3,
          "id": "00-12-54-technical-writing-community-discussion-and-bun-s-documentation",
          "text": "00:12:54 - Technical Writing, Community Discussion, and Bun's Documentation"
        },
        {
          "depth": 3,
          "id": "00-17-31-deploying-bun-on-railway-with-docker",
          "text": "00:17:31 - Deploying Bun on Railway with Docker"
        },
        {
          "depth": 3,
          "id": "00-33-39-generating-a-next-js-app-with-bun",
          "text": "00:33:39 - Generating a Next.js App with Bun"
        },
        {
          "depth": 3,
          "id": "00-39-09-wrap-up-and-upcoming-guests",
          "text": "00:39:09 - Wrap-Up and Upcoming Guests"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "web",
        "backend",
        "deployment"
      ]
    },
    {
      "title": "SolidJS with Ryan Carniato",
      "slug": "solidjs-with-ryan-carniato",
      "collection": "videos",
      "contentType": "Video",
      "description": "Ryan Carniato discusses SolidJS, demoing how to port a Hacker News clone from Rollup to Vite. Explores data fetching, reactivity, and benchmarking frameworks",
      "summary": "Ryan Carniato discusses SolidJS, demoing how to port a Hacker News clone from Rollup to Vite. Explores data fetching, reactivity, and benchmarking frameworks",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "Anthony Campolo",
        "channelUrl": "https://www.youtube.com/@ajcwebdev",
        "originalUrl": "https://www.youtube.com/watch?v=KT-rfkQUPUQ"
      },
      "publishedAt": "2022-08-30T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2022-08-30T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/solidjs-with-ryan-carniato/",
        "markdown": "https://ajcwebdev.com/videos/solidjs-with-ryan-carniato/index.md",
        "json": "https://ajcwebdev.com/videos/solidjs-with-ryan-carniato/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-27-introductions-and-ryan-s-background",
          "text": "00:00:27 - Introductions and Ryan's Background"
        },
        {
          "depth": 3,
          "id": "00-04-00-why-hacker-news-as-the-demo-app",
          "text": "00:04:00 - Why Hacker News as the Demo App"
        },
        {
          "depth": 3,
          "id": "00-08-49-examining-the-solid-hacker-news-codebase",
          "text": "00:08:49 - Examining the Solid Hacker News Codebase"
        },
        {
          "depth": 3,
          "id": "00-13-35-router-data-fetching-and-solid-primitives",
          "text": "00:13:35 - Router, Data Fetching, and Solid Primitives"
        },
        {
          "depth": 3,
          "id": "00-29-26-live-migration-from-rollup-to-vite",
          "text": "00:29:26 - Live Migration from Rollup to Vite"
        },
        {
          "depth": 3,
          "id": "00-39-13-solid-s-approachability-and-the-react-mental-model",
          "text": "00:39:13 - Solid's Approachability and the React Mental Model"
        },
        {
          "depth": 3,
          "id": "00-44-10-builder-io-benchmarks-and-meta-framework-performance",
          "text": "00:44:10 - Builder.io Benchmarks and Meta-Framework Performance"
        },
        {
          "depth": 3,
          "id": "00-51-19-community-mentorship-and-wrap-up",
          "text": "00:51:19 - Community, Mentorship, and Wrap-Up"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "web",
        "frontend"
      ]
    },
    {
      "title": "Social Cards with Ben Myers",
      "slug": "social-cards-with-ben-myers",
      "collection": "videos",
      "contentType": "Video",
      "description": "Ben Myers guides Anthony Campolo through creating customizable HTML/CSS-based social media cards for promoting streams",
      "summary": "Ben Myers guides Anthony Campolo through creating customizable HTML/CSS-based social media cards for promoting streams",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "Anthony Campolo",
        "channelUrl": "https://www.youtube.com/@ajcwebdev",
        "originalUrl": "https://www.youtube.com/watch?v=zSnKSlZLY-A"
      },
      "publishedAt": "2022-08-22T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2022-08-22T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/social-cards-with-ben-myers/",
        "markdown": "https://ajcwebdev.com/videos/social-cards-with-ben-myers/index.md",
        "json": "https://ajcwebdev.com/videos/social-cards-with-ben-myers/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-stream-launch-and-the-value-of-guest-format-shows",
          "text": "00:00:00 - Stream Launch and the Value of Guest-Format Shows"
        },
        {
          "depth": 3,
          "id": "00-04-06-starting-small-and-choosing-your-streaming-tools",
          "text": "00:04:06 - Starting Small and Choosing Your Streaming Tools"
        },
        {
          "depth": 3,
          "id": "00-10-17-introducing-social-share-cards-and-the-cloudinary-approach",
          "text": "00:10:17 - Introducing Social Share Cards and the Cloudinary Approach"
        },
        {
          "depth": 3,
          "id": "00-15-00-building-a-share-card-from-scratch-with-html-and-css",
          "text": "00:15:00 - Building a Share Card from Scratch with HTML and CSS"
        },
        {
          "depth": 3,
          "id": "00-25-21-designing-the-background-with-gradients-and-hero-patterns",
          "text": "00:25:21 - Designing the Background with Gradients and Hero Patterns"
        },
        {
          "depth": 3,
          "id": "00-46-22-fine-tuning-layout-typography-and-pixel-perfect-control",
          "text": "00:46:22 - Fine-Tuning Layout, Typography, and Pixel-Perfect Control"
        },
        {
          "depth": 3,
          "id": "00-54-39-eleventy-integration-automation-philosophy-and-wrap-up",
          "text": "00:54:39 - Eleventy Integration, Automation Philosophy, and Wrap-Up"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "web",
        "frontend"
      ]
    },
    {
      "title": "A Crash Course in web3 for web2 Developers",
      "slug": "composability-web3-crash-course-for-web2-devs",
      "collection": "videos",
      "contentType": "Video",
      "description": "Anthony Campolo presents a crash course on Web3 development for Web2 developers, demoing how to build a decentralized app using smart contracts and React",
      "summary": "Anthony Campolo presents a crash course on Web3 development for Web2 developers, demoing how to build a decentralized app using smart contracts and React",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "JavaScript Jam",
        "channelUrl": "https://www.youtube.com/@javascriptjam",
        "originalUrl": "https://www.youtube.com/watch?v=kl5nNRKemkY"
      },
      "publishedAt": "2022-07-29T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2022-07-29T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/composability-web3-crash-course-for-web2-devs/",
        "markdown": "https://ajcwebdev.com/videos/composability-web3-crash-course-for-web2-devs/index.md",
        "json": "https://ajcwebdev.com/videos/composability-web3-crash-course-for-web2-devs/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-introduction-to-web3-composability",
          "text": "00:00:00 - Introduction to Web3 Composability"
        },
        {
          "depth": 3,
          "id": "00-03-47-setting-up-the-smart-contract-and-blockchain-basics",
          "text": "00:03:47 - Setting Up the Smart Contract and Blockchain Basics"
        },
        {
          "depth": 3,
          "id": "00-09-23-compiling-deploying-and-understanding-the-abi",
          "text": "00:09:23 - Compiling, Deploying, and Understanding the ABI"
        },
        {
          "depth": 3,
          "id": "00-13-13-connecting-the-react-frontend-to-the-smart-contract",
          "text": "00:13:13 - Connecting the React Frontend to the Smart Contract"
        },
        {
          "depth": 3,
          "id": "00-19-00-deploying-the-dapp-and-final-thoughts-on-composability",
          "text": "00:19:00 - Deploying the dApp and Final Thoughts on Composability"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "web",
        "frontend",
        "blockchain"
      ]
    },
    {
      "title": "Using icy-tools GraphQL and Remix to Build an NFT Dashboard",
      "slug": "quickstreams-nft-dashboard-with-icytools-remix",
      "collection": "videos",
      "contentType": "Video",
      "description": "This walkthrough demos how to get an API key from icy.tools, write GraphQL queries for common NFT data, and create a Remix app to display query results",
      "summary": "This walkthrough demos how to get an API key from icy.tools, write GraphQL queries for common NFT data, and create a Remix app to display query results",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "QuickNode",
        "channelUrl": "https://www.youtube.com/@QuickNode",
        "originalUrl": "https://www.youtube.com/watch?v=V3l8W3xQ3gQ"
      },
      "publishedAt": "2022-07-28T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2022-07-28T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/quickstreams-nft-dashboard-with-icytools-remix/",
        "markdown": "https://ajcwebdev.com/videos/quickstreams-nft-dashboard-with-icytools-remix/index.md",
        "json": "https://ajcwebdev.com/videos/quickstreams-nft-dashboard-with-icytools-remix/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-introduction-and-dan-s-background-with-graphql",
          "text": "00:00:00 - Introduction and Dan's Background with GraphQL"
        },
        {
          "depth": 3,
          "id": "00-03-50-why-graphql-fits-blockchain-data",
          "text": "00:03:50 - Why GraphQL Fits Blockchain Data"
        },
        {
          "depth": 3,
          "id": "00-07-18-exploring-the-icy-tools-developer-portal",
          "text": "00:07:18 - Exploring the Icy Tools Developer Portal"
        },
        {
          "depth": 3,
          "id": "00-11-10-building-a-remix-app-from-scratch",
          "text": "00:11:10 - Building a Remix App from Scratch"
        },
        {
          "depth": 3,
          "id": "00-18-00-the-react-hooks-package-and-open-source-repo",
          "text": "00:18:00 - The React Hooks Package and Open Source Repo"
        },
        {
          "depth": 3,
          "id": "00-26-52-wrap-up-and-community-call-to-action",
          "text": "00:26:52 - Wrap-Up and Community Call to Action"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "frontend",
        "graphql",
        "blockchain"
      ]
    },
    {
      "title": "Deploy to the Decentralized Web with IPFS",
      "slug": "some-antics-deploy-to-ipfs-decentralized-web",
      "collection": "videos",
      "contentType": "Video",
      "description": "Anthony Campolo rejoins Some Antics with Ben Myers to explore IPFS (the InterPlanetary File System) for decentralized web deployment",
      "summary": "Anthony Campolo rejoins Some Antics with Ben Myers to explore IPFS (the InterPlanetary File System) for decentralized web deployment",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "Ben Myers",
        "channelUrl": "https://www.youtube.com/@BenDMyers",
        "originalUrl": "https://www.youtube.com/watch?v=GJQZkm2ut0E"
      },
      "publishedAt": "2022-07-14T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2022-07-14T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/some-antics-deploy-to-ipfs-decentralized-web/",
        "markdown": "https://ajcwebdev.com/videos/some-antics-deploy-to-ipfs-decentralized-web/index.md",
        "json": "https://ajcwebdev.com/videos/some-antics-deploy-to-ipfs-decentralized-web/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-introduction-and-guest-welcome",
          "text": "00:00:00 - Introduction and Guest Welcome"
        },
        {
          "depth": 3,
          "id": "00-02-00-distributed-vs-decentralized-systems",
          "text": "00:02:00 - Distributed vs. Decentralized Systems"
        },
        {
          "depth": 3,
          "id": "00-05-07-what-is-ipfs-and-how-does-it-work",
          "text": "00:05:07 - What Is IPFS and How Does It Work?"
        },
        {
          "depth": 3,
          "id": "00-11-13-use-cases-limitations-and-the-promise-of-permanence",
          "text": "00:11:13 - Use Cases, Limitations, and the Promise of Permanence"
        },
        {
          "depth": 3,
          "id": "00-20-25-hands-on-initializing-ipfs-and-adding-content",
          "text": "00:20:25 - Hands-On: Initializing IPFS and Adding Content"
        },
        {
          "depth": 3,
          "id": "00-32-15-creating-and-deploying-an-html-page-to-ipfs",
          "text": "00:32:15 - Creating and Deploying an HTML Page to IPFS"
        },
        {
          "depth": 3,
          "id": "00-46-11-deploying-with-fleek-the-netlify-of-ipfs",
          "text": "00:46:11 - Deploying with Fleek: The Netlify of IPFS"
        },
        {
          "depth": 3,
          "id": "00-58-22-nfts-future-outlook-and-closing-thoughts",
          "text": "00:58:22 - NFTs, Future Outlook, and Closing Thoughts"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "web",
        "deployment",
        "blockchain"
      ]
    },
    {
      "title": "Web3 is Jamstack by Default",
      "slug": "jamstack-boston-web3-is-jamstack-by-default",
      "collection": "videos",
      "contentType": "Video",
      "description": "Anthony Campolo introduces Web3 technologies and demos integrating a Svelte app with Ethereum's blockchain while explaining key implementation details",
      "summary": "Anthony Campolo introduces Web3 technologies and demos integrating a Svelte app with Ethereum's blockchain while explaining key implementation details",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "Jantcu",
        "channelUrl": "https://www.youtube.com/@Jantcu",
        "originalUrl": "https://www.youtube.com/watch?v=mGeBVj6Mve0"
      },
      "publishedAt": "2022-07-07T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2022-07-07T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/jamstack-boston-web3-is-jamstack-by-default/",
        "markdown": "https://ajcwebdev.com/videos/jamstack-boston-web3-is-jamstack-by-default/index.md",
        "json": "https://ajcwebdev.com/videos/jamstack-boston-web3-is-jamstack-by-default/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-web3-meets-jamstack-core-concepts",
          "text": "00:00:00 - Web3 Meets Jamstack: Core Concepts"
        },
        {
          "depth": 3,
          "id": "00-05-11-nodes-smart-contracts-and-immutability",
          "text": "00:05:11 - Nodes, Smart Contracts, and Immutability"
        },
        {
          "depth": 3,
          "id": "00-10-51-setting-up-the-development-environment",
          "text": "00:10:51 - Setting Up the Development Environment"
        },
        {
          "depth": 3,
          "id": "00-23-44-smart-contract-security-and-auditing",
          "text": "00:23:44 - Smart Contract Security and Auditing"
        },
        {
          "depth": 3,
          "id": "00-29-13-live-demo-deploying-and-interacting-with-the-contract",
          "text": "00:29:13 - Live Demo: Deploying and Interacting with the Contract"
        },
        {
          "depth": 3,
          "id": "00-44-16-deploying-to-vercel-and-decentralization-trade-offs",
          "text": "00:44:16 - Deploying to Vercel and Decentralization Trade-offs"
        },
        {
          "depth": 3,
          "id": "00-53-25-the-future-of-web3-and-learning-resources",
          "text": "00:53:25 - The Future of Web3 and Learning Resources"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "web",
        "frontend",
        "blockchain"
      ]
    },
    {
      "title": "Deploy a React App with Vite and Vercel",
      "slug": "teach-jenn-tech-deploy-a-react-app-with-vite-vercel",
      "collection": "videos",
      "contentType": "Video",
      "description": "Jenn learns to deploy her first React app using Vite and Vercel with guidance from Anthony, covering key concepts in modern web development",
      "summary": "Jenn learns to deploy her first React app using Vite and Vercel with guidance from Anthony, covering key concepts in modern web development",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "Jenn Junod",
        "channelUrl": "https://www.youtube.com/@jennjunod",
        "originalUrl": "https://www.youtube.com/watch?v=bU-zAAd5FyM"
      },
      "publishedAt": "2022-07-06T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2022-07-06T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/teach-jenn-tech-deploy-a-react-app-with-vite-vercel/",
        "markdown": "https://ajcwebdev.com/videos/teach-jenn-tech-deploy-a-react-app-with-vite-vercel/index.md",
        "json": "https://ajcwebdev.com/videos/teach-jenn-tech-deploy-a-react-app-with-vite-vercel/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-introductions-and-the-value-of-beginner-content",
          "text": "00:00:00 - Introductions and the Value of Beginner Content"
        },
        {
          "depth": 3,
          "id": "00-03-57-building-a-twitter-presence-and-the-devrel-community",
          "text": "00:03:57 - Building a Twitter Presence and the DevRel Community"
        },
        {
          "depth": 3,
          "id": "00-08-22-understanding-vite-react-and-build-tools",
          "text": "00:08:22 - Understanding Vite, React, and Build Tools"
        },
        {
          "depth": 3,
          "id": "00-14-01-setting-up-the-project-with-terminal-and-vs-code",
          "text": "00:14:01 - Setting Up the Project with Terminal and VS Code"
        },
        {
          "depth": 3,
          "id": "00-25-48-running-locally-and-editing-react-code",
          "text": "00:25:48 - Running Locally and Editing React Code"
        },
        {
          "depth": 3,
          "id": "00-35-08-pushing-to-github-and-deploying-on-vercel",
          "text": "00:35:08 - Pushing to GitHub and Deploying on Vercel"
        },
        {
          "depth": 3,
          "id": "00-46-27-homework-web-apps-vs-websites-and-wrapping-up",
          "text": "00:46:27 - Homework, Web Apps vs Websites, and Wrapping Up"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "web",
        "frontend",
        "deployment"
      ]
    },
    {
      "title": "QuickNode Builds Infrastructure for the Future",
      "slug": "codingcat-quicknode-builds-infra-for-the-future",
      "collection": "videos",
      "contentType": "Video",
      "description": "Anthony Campolo discusses QuickNode's infrastructure for building Web3 apps, showing how to create and deploy a simple smart contract on Avalanche blockchain",
      "summary": "Anthony Campolo discusses QuickNode's infrastructure for building Web3 apps, showing how to create and deploy a simple smart contract on Avalanche blockchain",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "CodingCatDev",
        "channelUrl": "https://www.youtube.com/@CodingCatDev",
        "originalUrl": "https://www.youtube.com/watch?v=T5ap8kv_-LQ"
      },
      "publishedAt": "2022-06-02T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2022-06-02T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/codingcat-quicknode-builds-infra-for-the-future/",
        "markdown": "https://ajcwebdev.com/videos/codingcat-quicknode-builds-infra-for-the-future/index.md",
        "json": "https://ajcwebdev.com/videos/codingcat-quicknode-builds-infra-for-the-future/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-introduction-and-anthony-s-move-to-quicknode",
          "text": "00:00:00 - Introduction and Anthony's Move to QuickNode"
        },
        {
          "depth": 3,
          "id": "00-03-43-understanding-web3-and-quicknode-s-role",
          "text": "00:03:43 - Understanding Web3 and QuickNode's Role"
        },
        {
          "depth": 3,
          "id": "00-09-09-smart-contracts-ethereum-vs-bitcoin-and-the-demo-setup",
          "text": "00:09:09 - Smart Contracts, Ethereum vs Bitcoin, and the Demo Setup"
        },
        {
          "depth": 3,
          "id": "00-14-27-writing-and-understanding-the-solidity-smart-contract",
          "text": "00:14:27 - Writing and Understanding the Solidity Smart Contract"
        },
        {
          "depth": 3,
          "id": "00-22-07-hardhat-configuration-and-quicknode-endpoint-setup",
          "text": "00:22:07 - Hardhat Configuration and QuickNode Endpoint Setup"
        },
        {
          "depth": 3,
          "id": "00-29-24-compiling-deploying-and-understanding-the-toolchain",
          "text": "00:29:24 - Compiling, Deploying, and Understanding the Toolchain"
        },
        {
          "depth": 3,
          "id": "00-41-32-building-the-react-frontend",
          "text": "00:41:32 - Building the React Frontend"
        },
        {
          "depth": 3,
          "id": "00-48-39-deploying-to-netlify-and-gas-fees-explained",
          "text": "00:48:39 - Deploying to Netlify and Gas Fees Explained"
        },
        {
          "depth": 3,
          "id": "00-58-40-off-chain-storage-nft-insights-and-perfect-picks",
          "text": "00:58:40 - Off-Chain Storage, NFT Insights, and Perfect Picks"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "backend",
        "deployment",
        "blockchain"
      ]
    },
    {
      "title": "A First Look at Smart Contracts on Avalanche",
      "slug": "codementors-first-look-smart-contracts",
      "collection": "videos",
      "contentType": "Video",
      "description": "A guide to creating and deploying an Avalanche blockchain project, covering MetaMask setup, Solidity smart contracts, and React hosting with Netlify",
      "summary": "A guide to creating and deploying an Avalanche blockchain project, covering MetaMask setup, Solidity smart contracts, and React hosting with Netlify",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "Codementor",
        "channelUrl": "https://www.youtube.com/@Codementor",
        "originalUrl": "https://www.youtube.com/watch?v=RvvMWGPJVUI"
      },
      "publishedAt": "2022-06-01T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2022-06-01T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/codementors-first-look-smart-contracts/",
        "markdown": "https://ajcwebdev.com/videos/codementors-first-look-smart-contracts/index.md",
        "json": "https://ajcwebdev.com/videos/codementors-first-look-smart-contracts/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-setting-up-metamask-and-scaffolding-the-project",
          "text": "00:00:00 - Setting Up MetaMask and Scaffolding the Project"
        },
        {
          "depth": 3,
          "id": "00-05-12-writing-and-deploying-the-solidity-smart-contract",
          "text": "00:05:12 - Writing and Deploying the Solidity Smart Contract"
        },
        {
          "depth": 3,
          "id": "00-15-05-compiling-deploying-and-connecting-react-to-the-contract",
          "text": "00:15:05 - Compiling, Deploying, and Connecting React to the Contract"
        },
        {
          "depth": 3,
          "id": "00-19-58-adding-write-functionality-and-deploying-to-netlify",
          "text": "00:19:58 - Adding Write Functionality and Deploying to Netlify"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "frontend",
        "deployment",
        "blockchain"
      ]
    },
    {
      "title": "Taking Astro to the Moon with QuickNode",
      "slug": "quickstreams-taking-astro-and-quicknode-to-the-moon",
      "collection": "videos",
      "contentType": "Video",
      "description": "A guide on creating a decentralized app using Astro and Avalanche, focusing on smart contract integration and frontend React development",
      "summary": "A guide on creating a decentralized app using Astro and Avalanche, focusing on smart contract integration and frontend React development",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "QuickNode",
        "channelUrl": "https://www.youtube.com/@QuickNode",
        "originalUrl": "https://www.youtube.com/watch?v=0CGxaQ2xKtg"
      },
      "publishedAt": "2022-06-01T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2022-06-01T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/quickstreams-taking-astro-and-quicknode-to-the-moon/",
        "markdown": "https://ajcwebdev.com/videos/quickstreams-taking-astro-and-quicknode-to-the-moon/index.md",
        "json": "https://ajcwebdev.com/videos/quickstreams-taking-astro-and-quicknode-to-the-moon/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-introductions-and-background",
          "text": "00:00:00 - Introductions and Background"
        },
        {
          "depth": 3,
          "id": "00-03-05-web3-philosophy-and-smart-contract-basics",
          "text": "00:03:05 - Web3 Philosophy and Smart Contract Basics"
        },
        {
          "depth": 3,
          "id": "00-07-33-astro-overview-and-project-setup",
          "text": "00:07:33 - Astro Overview and Project Setup"
        },
        {
          "depth": 3,
          "id": "00-13-07-writing-and-deploying-the-solidity-contract",
          "text": "00:13:07 - Writing and Deploying the Solidity Contract"
        },
        {
          "depth": 3,
          "id": "00-21-37-quicknode-wallets-and-network-configuration",
          "text": "00:21:37 - QuickNode, Wallets, and Network Configuration"
        },
        {
          "depth": 3,
          "id": "00-29-05-building-the-astro-front-end",
          "text": "00:29:05 - Building the Astro Front End"
        },
        {
          "depth": 3,
          "id": "00-39-13-connecting-to-the-smart-contract-and-live-demo",
          "text": "00:39:13 - Connecting to the Smart Contract and Live Demo"
        },
        {
          "depth": 3,
          "id": "00-45-09-deploying-to-netlify-and-contract-immutability",
          "text": "00:45:09 - Deploying to Netlify and Contract Immutability"
        },
        {
          "depth": 3,
          "id": "00-52-43-wrap-up-and-community-recommendations",
          "text": "00:52:43 - Wrap-Up and Community Recommendations"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "web",
        "frontend",
        "blockchain"
      ]
    },
    {
      "title": "A First Look at Avalanche",
      "slug": "quickstreams-first-look-avalanche",
      "collection": "videos",
      "contentType": "Video",
      "description": "Anthony Campolo demonstrates deploying a smart contract on Avalanche using QuickNode and integrating it with a React frontend hosted on Netlify",
      "summary": "Anthony Campolo demonstrates deploying a smart contract on Avalanche using QuickNode and integrating it with a React frontend hosted on Netlify",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "QuickNode",
        "channelUrl": "https://www.youtube.com/@QuickNode",
        "originalUrl": "https://www.youtube.com/watch?v=r2GIxZ1KMQE"
      },
      "publishedAt": "2022-05-16T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2022-05-16T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/quickstreams-first-look-avalanche/",
        "markdown": "https://ajcwebdev.com/videos/quickstreams-first-look-avalanche/index.md",
        "json": "https://ajcwebdev.com/videos/quickstreams-first-look-avalanche/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-introduction-to-quick-streams-and-avalanche",
          "text": "00:00:00 - Introduction to Quick Streams and Avalanche"
        },
        {
          "depth": 3,
          "id": "00-03-25-quicknode-dashboard-and-metamask-configuration",
          "text": "00:03:25 - QuickNode Dashboard and MetaMask Configuration"
        },
        {
          "depth": 3,
          "id": "00-08-22-project-setup-and-smart-contract-development",
          "text": "00:08:22 - Project Setup and Smart Contract Development"
        },
        {
          "depth": 3,
          "id": "00-13-46-compiling-deploying-and-verifying-the-contract",
          "text": "00:13:46 - Compiling, Deploying, and Verifying the Contract"
        },
        {
          "depth": 3,
          "id": "00-18-07-building-the-react-frontend",
          "text": "00:18:07 - Building the React Frontend"
        },
        {
          "depth": 3,
          "id": "00-23-22-deploying-to-netlify-and-wrap-up",
          "text": "00:23:22 - Deploying to Netlify and Wrap-Up"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "frontend",
        "deployment",
        "blockchain"
      ]
    },
    {
      "title": "RedwoodJS Walkthrough",
      "slug": "nick-taylor-redwoodjs-walkthrough",
      "collection": "videos",
      "contentType": "Video",
      "description": "Nick Taylor and Anthony Campolo demo using RedwoodJS for deploying a fullstack JS application on Netlify, covering database integration and CRUD operations",
      "summary": "Nick Taylor and Anthony Campolo demo using RedwoodJS for deploying a fullstack JS application on Netlify, covering database integration and CRUD operations",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "Nick Taylor",
        "channelUrl": "https://www.youtube.com/@nickytonline",
        "originalUrl": "https://www.youtube.com/watch?v=URQSVmrr8Vo"
      },
      "publishedAt": "2022-05-13T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2022-05-13T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/nick-taylor-redwoodjs-walkthrough/",
        "markdown": "https://ajcwebdev.com/videos/nick-taylor-redwoodjs-walkthrough/index.md",
        "json": "https://ajcwebdev.com/videos/nick-taylor-redwoodjs-walkthrough/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-introductions-and-career-origin-stories",
          "text": "00:00:00 - Introductions and Career Origin Stories"
        },
        {
          "depth": 3,
          "id": "00-07-10-what-is-redwoodjs-and-how-it-works",
          "text": "00:07:10 - What Is RedwoodJS and How It Works"
        },
        {
          "depth": 3,
          "id": "00-14-49-scaffolding-the-project-and-generating-pages",
          "text": "00:14:49 - Scaffolding the Project and Generating Pages"
        },
        {
          "depth": 3,
          "id": "00-23-10-exploring-the-project-structure-and-prisma-schema",
          "text": "00:23:10 - Exploring the Project Structure and Prisma Schema"
        },
        {
          "depth": 3,
          "id": "00-37-04-scaffold-command-cells-and-crud-functionality",
          "text": "00:37:04 - Scaffold Command, Cells, and CRUD Functionality"
        },
        {
          "depth": 3,
          "id": "00-55-47-deploying-to-netlify-and-troubleshooting",
          "text": "00:55:47 - Deploying to Netlify and Troubleshooting"
        },
        {
          "depth": 3,
          "id": "01-17-06-wrap-up-and-final-thoughts",
          "text": "01:17:06 - Wrap-Up and Final Thoughts"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "frontend",
        "backend",
        "deployment"
      ]
    },
    {
      "title": "Optimistic Rollups and Sidechains",
      "slug": "ethamsterdam-optimistic-rollups-and-sidechains",
      "collection": "videos",
      "contentType": "Video",
      "description": "Anthony Campolo discusses the pros and cons of different Layer 2 scaling solutions for Ethereum, including sidechains, ZK-rollups, and optimistic rollups",
      "summary": "Anthony Campolo discusses the pros and cons of different Layer 2 scaling solutions for Ethereum, including sidechains, ZK-rollups, and optimistic rollups",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "ETHGlobal",
        "channelUrl": "https://www.youtube.com/@ETHGlobal",
        "originalUrl": "https://www.youtube.com/watch?v=xtLmrKsFPvg"
      },
      "publishedAt": "2022-04-29T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2022-04-29T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/ethamsterdam-optimistic-rollups-and-sidechains/",
        "markdown": "https://ajcwebdev.com/videos/ethamsterdam-optimistic-rollups-and-sidechains/index.md",
        "json": "https://ajcwebdev.com/videos/ethamsterdam-optimistic-rollups-and-sidechains/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-12-introduction-and-the-ethereum-scaling-problem",
          "text": "00:00:12 - Introduction and the Ethereum Scaling Problem"
        },
        {
          "depth": 3,
          "id": "00-03-46-from-shadow-chains-to-plasma",
          "text": "00:03:46 - From Shadow Chains to Plasma"
        },
        {
          "depth": 3,
          "id": "00-09-48-sidechains-and-polygon",
          "text": "00:09:48 - Sidechains and Polygon"
        },
        {
          "depth": 3,
          "id": "00-14-43-zero-knowledge-proofs-and-zk-rollups",
          "text": "00:14:43 - Zero Knowledge Proofs and ZK Rollups"
        },
        {
          "depth": 3,
          "id": "00-20-39-optimistic-rollups-arbitrum-and-optimism",
          "text": "00:20:39 - Optimistic Rollups, Arbitrum, and Optimism"
        },
        {
          "depth": 3,
          "id": "00-24-30-wrap-up-q-a-and-predictions",
          "text": "00:24:30 - Wrap-Up, Q&A, and Predictions"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "blockchain"
      ]
    },
    {
      "title": "Learn with Jason on RedwoodJS 1-0 with Anthony Campolo",
      "slug": "learn-with-jason-redwoodjs-1",
      "collection": "videos",
      "contentType": "Video",
      "description": "Anthony Campolo demos building a blog app with RedwoodJS 1.0, showcasing its new features and deployment options to Netlify and Render",
      "summary": "Anthony Campolo demos building a blog app with RedwoodJS 1.0, showcasing its new features and deployment options to Netlify and Render",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "Learn With Jason",
        "channelUrl": "https://www.youtube.com/@learnwithjason",
        "originalUrl": "https://www.youtube.com/watch?v=wrGOSm7IYRQ"
      },
      "publishedAt": "2022-03-19T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2022-03-19T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/learn-with-jason-redwoodjs-1/",
        "markdown": "https://ajcwebdev.com/videos/learn-with-jason-redwoodjs-1/index.md",
        "json": "https://ajcwebdev.com/videos/learn-with-jason-redwoodjs-1/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-introduction-and-anthony-s-background",
          "text": "00:00:00 - Introduction and Anthony's Background"
        },
        {
          "depth": 3,
          "id": "00-02-13-what-makes-redwoodjs-appeal-to-developers",
          "text": "00:02:13 - What Makes RedwoodJS Appeal to Developers"
        },
        {
          "depth": 3,
          "id": "00-05-21-what-s-new-in-redwoodjs-v1",
          "text": "00:05:21 - What's New in RedwoodJS V1"
        },
        {
          "depth": 3,
          "id": "00-09-10-deployment-options-seo-and-accessibility",
          "text": "00:09:10 - Deployment Options, SEO, and Accessibility"
        },
        {
          "depth": 3,
          "id": "00-14-30-setting-up-the-project-and-database-schema",
          "text": "00:14:30 - Setting Up the Project and Database Schema"
        },
        {
          "depth": 3,
          "id": "00-24-46-scaffolding-crud-and-generating-pages",
          "text": "00:24:46 - Scaffolding CRUD and Generating Pages"
        },
        {
          "depth": 3,
          "id": "00-32-13-adding-database-authentication",
          "text": "00:32:13 - Adding Database Authentication"
        },
        {
          "depth": 3,
          "id": "00-48-03-configuring-auth-and-locking-down-signups",
          "text": "00:48:03 - Configuring Auth and Locking Down Signups"
        },
        {
          "depth": 3,
          "id": "00-55-46-deploying-to-netlify-and-render",
          "text": "00:55:46 - Deploying to Netlify and Render"
        },
        {
          "depth": 3,
          "id": "01-17-23-convention-vs-flexibility-and-wrap-up",
          "text": "01:17:23 - Convention vs. Flexibility and Wrap-Up"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "frontend",
        "backend",
        "deployment"
      ]
    },
    {
      "title": "Managing Multiple Data Sources in GraphQL",
      "slug": "codingcat-managing-multiple-data-sources-in-graphql",
      "collection": "videos",
      "contentType": "Video",
      "description": "Anthony Campolo demos how StepZen and GraphQL streamline managing multiple data sources and unifies APIs for frontend development",
      "summary": "Anthony Campolo demos how StepZen and GraphQL streamline managing multiple data sources and unifies APIs for frontend development",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "CodingCatDev",
        "channelUrl": "https://www.youtube.com/@CodingCatDev",
        "originalUrl": "https://www.youtube.com/watch?v=kWWBbkNCtpE"
      },
      "publishedAt": "2022-01-28T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2022-01-28T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/codingcat-managing-multiple-data-sources-in-graphql/",
        "markdown": "https://ajcwebdev.com/videos/codingcat-managing-multiple-data-sources-in-graphql/index.md",
        "json": "https://ajcwebdev.com/videos/codingcat-managing-multiple-data-sources-in-graphql/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-introduction-and-anthony-s-journey-into-tech",
          "text": "00:00:00 - Introduction and Anthony's Journey into Tech"
        },
        {
          "depth": 3,
          "id": "00-06-32-graphql-101-and-how-stepzen-works",
          "text": "00:06:32 - GraphQL 101 and How StepZen Works"
        },
        {
          "depth": 3,
          "id": "00-16-19-live-demo-building-a-stepzen-api-from-scratch",
          "text": "00:16:19 - Live Demo: Building a StepZen API from Scratch"
        },
        {
          "depth": 3,
          "id": "00-23-46-combining-multiple-apis-and-the-rest-directive",
          "text": "00:23:46 - Combining Multiple APIs and the REST Directive"
        },
        {
          "depth": 3,
          "id": "00-32-39-graphql-studio-and-front-end-integration",
          "text": "00:32:39 - GraphQL Studio and Front-End Integration"
        },
        {
          "depth": 3,
          "id": "00-40-30-pricing-ecosystem-comparisons-and-perfect-picks",
          "text": "00:40:30 - Pricing, Ecosystem Comparisons, and Perfect Picks"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "frontend",
        "backend",
        "graphql"
      ]
    },
    {
      "title": "Walkthrough Wednesday with Anthony Campolo",
      "slug": "practical-dev-walkthrough-wednesday-with-anthony-campolo",
      "collection": "videos",
      "contentType": "Video",
      "description": "Anthony Campolo demos how to build a blog using SvelteKit, Netlify, DEV.to's API, and StepZen's GraphQL Studio",
      "summary": "Anthony Campolo demos how to build a blog using SvelteKit, Netlify, DEV.to's API, and StepZen's GraphQL Studio",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "The Practical Dev",
        "channelUrl": "https://www.youtube.com/@ThePracticalDevTeam",
        "originalUrl": "https://www.youtube.com/watch?v=pwO_dTYUFT8"
      },
      "publishedAt": "2022-01-10T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2022-01-10T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/practical-dev-walkthrough-wednesday-with-anthony-campolo/",
        "markdown": "https://ajcwebdev.com/videos/practical-dev-walkthrough-wednesday-with-anthony-campolo/index.md",
        "json": "https://ajcwebdev.com/videos/practical-dev-walkthrough-wednesday-with-anthony-campolo/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-32-introductions-and-what-is-stepzen",
          "text": "00:00:32 - Introductions and What Is StepZen"
        },
        {
          "depth": 3,
          "id": "00-03-05-understanding-graphql-fundamentals",
          "text": "00:03:05 - Understanding GraphQL Fundamentals"
        },
        {
          "depth": 3,
          "id": "00-09-49-graphql-security-and-authentication",
          "text": "00:09:49 - GraphQL Security and Authentication"
        },
        {
          "depth": 3,
          "id": "00-11-05-exploring-stepzen-studio-and-the-dev-api",
          "text": "00:11:05 - Exploring StepZen Studio and the DEV API"
        },
        {
          "depth": 3,
          "id": "00-19-19-exporting-schemas-and-local-development-setup",
          "text": "00:19:19 - Exporting Schemas and Local Development Setup"
        },
        {
          "depth": 3,
          "id": "00-25-47-building-the-sveltekit-front-end",
          "text": "00:25:47 - Building the SvelteKit Front End"
        },
        {
          "depth": 3,
          "id": "00-38-32-graphql-queries-variables-and-security-patterns",
          "text": "00:38:32 - GraphQL Queries, Variables, and Security Patterns"
        },
        {
          "depth": 3,
          "id": "00-43-46-combining-queries-and-polishing-the-front-end",
          "text": "00:43:46 - Combining Queries and Polishing the Front End"
        },
        {
          "depth": 3,
          "id": "00-52-02-deploying-to-netlify-and-wrap-up",
          "text": "00:52:02 - Deploying to Netlify and Wrap-Up"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "frontend",
        "graphql",
        "deployment"
      ]
    },
    {
      "title": "Analyzing the Sentiment of Your Blog Comments",
      "slug": "stepzen-stream-analyze-sentiment-of-your-blog-comments",
      "collection": "videos",
      "contentType": "Video",
      "description": "StepZen workshop demos using GraphQL custom directives to analyze blog comment sentiment with Dev.to and Google Natural Language APIs",
      "summary": "StepZen workshop demos using GraphQL custom directives to analyze blog comment sentiment with Dev.to and Google Natural Language APIs",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "StepZen",
        "channelUrl": "https://www.youtube.com/@StepZen",
        "originalUrl": "https://www.youtube.com/watch?v=O06cdhlYZVM"
      },
      "publishedAt": "2022-01-06T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2022-01-06T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/stepzen-stream-analyze-sentiment-of-your-blog-comments/",
        "markdown": "https://ajcwebdev.com/videos/stepzen-stream-analyze-sentiment-of-your-blog-comments/index.md",
        "json": "https://ajcwebdev.com/videos/stepzen-stream-analyze-sentiment-of-your-blog-comments/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-introduction-and-previous-workshop-recap",
          "text": "00:00:00 - Introduction and Previous Workshop Recap"
        },
        {
          "depth": 3,
          "id": "00-04-17-exploring-the-stepzen-studio-and-google-natural-language-api",
          "text": "00:04:17 - Exploring the StepZen Studio and Google Natural Language API"
        },
        {
          "depth": 3,
          "id": "00-15-01-connecting-the-dev-to-api-and-combining-schemas",
          "text": "00:15:01 - Connecting the Dev.to API and Combining Schemas"
        },
        {
          "depth": 3,
          "id": "00-26-50-using-the-sequence-directive-to-chain-queries",
          "text": "00:26:50 - Using the Sequence Directive to Chain Queries"
        },
        {
          "depth": 3,
          "id": "00-37-01-wrap-up-and-future-possibilities",
          "text": "00:37:01 - Wrap-Up and Future Possibilities"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "backend",
        "graphql",
        "ai"
      ]
    },
    {
      "title": "Integrate APIs with StepZen GraphQL Studio - Frontend Horse",
      "slug": "frontend-horse-integrate-apis-with-stepzen-graphql-studio",
      "collection": "videos",
      "contentType": "Video",
      "description": "Anthony Campolo demos integrating multiple APIs into a unified GraphQL API using StepZen, showcasing its capabilities for simplifying backend dev",
      "summary": "Anthony Campolo demos integrating multiple APIs into a unified GraphQL API using StepZen, showcasing its capabilities for simplifying backend dev",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "Alex Trost",
        "channelUrl": "https://www.youtube.com/@TrostCodes",
        "originalUrl": "https://www.youtube.com/watch?v=17VYX2AW4Jg"
      },
      "publishedAt": "2021-12-22T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2021-12-22T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/frontend-horse-integrate-apis-with-stepzen-graphql-studio/",
        "markdown": "https://ajcwebdev.com/videos/frontend-horse-integrate-apis-with-stepzen-graphql-studio/index.md",
        "json": "https://ajcwebdev.com/videos/frontend-horse-integrate-apis-with-stepzen-graphql-studio/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-introduction-and-stream-setup",
          "text": "00:00:00 - Introduction and Stream Setup"
        },
        {
          "depth": 3,
          "id": "00-07-28-first-steps-with-the-stepzen-boilerplate",
          "text": "00:07:28 - First Steps with the StepZen Boilerplate"
        },
        {
          "depth": 3,
          "id": "00-21-24-connecting-the-json-placeholder-rest-api",
          "text": "00:21:24 - Connecting the JSON Placeholder REST API"
        },
        {
          "depth": 3,
          "id": "00-30-03-adding-the-rick-and-morty-graphql-api",
          "text": "00:30:03 - Adding the Rick and Morty GraphQL API"
        },
        {
          "depth": 3,
          "id": "00-38-10-integrating-a-supabase-database-with-mutations",
          "text": "00:38:10 - Integrating a Supabase Database with Mutations"
        },
        {
          "depth": 3,
          "id": "00-56-41-building-a-redwoodjs-backend-with-railway-and-netlify",
          "text": "00:56:41 - Building a RedwoodJS Backend with Railway and Netlify"
        },
        {
          "depth": 3,
          "id": "01-24-46-the-mega-query-and-linking-data-sources",
          "text": "01:24:46 - The Mega Query and Linking Data Sources"
        },
        {
          "depth": 3,
          "id": "01-31-26-exploring-stepzen-s-graphql-studio",
          "text": "01:31:26 - Exploring StepZen's GraphQL Studio"
        },
        {
          "depth": 3,
          "id": "01-48-19-wrap-up-and-year-end-reflections",
          "text": "01:48:19 - Wrap-Up and Year-End Reflections"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "web",
        "backend",
        "graphql"
      ]
    },
    {
      "title": "Building Apps with Pokemon, SpaceX, and GraphQL Studio",
      "slug": "stepzen-graphql-studio",
      "collection": "videos",
      "contentType": "Video",
      "description": "The StepZen team demos their new GraphQL Studio, showing how to combine APIs like Pokemon, SpaceX, Google Maps, and Yelp into unified endpoints.",
      "summary": "The StepZen team demos their new GraphQL Studio, showing how to combine APIs like Pokemon, SpaceX, Google Maps, and Yelp into unified endpoints.",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "StepZen, an IBM Company",
        "channelUrl": "https://www.youtube.com/channel/UC7vdzlhWnC4JYkxLqni-oag",
        "originalUrl": "https://www.youtube.com/watch?v=G4oQDOUA_U4"
      },
      "publishedAt": "2021-11-20T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2021-11-20T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/stepzen-graphql-studio/",
        "markdown": "https://ajcwebdev.com/videos/stepzen-graphql-studio/index.md",
        "json": "https://ajcwebdev.com/videos/stepzen-graphql-studio/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-introductions-and-the-story-behind-the-studio",
          "text": "00:00:00 - Introductions and the Story Behind the Studio"
        },
        {
          "depth": 3,
          "id": "00-04-12-favorite-schemas-and-engineering-challenges",
          "text": "00:04:12 - Favorite Schemas and Engineering Challenges"
        },
        {
          "depth": 3,
          "id": "00-07-31-live-demo-pokemon-and-spacex-in-the-studio",
          "text": "00:07:31 - Live Demo: Pokemon and SpaceX in the Studio"
        },
        {
          "depth": 3,
          "id": "00-15-44-unsplash-api-and-working-with-keys",
          "text": "00:15:44 - Unsplash API and Working with Keys"
        },
        {
          "depth": 3,
          "id": "00-22-33-combining-google-maps-and-yelp-reviews",
          "text": "00:22:33 - Combining Google Maps and Yelp Reviews"
        },
        {
          "depth": 3,
          "id": "00-34-21-blog-posts-use-cases-and-wrap-up",
          "text": "00:34:21 - Blog Posts, Use Cases, and Wrap-Up"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": []
    },
    {
      "title": "Connecting to Prismics REST API with StepZen",
      "slug": "alex-trost-connect-prismic-rest-api-with-stepzen",
      "collection": "videos",
      "contentType": "Video",
      "description": "Anthony Campolo joins Alex Trost's Frontend Horse to demo how to integrate Prismic's headless CMS with a GraphQL API using StepZen's REST connector",
      "summary": "Anthony Campolo joins Alex Trost's Frontend Horse to demo how to integrate Prismic's headless CMS with a GraphQL API using StepZen's REST connector",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "StepZen",
        "channelUrl": "https://www.youtube.com/@StepZen",
        "originalUrl": "https://www.youtube.com/watch?v=69MtoZrvKts"
      },
      "publishedAt": "2021-11-05T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2021-11-05T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/alex-trost-connect-prismic-rest-api-with-stepzen/",
        "markdown": "https://ajcwebdev.com/videos/alex-trost-connect-prismic-rest-api-with-stepzen/index.md",
        "json": "https://ajcwebdev.com/videos/alex-trost-connect-prismic-rest-api-with-stepzen/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-24-introductions-and-front-end-horse",
          "text": "00:00:24 - Introductions and Front End Horse"
        },
        {
          "depth": 3,
          "id": "00-03-13-creative-coding-and-the-web",
          "text": "00:03:13 - Creative Coding and the Web"
        },
        {
          "depth": 3,
          "id": "00-09-29-setting-up-a-prismic-repository",
          "text": "00:09:29 - Setting Up a Prismic Repository"
        },
        {
          "depth": 3,
          "id": "00-17-00-creating-content-and-exploring-the-api-browser",
          "text": "00:17:00 - Creating Content and Exploring the API Browser"
        },
        {
          "depth": 3,
          "id": "00-25-29-connecting-prismic-to-stepzen",
          "text": "00:25:29 - Connecting Prismic to StepZen"
        },
        {
          "depth": 3,
          "id": "00-35-02-comparing-graphql-approaches-and-the-value-of-stepzen",
          "text": "00:35:02 - Comparing GraphQL Approaches and the Value of StepZen"
        },
        {
          "depth": 3,
          "id": "00-43-09-wrap-up-and-prismic-slice-machine",
          "text": "00:43:09 - Wrap-Up and Prismic Slice Machine"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "frontend",
        "backend",
        "graphql"
      ]
    },
    {
      "title": "The Jamstack Goes Fullstack - Jamstack Seattle",
      "slug": "jamstack-seattle-the-jamstack-goes-fullstack",
      "collection": "videos",
      "contentType": "Video",
      "description": "Anthony Campolo discusses the evolution of Jamstack towards full-stack development, highlighting key projects and tools in this emerging ecosystem",
      "summary": "Anthony Campolo discusses the evolution of Jamstack towards full-stack development, highlighting key projects and tools in this emerging ecosystem",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "Jamstack Seattle",
        "channelUrl": "https://www.youtube.com/@jamstackseattle8392",
        "originalUrl": "https://www.youtube.com/watch?v=1bYvPcCkbBI"
      },
      "publishedAt": "2021-11-03T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2021-11-03T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/jamstack-seattle-the-jamstack-goes-fullstack/",
        "markdown": "https://ajcwebdev.com/videos/jamstack-seattle-the-jamstack-goes-fullstack/index.md",
        "json": "https://ajcwebdev.com/videos/jamstack-seattle-the-jamstack-goes-fullstack/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-introduction-and-the-full-stack-jamstack-concept",
          "text": "00:00:00 - Introduction and the Full Stack Jamstack Concept"
        },
        {
          "depth": 3,
          "id": "00-03-08-frameworks-redwood-bison-blitz-and-wasp",
          "text": "00:03:08 - Frameworks: Redwood, Bison, Blitz, and Wasp"
        },
        {
          "depth": 3,
          "id": "00-06-48-prisma-and-the-database-hosting-landscape",
          "text": "00:06:48 - Prisma and the Database Hosting Landscape"
        },
        {
          "depth": 3,
          "id": "00-11-29-graphql-engines-containers-and-deployment-challenges",
          "text": "00:11:29 - GraphQL Engines, Containers, and Deployment Challenges"
        },
        {
          "depth": 3,
          "id": "00-14-50-api-meshes-stepzen-takeshape-and-graphql-mesh",
          "text": "00:14:50 - API Meshes: StepZen, TakeShape, and GraphQL Mesh"
        },
        {
          "depth": 3,
          "id": "00-19-10-ecosystem-accessibility-and-q-a",
          "text": "00:19:10 - Ecosystem Accessibility and Q&A"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "frontend",
        "backend",
        "deployment"
      ]
    },
    {
      "title": "Building APIs with Deno and Oak - Some Antics",
      "slug": "some-antics-building-apis-with-deno-and-oak",
      "collection": "videos",
      "contentType": "Video",
      "description": "Anthony Campolo demos building and deploying a web server using Deno and Oak, comparing trade-offs with server-side Node.js frameworks",
      "summary": "Anthony Campolo demos building and deploying a web server using Deno and Oak, comparing trade-offs with server-side Node.js frameworks",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "Ben Myers",
        "channelUrl": "https://www.youtube.com/@BenDMyers",
        "originalUrl": "https://www.youtube.com/watch?v=ssosKWNIcwM"
      },
      "publishedAt": "2021-11-02T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2021-11-02T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/some-antics-building-apis-with-deno-and-oak/",
        "markdown": "https://ajcwebdev.com/videos/some-antics-building-apis-with-deno-and-oak/index.md",
        "json": "https://ajcwebdev.com/videos/some-antics-building-apis-with-deno-and-oak/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-introduction-and-what-is-deno",
          "text": "00:00:00 - Introduction and What Is Deno"
        },
        {
          "depth": 3,
          "id": "00-04-17-setting-up-and-installing-deno",
          "text": "00:04:17 - Setting Up and Installing Deno"
        },
        {
          "depth": 3,
          "id": "00-11-28-building-a-basic-deno-server",
          "text": "00:11:28 - Building a Basic Deno Server"
        },
        {
          "depth": 3,
          "id": "00-19-04-introducing-oak-and-adding-routes",
          "text": "00:19:04 - Introducing Oak and Adding Routes"
        },
        {
          "depth": 3,
          "id": "00-30-43-deploying-to-deno-deploy",
          "text": "00:30:43 - Deploying to Deno Deploy"
        },
        {
          "depth": 3,
          "id": "00-43-22-typescript-jsx-and-developer-experience",
          "text": "00:43:22 - TypeScript, JSX, and Developer Experience"
        },
        {
          "depth": 3,
          "id": "00-51-43-deno-s-future-and-closing-thoughts",
          "text": "00:51:43 - Deno's Future and Closing Thoughts"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "web",
        "backend",
        "deployment"
      ]
    },
    {
      "title": "Bringing Dynamic Content to 11ty with Slinkity and GraphQL",
      "slug": "ben-holmes-bringing-dynamic-content-to-11ty-with-slinkity",
      "collection": "videos",
      "contentType": "Video",
      "description": "Ben Holmes demonstrates integrating Slinkity with StepZen to create a full-stack Jamstack application using React components and a PostgreSQL database",
      "summary": "Ben Holmes demonstrates integrating Slinkity with StepZen to create a full-stack Jamstack application using React components and a PostgreSQL database",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "StepZen",
        "channelUrl": "https://www.youtube.com/@StepZen",
        "originalUrl": "https://www.youtube.com/watch?v=Od-xAgNaDdY"
      },
      "publishedAt": "2021-10-29T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2021-10-29T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/ben-holmes-bringing-dynamic-content-to-11ty-with-slinkity/",
        "markdown": "https://ajcwebdev.com/videos/ben-holmes-bringing-dynamic-content-to-11ty-with-slinkity/index.md",
        "json": "https://ajcwebdev.com/videos/ben-holmes-bringing-dynamic-content-to-11ty-with-slinkity/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-introducing-ben-holmes-and-the-slinkity-project",
          "text": "00:00:00 - Introducing Ben Holmes and the Slinkity Project"
        },
        {
          "depth": 3,
          "id": "00-01-59-what-is-eleventy-and-why-build-on-it",
          "text": "00:01:59 - What Is Eleventy and Why Build on It"
        },
        {
          "depth": 3,
          "id": "00-06-11-islands-architecture-and-javascript-philosophy",
          "text": "00:06:11 - Islands Architecture and JavaScript Philosophy"
        },
        {
          "depth": 3,
          "id": "00-08-01-scaffolding-the-slinkity-project-from-scratch",
          "text": "00:08:01 - Scaffolding the Slinkity Project from Scratch"
        },
        {
          "depth": 3,
          "id": "00-15-00-setting-up-the-stepzen-graphql-endpoint",
          "text": "00:15:00 - Setting Up the StepZen GraphQL Endpoint"
        },
        {
          "depth": 3,
          "id": "00-22-21-rendering-data-and-discussing-improvements",
          "text": "00:22:21 - Rendering Data and Discussing Improvements"
        },
        {
          "depth": 3,
          "id": "00-26-35-connecting-supabase-as-the-database",
          "text": "00:26:35 - Connecting Supabase as the Database"
        },
        {
          "depth": 3,
          "id": "00-33-14-full-stack-jamstack-philosophy-and-flexibility",
          "text": "00:33:14 - Full Stack Jamstack Philosophy and Flexibility"
        },
        {
          "depth": 3,
          "id": "00-42-37-gatsby-comparisons-and-the-graphql-data-layer",
          "text": "00:42:37 - Gatsby Comparisons and the GraphQL Data Layer"
        },
        {
          "depth": 3,
          "id": "00-45-28-future-plans-framework-collaboration-and-closing",
          "text": "00:45:28 - Future Plans, Framework Collaboration, and Closing"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "frontend",
        "backend",
        "graphql"
      ]
    },
    {
      "title": "Testing a StepZen GraphQL API with Postman",
      "slug": "sean-keegan-testing-a-stepzen-graphql-api-with-postman",
      "collection": "videos",
      "contentType": "Video",
      "description": "Sean Keegan from Postman joins Anthony Campolo to demonstrate how Postman's testing and collaboration tools enhance developing GraphQL APIs with StepZen",
      "summary": "Sean Keegan from Postman joins Anthony Campolo to demonstrate how Postman's testing and collaboration tools enhance developing GraphQL APIs with StepZen",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "StepZen",
        "channelUrl": "https://www.youtube.com/@StepZen",
        "originalUrl": "https://www.youtube.com/watch?v=TjrDzDdj1J4"
      },
      "publishedAt": "2021-10-15T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2021-10-15T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/sean-keegan-testing-a-stepzen-graphql-api-with-postman/",
        "markdown": "https://ajcwebdev.com/videos/sean-keegan-testing-a-stepzen-graphql-api-with-postman/index.md",
        "json": "https://ajcwebdev.com/videos/sean-keegan-testing-a-stepzen-graphql-api-with-postman/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-introductions-and-background",
          "text": "00:00:00 - Introductions and Background"
        },
        {
          "depth": 3,
          "id": "00-04-58-what-is-postman-and-setting-up-stepzen",
          "text": "00:04:58 - What Is Postman and Setting Up StepZen"
        },
        {
          "depth": 3,
          "id": "00-10-21-testing-with-curl-and-postman-setup",
          "text": "00:10:21 - Testing with Curl and Postman Setup"
        },
        {
          "depth": 3,
          "id": "00-17-37-querying-rick-and-morty-and-pokeapi-through-stepzen",
          "text": "00:17:37 - Querying Rick and Morty and PokéAPI Through StepZen"
        },
        {
          "depth": 3,
          "id": "00-25-25-the-all-things-query-and-schema-autocomplete",
          "text": "00:25:25 - The All Things Query and Schema Autocomplete"
        },
        {
          "depth": 3,
          "id": "00-35-07-collaboration-features-and-public-workspaces",
          "text": "00:35:07 - Collaboration Features and Public Workspaces"
        },
        {
          "depth": 3,
          "id": "00-44-06-wrap-up-and-resources",
          "text": "00:44:06 - Wrap-Up and Resources"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "web",
        "backend",
        "graphql"
      ]
    },
    {
      "title": "RedwoodJS the JS App Framework - JavaScript Jam",
      "slug": "jsjam-redwoodjs-app-framework",
      "collection": "videos",
      "contentType": "Video",
      "description": "Anthony Campolo joins JSJam to demo RedwoodJS, a full-stack framework, discussing its capabilities, deploy options, and comparisons between framework",
      "summary": "Anthony Campolo joins JSJam to demo RedwoodJS, a full-stack framework, discussing its capabilities, deploy options, and comparisons between framework",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "JavaScript Jam",
        "channelUrl": "https://www.youtube.com/@javascriptjam",
        "originalUrl": "https://www.youtube.com/watch?v=QubWxw4hl_A"
      },
      "publishedAt": "2021-10-13T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2021-10-13T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/jsjam-redwoodjs-app-framework/",
        "markdown": "https://ajcwebdev.com/videos/jsjam-redwoodjs-app-framework/index.md",
        "json": "https://ajcwebdev.com/videos/jsjam-redwoodjs-app-framework/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-introductions-and-anthony-s-career-journey",
          "text": "00:00:00 - Introductions and Anthony's Career Journey"
        },
        {
          "depth": 3,
          "id": "00-04-53-advice-for-career-changers-and-boot-camp-graduates",
          "text": "00:04:53 - Advice for Career Changers and Boot Camp Graduates"
        },
        {
          "depth": 3,
          "id": "00-06-11-what-is-redwoodjs-and-its-rails-inspiration",
          "text": "00:06:11 - What Is RedwoodJS and Its Rails Inspiration"
        },
        {
          "depth": 3,
          "id": "00-10-39-team-history-tech-choices-and-the-next-js-decision",
          "text": "00:10:39 - Team History, Tech Choices, and the Next.js Decision"
        },
        {
          "depth": 3,
          "id": "00-15-02-core-libraries-graphql-stack-and-getting-started",
          "text": "00:15:02 - Core Libraries, GraphQL Stack, and Getting Started"
        },
        {
          "depth": 3,
          "id": "00-17-42-live-demo-project-setup-pages-and-routing",
          "text": "00:17:42 - Live Demo: Project Setup, Pages, and Routing"
        },
        {
          "depth": 3,
          "id": "00-26-43-database-setup-with-prisma-and-scaffold-command",
          "text": "00:26:43 - Database Setup with Prisma and Scaffold Command"
        },
        {
          "depth": 3,
          "id": "00-32-39-cells-redwood-s-data-fetching-pattern",
          "text": "00:32:39 - Cells: Redwood's Data Fetching Pattern"
        },
        {
          "depth": 3,
          "id": "00-37-28-deployment-and-serverless-database-challenges",
          "text": "00:37:28 - Deployment and Serverless Database Challenges"
        },
        {
          "depth": 3,
          "id": "00-42-58-road-to-1-0-production-apps-and-competitor-comparison",
          "text": "00:42:58 - Road to 1.0, Production Apps, and Competitor Comparison"
        },
        {
          "depth": 3,
          "id": "00-53-11-roadmap-closing-thoughts-and-where-to-find-redwood",
          "text": "00:53:11 - Roadmap, Closing Thoughts, and Where to Find Redwood"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "frontend",
        "backend",
        "deployment"
      ]
    },
    {
      "title": "StepZen 101 - What is StepZen and How Does it Work",
      "slug": "stepzen-stream-what-is-stepzen-and-how-does-it-work",
      "collection": "videos",
      "contentType": "Video",
      "description": "An overview of StepZen's main capabilities, including connecting to various data sources and using custom directives to create a unified GraphQL API",
      "summary": "An overview of StepZen's main capabilities, including connecting to various data sources and using custom directives to create a unified GraphQL API",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "StepZen",
        "channelUrl": "https://www.youtube.com/@StepZen",
        "originalUrl": "https://www.youtube.com/watch?v=fe5nye62USc"
      },
      "publishedAt": "2021-10-09T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2021-10-09T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/stepzen-stream-what-is-stepzen-and-how-does-it-work/",
        "markdown": "https://ajcwebdev.com/videos/stepzen-stream-what-is-stepzen-and-how-does-it-work/index.md",
        "json": "https://ajcwebdev.com/videos/stepzen-stream-what-is-stepzen-and-how-does-it-work/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-introduction-and-project-setup",
          "text": "00:00:00 - Introduction and Project Setup"
        },
        {
          "depth": 3,
          "id": "00-04-39-mock-json-data-and-graphql-types",
          "text": "00:04:39 - Mock JSON Data and GraphQL Types"
        },
        {
          "depth": 3,
          "id": "00-08-37-rest-api-connection-and-graphql-endpoint",
          "text": "00:08:37 - REST API Connection and GraphQL Endpoint"
        },
        {
          "depth": 3,
          "id": "00-13-50-setting-up-a-mysql-database-on-railway",
          "text": "00:13:50 - Setting Up a MySQL Database on Railway"
        },
        {
          "depth": 3,
          "id": "00-19-05-database-import-and-the-mega-query",
          "text": "00:19:05 - Database Import and the Mega Query"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "web",
        "backend",
        "graphql"
      ]
    },
    {
      "title": "Connecting to Supabase with StepZen featuring Paul Copplestone",
      "slug": "paul-copplestone-connecting-to-supabase-with-stepzen",
      "collection": "videos",
      "contentType": "Video",
      "description": "Anthony Campolo and Paul Copplestone, CEO of Supabase, discuss the open source Firebase alternative and demo connecting it to StepZen for GraphQL integration",
      "summary": "Anthony Campolo and Paul Copplestone, CEO of Supabase, discuss the open source Firebase alternative and demo connecting it to StepZen for GraphQL integration",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "StepZen",
        "channelUrl": "https://www.youtube.com/@StepZen",
        "originalUrl": "https://www.youtube.com/watch?v=sBEFTfUfxbk"
      },
      "publishedAt": "2021-09-15T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2021-09-15T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/paul-copplestone-connecting-to-supabase-with-stepzen/",
        "markdown": "https://ajcwebdev.com/videos/paul-copplestone-connecting-to-supabase-with-stepzen/index.md",
        "json": "https://ajcwebdev.com/videos/paul-copplestone-connecting-to-supabase-with-stepzen/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-introducing-supabase-and-its-open-source-philosophy",
          "text": "00:00:00 - Introducing Supabase and Its Open Source Philosophy"
        },
        {
          "depth": 3,
          "id": "00-03-12-postgrest-open-source-funding-and-postgres-contributions",
          "text": "00:03:12 - PostgREST, Open Source Funding, and Postgres Contributions"
        },
        {
          "depth": 3,
          "id": "00-08-19-setting-up-stepzen-and-creating-a-supabase-project",
          "text": "00:08:19 - Setting Up StepZen and Creating a Supabase Project"
        },
        {
          "depth": 3,
          "id": "00-14-43-building-tables-authentication-and-rest-queries",
          "text": "00:14:43 - Building Tables, Authentication, and REST Queries"
        },
        {
          "depth": 3,
          "id": "00-19-41-connecting-supabase-to-stepzen-with-graphql",
          "text": "00:19:41 - Connecting Supabase to StepZen with GraphQL"
        },
        {
          "depth": 3,
          "id": "00-26-05-api-aggregation-mutations-and-developer-workflows",
          "text": "00:26:05 - API Aggregation, Mutations, and Developer Workflows"
        },
        {
          "depth": 3,
          "id": "00-31-28-function-hooks-community-growth-and-closing-thoughts",
          "text": "00:31:28 - Function Hooks, Community Growth, and Closing Thoughts"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "web",
        "backend",
        "graphql"
      ]
    },
    {
      "title": "Connecting Public and Private GraphQL APIs with StepZen",
      "slug": "stepzen-graphql-directive",
      "collection": "videos",
      "contentType": "Video",
      "description": "Anthony Campolo demonstrates StepZen's @graphql directive by stitching together Rick and Morty, Storyblok, FaunaDB, and RedwoodJS APIs.",
      "summary": "Anthony Campolo demonstrates StepZen's @graphql directive by stitching together Rick and Morty, Storyblok, FaunaDB, and RedwoodJS APIs.",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "StepZen, an IBM Company",
        "channelUrl": "https://www.youtube.com/channel/UC7vdzlhWnC4JYkxLqni-oag",
        "originalUrl": "https://www.youtube.com/watch?v=mftjgAZUd0Q"
      },
      "publishedAt": "2021-09-04T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2021-09-04T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/stepzen-graphql-directive/",
        "markdown": "https://ajcwebdev.com/videos/stepzen-graphql-directive/index.md",
        "json": "https://ajcwebdev.com/videos/stepzen-graphql-directive/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-introduction-to-stepzen-and-the-graphql-directive",
          "text": "00:00:00 - Introduction to StepZen and the @graphql Directive"
        },
        {
          "depth": 3,
          "id": "00-03-11-project-setup-and-rick-and-morty-api",
          "text": "00:03:11 - Project Setup and Rick and Morty API"
        },
        {
          "depth": 3,
          "id": "00-09-34-integrating-storyblok-cms",
          "text": "00:09:34 - Integrating StoryBlok CMS"
        },
        {
          "depth": 3,
          "id": "00-15-49-connecting-faunadb-and-graphql-mutations",
          "text": "00:15:49 - Connecting FaunaDB and GraphQL Mutations"
        },
        {
          "depth": 3,
          "id": "00-21-09-building-a-custom-graphql-server-with-helix",
          "text": "00:21:09 - Building a Custom GraphQL Server with Helix"
        },
        {
          "depth": 3,
          "id": "00-30-20-deploying-a-redwoodjs-api-on-netlify",
          "text": "00:30:20 - Deploying a RedwoodJS API on Netlify"
        },
        {
          "depth": 3,
          "id": "00-40-02-unified-query-and-wrap-up",
          "text": "00:40:02 - Unified Query and Wrap-Up"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": []
    },
    {
      "title": "Mix Data from Storyblok CMS with StepZen featuring Facundo Giuliani",
      "slug": "facundo-giuliani-mix-data-from-storyblok-cms-with-stepzen",
      "collection": "videos",
      "contentType": "Video",
      "description": "Anthony Campolo and Facundo Giuliani from Storyblok discuss headless CMSs, Storyblok's features, and integrating with StepZen's GraphQL API",
      "summary": "Anthony Campolo and Facundo Giuliani from Storyblok discuss headless CMSs, Storyblok's features, and integrating with StepZen's GraphQL API",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "StepZen",
        "channelUrl": "https://www.youtube.com/@StepZen",
        "originalUrl": "https://www.youtube.com/watch?v=gDxYEUIzRMQ"
      },
      "publishedAt": "2021-08-21T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2021-08-21T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/facundo-giuliani-mix-data-from-storyblok-cms-with-stepzen/",
        "markdown": "https://ajcwebdev.com/videos/facundo-giuliani-mix-data-from-storyblok-cms-with-stepzen/index.md",
        "json": "https://ajcwebdev.com/videos/facundo-giuliani-mix-data-from-storyblok-cms-with-stepzen/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-introductions-and-the-devrel-landscape",
          "text": "00:00:00 - Introductions and the DevRel Landscape"
        },
        {
          "depth": 3,
          "id": "00-03-22-what-is-a-cms-and-why-go-headless",
          "text": "00:03:22 - What Is a CMS and Why Go Headless?"
        },
        {
          "depth": 3,
          "id": "00-09-02-jamstack-philosophy-and-storyblok-s-framework-agnosticism",
          "text": "00:09:02 - Jamstack Philosophy and Storyblok's Framework Agnosticism"
        },
        {
          "depth": 3,
          "id": "00-17-04-spaces-stories-blocks-and-content-organization",
          "text": "00:17:04 - Spaces, Stories, Blocks, and Content Organization"
        },
        {
          "depth": 3,
          "id": "00-24-23-creating-content-and-querying-the-graphql-api",
          "text": "00:24:23 - Creating Content and Querying the GraphQL API"
        },
        {
          "depth": 3,
          "id": "00-33-36-integrating-storyblok-with-stepzen-s-graphql-gateway",
          "text": "00:33:36 - Integrating Storyblok with StepZen's GraphQL Gateway"
        },
        {
          "depth": 3,
          "id": "00-38-38-the-visual-editor-and-closing-thoughts",
          "text": "00:38:38 - The Visual Editor and Closing Thoughts"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "frontend",
        "backend",
        "graphql"
      ]
    },
    {
      "title": "Vite and Next Gen Frontend Tooling - Some Antics",
      "slug": "some-antics-vite-and-next-gen-frontend-tooling",
      "collection": "videos",
      "contentType": "Video",
      "description": "Anthony Campolo introduces Ben Myers to Vite, a fast and lightweight build tool for modern web development",
      "summary": "Anthony Campolo introduces Ben Myers to Vite, a fast and lightweight build tool for modern web development",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "Ben Myers",
        "channelUrl": "https://www.youtube.com/@BenDMyers",
        "originalUrl": "https://www.youtube.com/watch?v=gRzWZpRmkv0"
      },
      "publishedAt": "2021-08-10T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2021-08-10T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/some-antics-vite-and-next-gen-frontend-tooling/",
        "markdown": "https://ajcwebdev.com/videos/some-antics-vite-and-next-gen-frontend-tooling/index.md",
        "json": "https://ajcwebdev.com/videos/some-antics-vite-and-next-gen-frontend-tooling/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-introduction-and-what-is-vite",
          "text": "00:00:00 - Introduction and What Is Vite"
        },
        {
          "depth": 3,
          "id": "00-04-36-building-a-vite-project-from-scratch",
          "text": "00:04:36 - Building a Vite Project from Scratch"
        },
        {
          "depth": 3,
          "id": "00-16-10-es-modules-browser-support-and-the-ie-debate",
          "text": "00:16:10 - ES Modules, Browser Support, and the IE Debate"
        },
        {
          "depth": 3,
          "id": "00-24-17-scaffolding-a-react-template-and-exploring-the-config",
          "text": "00:24:17 - Scaffolding a React Template and Exploring the Config"
        },
        {
          "depth": 3,
          "id": "00-36-36-deploying-to-netlify-and-build-performance",
          "text": "00:36:36 - Deploying to Netlify and Build Performance"
        },
        {
          "depth": 3,
          "id": "00-44-32-ecosystem-community-and-closing-thoughts",
          "text": "00:44:32 - Ecosystem, Community, and Closing Thoughts"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "web",
        "frontend"
      ]
    },
    {
      "title": "Deploying Railway Applications with StepZen",
      "slug": "greg-schier-deploying-railway-applications",
      "collection": "videos",
      "contentType": "Video",
      "description": "Greg Schier from Railway discusses deploying databases and applications easily, demonstrating integration with StepZen to create a unified GraphQL API",
      "summary": "Greg Schier from Railway discusses deploying databases and applications easily, demonstrating integration with StepZen to create a unified GraphQL API",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "StepZen",
        "channelUrl": "https://www.youtube.com/@StepZen",
        "originalUrl": "https://www.youtube.com/watch?v=nFu_WgudLlY"
      },
      "publishedAt": "2021-07-23T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2021-07-23T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/greg-schier-deploying-railway-applications/",
        "markdown": "https://ajcwebdev.com/videos/greg-schier-deploying-railway-applications/index.md",
        "json": "https://ajcwebdev.com/videos/greg-schier-deploying-railway-applications/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-introductions-and-greg-s-background",
          "text": "00:00:00 - Introductions and Greg's Background"
        },
        {
          "depth": 3,
          "id": "00-04-32-greg-s-infrastructure-experience-and-full-stack-identity",
          "text": "00:04:32 - Greg's Infrastructure Experience and Full-Stack Identity"
        },
        {
          "depth": 3,
          "id": "00-08-34-railway-dashboard-walkthrough-and-gui-demo",
          "text": "00:08:34 - Railway Dashboard Walkthrough and GUI Demo"
        },
        {
          "depth": 3,
          "id": "00-13-34-database-provisioning-and-sql-via-gui-and-cli",
          "text": "00:13:34 - Database Provisioning and SQL via GUI and CLI"
        },
        {
          "depth": 3,
          "id": "00-24-28-cli-development-and-database-plugin-system",
          "text": "00:24:28 - CLI Development and Database Plugin System"
        },
        {
          "depth": 3,
          "id": "00-34-15-building-a-graphql-api-with-postgraphile",
          "text": "00:34:15 - Building a GraphQL API with PostGraphile"
        },
        {
          "depth": 3,
          "id": "00-40-04-connecting-to-stepzen-via-ngrok",
          "text": "00:40:04 - Connecting to StepZen via ngrok"
        },
        {
          "depth": 3,
          "id": "00-49-09-railway-roadmap-and-closing-discussion",
          "text": "00:49:09 - Railway Roadmap and Closing Discussion"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "backend",
        "graphql",
        "deployment"
      ]
    },
    {
      "title": "Creating a Monolithic Mesh of GraphQL APIs",
      "slug": "stepzen-stream-creating-a-monolithic-mesh-of-graphql-apis",
      "collection": "videos",
      "contentType": "Video",
      "description": "Anthony Campolo demonstrates how to create a monolithic mesh of GraphQL APIs using StepZen, RedwoodJS, and various cloud services including Railway and Netlify",
      "summary": "Anthony Campolo demonstrates how to create a monolithic mesh of GraphQL APIs using StepZen, RedwoodJS, and various cloud services including Railway and Netlify",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "StepZen",
        "channelUrl": "https://www.youtube.com/@StepZen",
        "originalUrl": "https://www.youtube.com/watch?v=beTNUsQb2ew"
      },
      "publishedAt": "2021-07-09T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2021-07-09T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/stepzen-stream-creating-a-monolithic-mesh-of-graphql-apis/",
        "markdown": "https://ajcwebdev.com/videos/stepzen-stream-creating-a-monolithic-mesh-of-graphql-apis/index.md",
        "json": "https://ajcwebdev.com/videos/stepzen-stream-creating-a-monolithic-mesh-of-graphql-apis/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-introduction-and-project-overview",
          "text": "00:00:00 - Introduction and Project Overview"
        },
        {
          "depth": 3,
          "id": "00-02-30-setting-up-the-posts-app-with-railway-and-prisma",
          "text": "00:02:30 - Setting Up the Posts App with Railway and Prisma"
        },
        {
          "depth": 3,
          "id": "00-05-38-deploying-posts-to-netlify-and-starting-the-users-app",
          "text": "00:05:38 - Deploying Posts to Netlify and Starting the Users App"
        },
        {
          "depth": 3,
          "id": "00-10-02-deploying-users-and-verifying-both-endpoints",
          "text": "00:10:02 - Deploying Users and Verifying Both Endpoints"
        },
        {
          "depth": 3,
          "id": "00-15-36-stitching-everything-together-with-stepzen",
          "text": "00:15:36 - Stitching Everything Together with StepZen"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "backend",
        "graphql",
        "deployment"
      ]
    },
    {
      "title": "Architecting Jamstack Applications with GraphQL - Jamstack Boston",
      "slug": "jamstack-boston-architecting-graphql-jamstack-applications",
      "collection": "videos",
      "contentType": "Video",
      "description": "Anthony shows how to use StepZen to stitch together a Shopify backend with a Redwood application, enabling easy querying of products from the frontend",
      "summary": "Anthony shows how to use StepZen to stitch together a Shopify backend with a Redwood application, enabling easy querying of products from the frontend",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "Jantcu",
        "channelUrl": "https://www.youtube.com/@Jantcu",
        "originalUrl": "https://www.youtube.com/watch?v=rZvNpMv4spE"
      },
      "publishedAt": "2021-05-19T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2021-05-19T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/jamstack-boston-architecting-graphql-jamstack-applications/",
        "markdown": "https://ajcwebdev.com/videos/jamstack-boston-architecting-graphql-jamstack-applications/index.md",
        "json": "https://ajcwebdev.com/videos/jamstack-boston-architecting-graphql-jamstack-applications/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-graphql-basics-and-the-redwoodjs-architecture",
          "text": "00:00:00 - GraphQL Basics and the RedwoodJS Architecture"
        },
        {
          "depth": 3,
          "id": "00-05-09-setting-up-the-redwood-project-and-stepzen-backend",
          "text": "00:05:09 - Setting Up the Redwood Project and StepZen Backend"
        },
        {
          "depth": 3,
          "id": "00-11-47-building-the-redwood-api-and-querying-products",
          "text": "00:11:47 - Building the Redwood API and Querying Products"
        },
        {
          "depth": 3,
          "id": "00-16-42-q-a-key-management-serverless-and-lambda",
          "text": "00:16:42 - Q&A: Key Management, Serverless, and Lambda"
        },
        {
          "depth": 3,
          "id": "00-22-59-q-a-adapters-cloudflare-deployment-strategies-and-wrap-up",
          "text": "00:22:59 - Q&A: Adapters, Cloudflare, Deployment Strategies, and Wrap-Up"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "frontend",
        "backend",
        "graphql"
      ]
    },
    {
      "title": "Intro to GraphQL - Mintbean",
      "slug": "mintbean-intro-to-graphql",
      "collection": "videos",
      "contentType": "Video",
      "description": "An introduction to GraphQL covering what it is, how to query data from a GraphQL API, and how to integrate GraphQL into a web application",
      "summary": "An introduction to GraphQL covering what it is, how to query data from a GraphQL API, and how to integrate GraphQL into a web application",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "Mintbean",
        "channelUrl": "https://www.youtube.com/@Mintbeanio",
        "originalUrl": "https://www.youtube.com/watch?v=xwbi_s6v3sg"
      },
      "publishedAt": "2021-04-16T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2021-04-16T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/mintbean-intro-to-graphql/",
        "markdown": "https://ajcwebdev.com/videos/mintbean-intro-to-graphql/index.md",
        "json": "https://ajcwebdev.com/videos/mintbean-intro-to-graphql/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-introductions-and-background",
          "text": "00:00:00 - Introductions and Background"
        },
        {
          "depth": 3,
          "id": "00-01-31-what-is-graphql-and-the-restaurant-analogy",
          "text": "00:01:31 - What Is GraphQL and the Restaurant Analogy"
        },
        {
          "depth": 3,
          "id": "00-03-52-live-demo-with-the-rick-and-morty-graphql-playground",
          "text": "00:03:52 - Live Demo with the Rick and Morty GraphQL Playground"
        },
        {
          "depth": 3,
          "id": "00-09-13-insomnia-demo-and-http-verbs-in-graphql",
          "text": "00:09:13 - Insomnia Demo and HTTP Verbs in GraphQL"
        },
        {
          "depth": 3,
          "id": "00-13-38-q-a-on-graphql-ecosystem-and-architecture",
          "text": "00:13:38 - Q&A on GraphQL Ecosystem and Architecture"
        },
        {
          "depth": 3,
          "id": "00-18-23-graphql-org-terminology-and-apollo-s-history",
          "text": "00:18:23 - GraphQL.org, Terminology, and Apollo's History"
        },
        {
          "depth": 3,
          "id": "00-29-12-fetching-graphql-data-with-vanilla-javascript",
          "text": "00:29:12 - Fetching GraphQL Data with Vanilla JavaScript"
        },
        {
          "depth": 3,
          "id": "00-37-40-graphql-request-library-and-react-integration",
          "text": "00:37:40 - GraphQL Request Library and React Integration"
        },
        {
          "depth": 3,
          "id": "00-45-59-encouragement-for-beginners-and-learning-advice",
          "text": "00:45:59 - Encouragement for Beginners and Learning Advice"
        },
        {
          "depth": 3,
          "id": "00-51-57-api-keys-final-questions-and-resources",
          "text": "00:51:57 - API Keys, Final Questions, and Resources"
        },
        {
          "depth": 3,
          "id": "00-59-26-wrap-up-and-next-steps",
          "text": "00:59:26 - Wrap-Up and Next Steps"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "frontend",
        "backend",
        "graphql"
      ]
    },
    {
      "title": "Building RedwoodJS E-commerce Apps with Shopify and StepZen",
      "slug": "stepzen-redwoodjs-shopify",
      "collection": "videos",
      "contentType": "Video",
      "description": "Anthony Campolo and Lucia Cerchie pair-program a full-stack app using RedwoodJS, StepZen, and Shopify to demonstrate querying products via GraphQL.",
      "summary": "Anthony Campolo and Lucia Cerchie pair-program a full-stack app using RedwoodJS, StepZen, and Shopify to demonstrate querying products via GraphQL.",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "StepZen, an IBM Company",
        "channelUrl": "https://www.youtube.com/channel/UC7vdzlhWnC4JYkxLqni-oag",
        "originalUrl": "https://www.youtube.com/watch?v=m9GyXH2GPuQ"
      },
      "publishedAt": "2021-04-15T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2021-04-15T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/stepzen-redwoodjs-shopify/",
        "markdown": "https://ajcwebdev.com/videos/stepzen-redwoodjs-shopify/index.md",
        "json": "https://ajcwebdev.com/videos/stepzen-redwoodjs-shopify/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-introductions-and-redwoodjs-overview",
          "text": "00:00:00 - Introductions and RedwoodJS Overview"
        },
        {
          "depth": 3,
          "id": "00-05-54-exploring-the-redwood-project-structure",
          "text": "00:05:54 - Exploring the Redwood Project Structure"
        },
        {
          "depth": 3,
          "id": "00-12-40-building-the-stepzen-schema-for-shopify",
          "text": "00:12:40 - Building the StepZen Schema for Shopify"
        },
        {
          "depth": 3,
          "id": "00-19-02-connecting-the-redwood-api-to-stepzen",
          "text": "00:19:02 - Connecting the Redwood API to StepZen"
        },
        {
          "depth": 3,
          "id": "00-30-13-environment-variables-and-testing-the-connection",
          "text": "00:30:13 - Environment Variables and Testing the Connection"
        },
        {
          "depth": 3,
          "id": "00-36-39-building-the-front-end-cell-and-wrapping-up",
          "text": "00:36:39 - Building the Front-End Cell and Wrapping Up"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": []
    },
    {
      "title": "Secrets of Accessible Routing with RedwoodJS Core Team",
      "slug": "some-antics-secrets-of-accessible-routing",
      "collection": "videos",
      "contentType": "Video",
      "description": "RedwoodJS core team members Anthony and Dom discuss accessibility improvements to Redwood's router for announcing page navigation to screen readers",
      "summary": "RedwoodJS core team members Anthony and Dom discuss accessibility improvements to Redwood's router for announcing page navigation to screen readers",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "Ben Myers",
        "channelUrl": "https://www.youtube.com/@BenDMyers",
        "originalUrl": "https://www.youtube.com/watch?v=LSuDHfAsBCE"
      },
      "publishedAt": "2021-03-26T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2021-03-26T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/some-antics-secrets-of-accessible-routing/",
        "markdown": "https://ajcwebdev.com/videos/some-antics-secrets-of-accessible-routing/index.md",
        "json": "https://ajcwebdev.com/videos/some-antics-secrets-of-accessible-routing/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-introductions-and-project-setup",
          "text": "00:00:00 - Introductions and Project Setup"
        },
        {
          "depth": 3,
          "id": "00-08-19-the-routing-accessibility-problem",
          "text": "00:08:19 - The Routing Accessibility Problem"
        },
        {
          "depth": 3,
          "id": "00-13-49-building-a-custom-route-announcer",
          "text": "00:13:49 - Building a Custom Route Announcer"
        },
        {
          "depth": 3,
          "id": "00-29-19-redwood-s-built-in-solution",
          "text": "00:29:19 - Redwood's Built-In Solution"
        },
        {
          "depth": 3,
          "id": "00-40-34-research-attribution-and-the-road-ahead",
          "text": "00:40:34 - Research, Attribution, and the Road Ahead"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "web",
        "frontend"
      ]
    },
    {
      "title": "Fullstack Jamstack Development with RedwoodJS - Async",
      "slug": "async-fullstack-jamstack-development",
      "collection": "videos",
      "contentType": "Video",
      "description": "Anthony Campolo demos building a web app from scratch with RedwoodJS, showcasing its code generation capabilities and integrations with Prisma and Netlify",
      "summary": "Anthony Campolo demos building a web app from scratch with RedwoodJS, showcasing its code generation capabilities and integrations with Prisma and Netlify",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "Async",
        "channelUrl": "https://www.youtube.com/@AsyncBrighton",
        "originalUrl": "https://www.youtube.com/watch?v=n1CUe6ArjD8"
      },
      "publishedAt": "2021-03-11T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2021-03-11T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/async-fullstack-jamstack-development/",
        "markdown": "https://ajcwebdev.com/videos/async-fullstack-jamstack-development/index.md",
        "json": "https://ajcwebdev.com/videos/async-fullstack-jamstack-development/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-introduction-and-project-setup",
          "text": "00:00:00 - Introduction and Project Setup"
        },
        {
          "depth": 3,
          "id": "00-03-01-generating-pages-and-routing",
          "text": "00:03:01 - Generating Pages and Routing"
        },
        {
          "depth": 3,
          "id": "00-07-00-layouts-and-component-composition",
          "text": "00:07:00 - Layouts and Component Composition"
        },
        {
          "depth": 3,
          "id": "00-09-41-prisma-schema-and-database-setup",
          "text": "00:09:41 - Prisma Schema and Database Setup"
        },
        {
          "depth": 3,
          "id": "00-14-30-scaffold-generator-and-crud-interface",
          "text": "00:14:30 - Scaffold Generator and CRUD Interface"
        },
        {
          "depth": 3,
          "id": "00-16-30-cells-and-graphql-data-fetching",
          "text": "00:16:30 - Cells and GraphQL Data Fetching"
        },
        {
          "depth": 3,
          "id": "00-20-15-deployment-with-netlify-and-q-a",
          "text": "00:20:15 - Deployment with Netlify and Q&A"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "frontend",
        "backend",
        "deployment"
      ]
    },
    {
      "title": "Using Storybook with RedwoodJS - Lunchdev",
      "slug": "events-lunch-dev-using-storybook-with-redwood",
      "collection": "videos",
      "contentType": "Video",
      "description": "Anthony Campolo demos using Storybook in RedwoodJS to build and visually test a comment component without connecting a database first",
      "summary": "Anthony Campolo demos using Storybook in RedwoodJS to build and visually test a comment component without connecting a database first",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "lunchdev",
        "channelUrl": "https://www.youtube.com/@lunchdev",
        "originalUrl": "https://www.youtube.com/watch?v=zYm1a39Lpgs"
      },
      "publishedAt": "2021-02-28T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2021-02-28T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/events-lunch-dev-using-storybook-with-redwood/",
        "markdown": "https://ajcwebdev.com/videos/events-lunch-dev-using-storybook-with-redwood/index.md",
        "json": "https://ajcwebdev.com/videos/events-lunch-dev-using-storybook-with-redwood/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-introduction-and-project-setup",
          "text": "00:00:00 - Introduction and Project Setup"
        },
        {
          "depth": 3,
          "id": "00-05-27-exploring-storybook-and-the-cell-convention",
          "text": "00:05:27 - Exploring Storybook and the Cell Convention"
        },
        {
          "depth": 3,
          "id": "00-11-41-building-the-blog-post-summary-feature",
          "text": "00:11:41 - Building the Blog Post Summary Feature"
        },
        {
          "depth": 3,
          "id": "00-19-11-generating-and-styling-the-comment-component",
          "text": "00:19:11 - Generating and Styling the Comment Component"
        },
        {
          "depth": 3,
          "id": "00-27-09-creating-the-comments-cell-and-mock-service-worker",
          "text": "00:27:09 - Creating the Comments Cell and Mock Service Worker"
        },
        {
          "depth": 3,
          "id": "00-38-45-integrating-components-and-developer-experience-philosophy",
          "text": "00:38:45 - Integrating Components and Developer Experience Philosophy"
        },
        {
          "depth": 3,
          "id": "00-43-12-storybook-value-proposition-and-closing-discussion",
          "text": "00:43:12 - Storybook Value Proposition and Closing Discussion"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "web",
        "frontend"
      ]
    },
    {
      "title": "Fullstack GraphQL with RedwoodJS and AppSync - GraphQL Denver",
      "slug": "graphql-denver-fullstack-graphql-with-redwood-appsync",
      "collection": "videos",
      "contentType": "Video",
      "description": "Anthony Campolo demos building GraphQL applications with RedwoodJS for full-stack development and AWS AppSync for cloud APIs",
      "summary": "Anthony Campolo demos building GraphQL applications with RedwoodJS for full-stack development and AWS AppSync for cloud APIs",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "GraphQL Denver",
        "channelUrl": "https://www.youtube.com/@GraphQLDenver",
        "originalUrl": "https://www.youtube.com/watch?v=v-3yXJ5sLsY"
      },
      "publishedAt": "2021-02-23T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2021-02-23T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/graphql-denver-fullstack-graphql-with-redwood-appsync/",
        "markdown": "https://ajcwebdev.com/videos/graphql-denver-fullstack-graphql-with-redwood-appsync/index.md",
        "json": "https://ajcwebdev.com/videos/graphql-denver-fullstack-graphql-with-redwood-appsync/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-introduction-to-redwoodjs-and-its-architecture",
          "text": "00:00:00 - Introduction to RedwoodJS and Its Architecture"
        },
        {
          "depth": 3,
          "id": "00-05-32-generating-pages-layouts-and-the-front-end-experience",
          "text": "00:05:32 - Generating Pages, Layouts, and the Front-End Experience"
        },
        {
          "depth": 3,
          "id": "00-08-54-data-modeling-with-prisma-and-scaffolding-a-blog",
          "text": "00:08:54 - Data Modeling with Prisma and Scaffolding a Blog"
        },
        {
          "depth": 3,
          "id": "00-13-08-querying-data-with-graphql-in-redwoodjs",
          "text": "00:13:08 - Querying Data with GraphQL in RedwoodJS"
        },
        {
          "depth": 3,
          "id": "00-15-43-building-a-graphql-api-with-aws-appsync",
          "text": "00:15:43 - Building a GraphQL API with AWS AppSync"
        },
        {
          "depth": 3,
          "id": "00-20-37-integrating-redwoodjs-with-appsync-and-q-a",
          "text": "00:20:37 - Integrating RedwoodJS with AppSync and Q&A"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "frontend",
        "backend",
        "graphql"
      ]
    },
    {
      "title": "Optimize Site SEO with Elder-js - Svelte Bay Area",
      "slug": "svelte-society-bay-area-optimize-site-seo-with-elderjs",
      "collection": "videos",
      "contentType": "Video",
      "description": "Anthony Campolo presents Elder.js, an opinionated Svelte-based static site generator optimized for SEO through simple HTML pages and fast build times",
      "summary": "Anthony Campolo presents Elder.js, an opinionated Svelte-based static site generator optimized for SEO through simple HTML pages and fast build times",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "Jantcu",
        "channelUrl": "https://www.youtube.com/@Jantcu",
        "originalUrl": "https://www.youtube.com/watch?v=Ru5_2spFjQg"
      },
      "publishedAt": "2021-02-10T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2021-02-10T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/svelte-society-bay-area-optimize-site-seo-with-elderjs/",
        "markdown": "https://ajcwebdev.com/videos/svelte-society-bay-area-optimize-site-seo-with-elderjs/index.md",
        "json": "https://ajcwebdev.com/videos/svelte-society-bay-area-optimize-site-seo-with-elderjs/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-introduction-to-elder-js-and-static-site-generators",
          "text": "00:00:00 - Introduction to Elder JS and Static Site Generators"
        },
        {
          "depth": 3,
          "id": "00-03-28-understanding-elder-js-routing-and-components",
          "text": "00:03:28 - Understanding Elder JS Routing and Components"
        },
        {
          "depth": 3,
          "id": "00-05-47-live-coding-scaffolding-and-exploring-the-template",
          "text": "00:05:47 - Live Coding: Scaffolding and Exploring the Template"
        },
        {
          "depth": 3,
          "id": "00-10-29-creating-a-new-route-and-deploying-to-netlify",
          "text": "00:10:29 - Creating a New Route and Deploying to Netlify"
        },
        {
          "depth": 3,
          "id": "00-16-15-q-a-continuous-deployment-seo-and-metadata",
          "text": "00:16:15 - Q&A: Continuous Deployment, SEO, and Metadata"
        },
        {
          "depth": 3,
          "id": "00-21-43-routing-deep-dive-and-architecture-questions",
          "text": "00:21:43 - Routing Deep Dive and Architecture Questions"
        },
        {
          "depth": 3,
          "id": "00-24-39-sveltekit-routeify-and-the-broader-svelte-ecosystem",
          "text": "00:24:39 - SvelteKit, Routeify, and the Broader Svelte Ecosystem"
        },
        {
          "depth": 3,
          "id": "00-36-17-plenti-framework-closing-remarks-and-future-plans",
          "text": "00:36:17 - Plenti Framework, Closing Remarks, and Future Plans"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "web",
        "frontend"
      ]
    },
    {
      "title": "Putting RedwoodJS Docs to the Test - Some Antics",
      "slug": "some-antics-putting-redwoodjs-docs-to-the-test",
      "collection": "videos",
      "contentType": "Video",
      "description": "Ben Myers and Anthony Campolo audit the RedwoodJS tutorial for accessibility issues including skip links, semantic HTML, alt text, and router persistence",
      "summary": "Ben Myers and Anthony Campolo audit the RedwoodJS tutorial for accessibility issues including skip links, semantic HTML, alt text, and router persistence",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "Ben Myers",
        "channelUrl": "https://www.youtube.com/@BenDMyers",
        "originalUrl": "https://www.youtube.com/watch?v=ois3P63Yiwc"
      },
      "publishedAt": "2021-02-02T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2021-02-02T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/some-antics-putting-redwoodjs-docs-to-the-test/",
        "markdown": "https://ajcwebdev.com/videos/some-antics-putting-redwoodjs-docs-to-the-test/index.md",
        "json": "https://ajcwebdev.com/videos/some-antics-putting-redwoodjs-docs-to-the-test/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-introducing-semantics-and-the-case-for-accessibility-education",
          "text": "00:00:00 - Introducing Semantics and the Case for Accessibility Education"
        },
        {
          "depth": 3,
          "id": "00-05-31-redwoodjs-overview-and-tutorial-driven-development",
          "text": "00:05:31 - RedwoodJS Overview and Tutorial-Driven Development"
        },
        {
          "depth": 3,
          "id": "00-12-23-anthony-s-background-and-community-building",
          "text": "00:12:23 - Anthony's Background and Community Building"
        },
        {
          "depth": 3,
          "id": "00-17-22-auditing-the-tutorial-s-first-pages-and-layout",
          "text": "00:17:22 - Auditing the Tutorial's First Pages and Layout"
        },
        {
          "depth": 3,
          "id": "00-24-18-skip-links-and-single-page-app-router-challenges",
          "text": "00:24:18 - Skip Links and Single-Page App Router Challenges"
        },
        {
          "depth": 3,
          "id": "00-42-43-building-a-skip-link-and-exploring-redwood-s-link-component",
          "text": "00:42:43 - Building a Skip Link and Exploring Redwood's Link Component"
        },
        {
          "depth": 3,
          "id": "00-50-42-screen-reader-testing-the-finished-example-blog",
          "text": "00:50:42 - Screen Reader Testing the Finished Example Blog"
        },
        {
          "depth": 3,
          "id": "00-56-37-summary-of-findings-and-next-steps",
          "text": "00:56:37 - Summary of Findings and Next Steps"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "web",
        "frontend"
      ]
    },
    {
      "title": "Optimize Site SEO with Elder-js - Mintbean",
      "slug": "mintbean-optimize-site-seo-with-elderjs",
      "collection": "videos",
      "contentType": "Video",
      "description": "Anthony Campolo demonstrates Elder.js, a fast static site generator built on Svelte, by creating and deploying a site with custom routing in under 30 minutes",
      "summary": "Anthony Campolo demonstrates Elder.js, a fast static site generator built on Svelte, by creating and deploying a site with custom routing in under 30 minutes",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "Mintbean",
        "channelUrl": "https://www.youtube.com/@Mintbeanio",
        "originalUrl": "https://www.youtube.com/watch?v=R-GrUe5fIlg"
      },
      "publishedAt": "2021-01-14T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2021-01-14T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/mintbean-optimize-site-seo-with-elderjs/",
        "markdown": "https://ajcwebdev.com/videos/mintbean-optimize-site-seo-with-elderjs/index.md",
        "json": "https://ajcwebdev.com/videos/mintbean-optimize-site-seo-with-elderjs/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-introduction-and-what-is-elder-js",
          "text": "00:00:00 - Introduction and What Is Elder JS"
        },
        {
          "depth": 3,
          "id": "00-03-29-static-site-generators-and-why-svelte-is-fast",
          "text": "00:03:29 - Static Site Generators and Why Svelte Is Fast"
        },
        {
          "depth": 3,
          "id": "00-08-08-understanding-explicit-routing-in-elder-js",
          "text": "00:08:08 - Understanding Explicit Routing in Elder JS"
        },
        {
          "depth": 3,
          "id": "00-11-18-live-demo-scaffolding-and-exploring-the-template",
          "text": "00:11:18 - Live Demo: Scaffolding and Exploring the Template"
        },
        {
          "depth": 3,
          "id": "00-19-02-building-a-new-route-from-scratch",
          "text": "00:19:02 - Building a New Route from Scratch"
        },
        {
          "depth": 3,
          "id": "00-23-10-deploying-to-netlify-and-wrap-up",
          "text": "00:23:10 - Deploying to Netlify and Wrap-Up"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "web",
        "frontend",
        "deployment"
      ]
    },
    {
      "title": "Fullstack GraphQL with AppSync - Mintbean",
      "slug": "mintbean-fullstack-graphql-with-appsync",
      "collection": "videos",
      "contentType": "Video",
      "description": "Anthony Campolo gives an overview of GraphQL and how to use AWS AppSync to easily create fully-managed and scalable GraphQL API gateways",
      "summary": "Anthony Campolo gives an overview of GraphQL and how to use AWS AppSync to easily create fully-managed and scalable GraphQL API gateways",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "Mintbean",
        "channelUrl": "https://www.youtube.com/@Mintbeanio",
        "originalUrl": "https://www.youtube.com/watch?v=I8jBOfNLDNw"
      },
      "publishedAt": "2021-01-07T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2021-01-07T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/mintbean-fullstack-graphql-with-appsync/",
        "markdown": "https://ajcwebdev.com/videos/mintbean-fullstack-graphql-with-appsync/index.md",
        "json": "https://ajcwebdev.com/videos/mintbean-fullstack-graphql-with-appsync/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-what-is-graphql-and-why-it-matters",
          "text": "00:00:00 - What Is GraphQL and Why It Matters"
        },
        {
          "depth": 3,
          "id": "00-03-34-queries-arguments-and-getting-data-back",
          "text": "00:03:34 - Queries, Arguments, and Getting Data Back"
        },
        {
          "depth": 3,
          "id": "00-07-20-getting-started-with-aws-appsync",
          "text": "00:07:20 - Getting Started with AWS AppSync"
        },
        {
          "depth": 3,
          "id": "00-13-02-building-a-database-and-running-mutations",
          "text": "00:13:02 - Building a Database and Running Mutations"
        },
        {
          "depth": 3,
          "id": "00-17-55-querying-posts-and-exploring-the-tooling",
          "text": "00:17:55 - Querying Posts and Exploring the Tooling"
        },
        {
          "depth": 3,
          "id": "00-21-07-q-a-databases-pricing-and-ecosystem",
          "text": "00:21:07 - Q&A: Databases, Pricing, and Ecosystem"
        },
        {
          "depth": 3,
          "id": "00-29-52-closing-remarks",
          "text": "00:29:52 - Closing Remarks"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "backend",
        "graphql",
        "deployment"
      ]
    },
    {
      "title": "Building Fullstack Jamstack Applications with RedwoodJS - JS Monthly",
      "slug": "js-monthly-building-fullstack-jamstack-applications",
      "collection": "videos",
      "contentType": "Video",
      "description": "Anthony Campolo outlines the origins of RedwoodJS and the concepts it introduces by demonstrating how to create and deploy a blog in less than 20 minutes",
      "summary": "Anthony Campolo outlines the origins of RedwoodJS and the concepts it introduces by demonstrating how to create and deploy a blog in less than 20 minutes",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "Pusher",
        "channelUrl": "https://www.youtube.com/@Pusher_realtime",
        "originalUrl": "https://www.youtube.com/watch?v=x3NuaErh6vs"
      },
      "publishedAt": "2020-12-17T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2020-12-17T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/js-monthly-building-fullstack-jamstack-applications/",
        "markdown": "https://ajcwebdev.com/videos/js-monthly-building-fullstack-jamstack-applications/index.md",
        "json": "https://ajcwebdev.com/videos/js-monthly-building-fullstack-jamstack-applications/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-introduction-to-redwoodjs-and-its-architecture",
          "text": "00:00:00 - Introduction to RedwoodJS and Its Architecture"
        },
        {
          "depth": 3,
          "id": "00-04-56-backend-architecture-prisma-graphql-and-services",
          "text": "00:04:56 - Backend Architecture: Prisma, GraphQL, and Services"
        },
        {
          "depth": 3,
          "id": "00-07-36-live-demo-creating-pages-layouts-and-setting-up-the-project",
          "text": "00:07:36 - Live Demo: Creating Pages, Layouts, and Setting Up the Project"
        },
        {
          "depth": 3,
          "id": "00-13-07-building-the-blog-data-model-migrations-and-scaffold",
          "text": "00:13:07 - Building the Blog: Data Model, Migrations, and Scaffold"
        },
        {
          "depth": 3,
          "id": "00-18-41-deploying-to-netlify-and-heroku-postgres",
          "text": "00:18:41 - Deploying to Netlify and Heroku Postgres"
        },
        {
          "depth": 3,
          "id": "00-22-52-q-a-redwood-vs-next-js-typescript-support-and-incremental-builds",
          "text": "00:22:52 - Q&A: Redwood vs Next.js, TypeScript Support, and Incremental Builds"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "frontend",
        "backend",
        "deployment"
      ]
    },
    {
      "title": "Building Fullstack Jamstack Applications with RedwoodJS",
      "slug": "jamstack-opo-building-fullstack-jamstack-applications",
      "collection": "videos",
      "contentType": "Video",
      "description": "Anthony Campolo outlines the origins and motivations of RedwoodJS and how to use the framework to build and deploy a fully functional blog in under 20 minutes",
      "summary": "Anthony Campolo outlines the origins and motivations of RedwoodJS and how to use the framework to build and deploy a fully functional blog in under 20 minutes",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "Jamstack OPO",
        "channelUrl": "https://www.youtube.com/@jamstackopomeetup5909",
        "originalUrl": "https://www.youtube.com/watch?v=RwZ1bWWRJQI"
      },
      "publishedAt": "2020-12-15T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2020-12-15T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/jamstack-opo-building-fullstack-jamstack-applications/",
        "markdown": "https://ajcwebdev.com/videos/jamstack-opo-building-fullstack-jamstack-applications/index.md",
        "json": "https://ajcwebdev.com/videos/jamstack-opo-building-fullstack-jamstack-applications/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-introduction-to-redwoodjs-and-its-origins",
          "text": "00:00:00 - Introduction to RedwoodJS and Its Origins"
        },
        {
          "depth": 3,
          "id": "00-03-04-redwood-architecture-frontend-and-backend",
          "text": "00:03:04 - Redwood Architecture: Frontend and Backend"
        },
        {
          "depth": 3,
          "id": "00-07-01-backend-deep-dive-prisma-graphql-sdl-and-services",
          "text": "00:07:01 - Backend Deep Dive: Prisma, GraphQL SDL, and Services"
        },
        {
          "depth": 3,
          "id": "00-13-37-live-coding-setting-up-the-project-and-creating-pages",
          "text": "00:13:37 - Live Coding: Setting Up the Project and Creating Pages"
        },
        {
          "depth": 3,
          "id": "00-24-35-building-the-blog-schema-scaffold-and-cells",
          "text": "00:24:35 - Building the Blog: Schema, Scaffold, and Cells"
        },
        {
          "depth": 3,
          "id": "00-33-23-deploying-to-netlify-and-heroku-postgres",
          "text": "00:33:23 - Deploying to Netlify and Heroku Postgres"
        },
        {
          "depth": 3,
          "id": "00-41-18-q-a-gatsby-comparison-cms-options-and-wrap-up",
          "text": "00:41:18 - Q&A: Gatsby Comparison, CMS Options, and Wrap-Up"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "frontend",
        "backend",
        "deployment"
      ]
    },
    {
      "title": "Lets Learn RedwoodJS - Learn with Jason",
      "slug": "learn-with-jason-lets-learn-redwoodjs",
      "collection": "videos",
      "contentType": "Video",
      "description": "Anthony Campolo joins Learn With Jason to explain how RedwoodJS enables building database-backed Jamstack apps without wasting time on backend configuration",
      "summary": "Anthony Campolo joins Learn With Jason to explain how RedwoodJS enables building database-backed Jamstack apps without wasting time on backend configuration",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "Learn with Jason",
        "channelUrl": "https://www.youtube.com/@learnwithjason",
        "originalUrl": "https://www.youtube.com/watch?v=o9JVHmYvs9Q"
      },
      "publishedAt": "2020-12-02T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2020-12-02T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/learn-with-jason-lets-learn-redwoodjs/",
        "markdown": "https://ajcwebdev.com/videos/learn-with-jason-lets-learn-redwoodjs/index.md",
        "json": "https://ajcwebdev.com/videos/learn-with-jason-lets-learn-redwoodjs/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-introductions-and-background",
          "text": "00:00:00 - Introductions and Background"
        },
        {
          "depth": 3,
          "id": "00-04-43-initializing-a-redwood-project-and-understanding-the-framework",
          "text": "00:04:43 - Initializing a Redwood Project and Understanding the Framework"
        },
        {
          "depth": 3,
          "id": "00-11-10-generating-pages-routes-and-layouts",
          "text": "00:11:10 - Generating Pages, Routes, and Layouts"
        },
        {
          "depth": 3,
          "id": "00-18-05-discussing-the-javascript-ecosystem-and-redwood-s-philosophy",
          "text": "00:18:05 - Discussing the JavaScript Ecosystem and Redwood's Philosophy"
        },
        {
          "depth": 3,
          "id": "00-27-31-setting-up-prisma-and-the-database",
          "text": "00:27:31 - Setting Up Prisma and the Database"
        },
        {
          "depth": 3,
          "id": "00-34-24-scaffolding-the-blog-and-understanding-cells",
          "text": "00:34:24 - Scaffolding the Blog and Understanding Cells"
        },
        {
          "depth": 3,
          "id": "00-52-32-deploying-to-netlify-with-heroku-postgres",
          "text": "00:52:32 - Deploying to Netlify with Heroku Postgres"
        },
        {
          "depth": 3,
          "id": "01-06-58-authentication-wrap-up-and-next-steps",
          "text": "01:06:58 - Authentication, Wrap-Up, and Next Steps"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "frontend",
        "backend",
        "deployment"
      ]
    },
    {
      "title": "Build an App from Scratch with Nuxt - Mintbean",
      "slug": "mintbean-build-an-app-from-scratch-with-nuxt",
      "collection": "videos",
      "contentType": "Video",
      "description": "Anthony Campolo demonstrates how to create a Nuxt.js app from scratch, covering project setup, routing, and deployment to Netlify",
      "summary": "Anthony Campolo demonstrates how to create a Nuxt.js app from scratch, covering project setup, routing, and deployment to Netlify",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "Mintbean",
        "channelUrl": "https://www.youtube.com/@Mintbeanio",
        "originalUrl": "https://www.youtube.com/watch?v=6dy88IEvtO8"
      },
      "publishedAt": "2020-11-09T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2020-11-09T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/mintbean-build-an-app-from-scratch-with-nuxt/",
        "markdown": "https://ajcwebdev.com/videos/mintbean-build-an-app-from-scratch-with-nuxt/index.md",
        "json": "https://ajcwebdev.com/videos/mintbean-build-an-app-from-scratch-with-nuxt/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-setup-and-audience-introductions",
          "text": "00:00:00 - Setup and Audience Introductions"
        },
        {
          "depth": 3,
          "id": "00-02-25-what-is-nuxt-and-the-meta-framework-landscape",
          "text": "00:02:25 - What Is Nuxt and the Meta Framework Landscape"
        },
        {
          "depth": 3,
          "id": "00-10-18-live-coding-creating-the-nuxt-project",
          "text": "00:10:18 - Live Coding: Creating the Nuxt Project"
        },
        {
          "depth": 3,
          "id": "00-18-52-building-pages-layouts-and-navigation",
          "text": "00:18:52 - Building Pages, Layouts, and Navigation"
        },
        {
          "depth": 3,
          "id": "00-25-15-git-setup-and-deploying-to-netlify",
          "text": "00:25:15 - Git Setup and Deploying to Netlify"
        },
        {
          "depth": 3,
          "id": "00-34-48-q-a-routing-state-seo-security-and-vue-3",
          "text": "00:34:48 - Q&A: Routing, State, SEO, Security, and Vue 3"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "web",
        "frontend",
        "deployment"
      ]
    },
    {
      "title": "RedwoodJS the Universal Deployment Machine - Mintbean",
      "slug": "mintbean-redwood-the-universal-deployment-machine",
      "collection": "videos",
      "contentType": "Video",
      "description": "Anthony Campolo discusses the origins of RedwoodJS, its goal to become a Universal Deployment Machine, and how to simultaneously deploy to Netlify and Vercel",
      "summary": "Anthony Campolo discusses the origins of RedwoodJS, its goal to become a Universal Deployment Machine, and how to simultaneously deploy to Netlify and Vercel",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "Mintbean",
        "channelUrl": "https://www.youtube.com/@Mintbeanio",
        "originalUrl": "https://www.youtube.com/watch?v=QHmBRaizvxE"
      },
      "publishedAt": "2020-10-28T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2020-10-28T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/mintbean-redwood-the-universal-deployment-machine/",
        "markdown": "https://ajcwebdev.com/videos/mintbean-redwood-the-universal-deployment-machine/index.md",
        "json": "https://ajcwebdev.com/videos/mintbean-redwood-the-universal-deployment-machine/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-introduction-and-the-teaching-power-of-full-stack-jamstack",
          "text": "00:00:00 - Introduction and the Teaching Power of Full-Stack Jamstack"
        },
        {
          "depth": 3,
          "id": "00-02-27-what-redwoodjs-is-and-who-built-it",
          "text": "00:02:27 - What RedwoodJS Is and Who Built It"
        },
        {
          "depth": 3,
          "id": "00-06-04-redwood-architecture-front-end-and-back-end-breakdown",
          "text": "00:06:04 - Redwood Architecture: Front End and Back End Breakdown"
        },
        {
          "depth": 3,
          "id": "00-11-52-live-demo-generating-pages-and-setting-up-the-project",
          "text": "00:11:52 - Live Demo: Generating Pages and Setting Up the Project"
        },
        {
          "depth": 3,
          "id": "00-18-00-pushing-to-github-and-deploying-to-netlify",
          "text": "00:18:00 - Pushing to GitHub and Deploying to Netlify"
        },
        {
          "depth": 3,
          "id": "00-26-19-deploying-to-vercel-and-the-universal-deployment-machine",
          "text": "00:26:19 - Deploying to Vercel and the Universal Deployment Machine"
        },
        {
          "depth": 3,
          "id": "00-28-33-showcasing-a-faunadb-project-and-graphql-architecture",
          "text": "00:28:33 - Showcasing a FaunaDB Project and GraphQL Architecture"
        },
        {
          "depth": 3,
          "id": "00-33-46-deployment-results-q-a-and-closing-thoughts",
          "text": "00:33:46 - Deployment Results, Q&A, and Closing Thoughts"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "frontend",
        "backend",
        "deployment"
      ]
    },
    {
      "title": "A Bootcamp Students OSS Contribution - OpenSauced",
      "slug": "open-sauced-bootcamp-students-oss-contribution",
      "collection": "videos",
      "contentType": "Video",
      "description": "Anthony Campolo discusses his history as a Lambda School student and how he was able to get ahead by becoming an open source maintainer of RedwoodJS",
      "summary": "Anthony Campolo discusses his history as a Lambda School student and how he was able to get ahead by becoming an open source maintainer of RedwoodJS",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "OpenSauced",
        "channelUrl": "https://www.youtube.com/@OpenSauced",
        "originalUrl": "https://www.youtube.com/watch?v=yEyz2WXrqdo"
      },
      "publishedAt": "2020-10-18T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2020-10-18T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/open-sauced-bootcamp-students-oss-contribution/",
        "markdown": "https://ajcwebdev.com/videos/open-sauced-bootcamp-students-oss-contribution/index.md",
        "json": "https://ajcwebdev.com/videos/open-sauced-bootcamp-students-oss-contribution/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-meet-the-redwoodjs-cheerleader",
          "text": "00:00:00 - Meet the RedwoodJS Cheerleader"
        },
        {
          "depth": 3,
          "id": "00-03-00-what-is-redwoodjs",
          "text": "00:03:00 - What Is RedwoodJS?"
        },
        {
          "depth": 3,
          "id": "00-05-15-the-bootcamp-journey-and-lambda-school",
          "text": "00:05:15 - The Bootcamp Journey and Lambda School"
        },
        {
          "depth": 3,
          "id": "00-09-28-discovering-redwood-through-podcasts",
          "text": "00:09:28 - Discovering Redwood Through Podcasts"
        },
        {
          "depth": 3,
          "id": "00-13-12-networking-hacktoberfest-and-community-building",
          "text": "00:13:12 - Networking, Hacktoberfest, and Community Building"
        },
        {
          "depth": 3,
          "id": "00-16-41-finding-your-niche-in-open-source",
          "text": "00:16:41 - Finding Your Niche in Open Source"
        },
        {
          "depth": 3,
          "id": "00-24-01-the-secret-sauce-showing-up-consistently",
          "text": "00:24:01 - The Secret Sauce: Showing Up Consistently"
        },
        {
          "depth": 3,
          "id": "00-30-37-the-blog-series-and-learning-by-writing",
          "text": "00:30:37 - The Blog Series and Learning by Writing"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "web"
      ]
    },
    {
      "title": "Deno Crate Organization - Paris Deno",
      "slug": "paris-deno-deno-crate-organization",
      "collection": "videos",
      "contentType": "Video",
      "description": "In this Paris Deno talk, Anthony Campolo summarizes Deno's architecture and how it was created, contrasting its structure with Node's",
      "summary": "In this Paris Deno talk, Anthony Campolo summarizes Deno's architecture and how it was created, contrasting its structure with Node's",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "Paris Deno",
        "channelUrl": "https://www.youtube.com/@ParisDeno",
        "originalUrl": "https://www.youtube.com/watch?v=AOvg_GbnsbA"
      },
      "publishedAt": "2020-10-06T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2020-10-06T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/paris-deno-deno-crate-organization/",
        "markdown": "https://ajcwebdev.com/videos/paris-deno-deno-crate-organization/index.md",
        "json": "https://ajcwebdev.com/videos/paris-deno-deno-crate-organization/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-meetup-introduction-and-housekeeping",
          "text": "00:00:00 - Meetup Introduction and Housekeeping"
        },
        {
          "depth": 3,
          "id": "00-08-40-deno-s-origins-and-ryan-dahl-s-regrets-about-node",
          "text": "00:08:40 - Deno's Origins and Ryan Dahl's Regrets About Node"
        },
        {
          "depth": 3,
          "id": "00-15-52-deno-s-design-principles-and-the-move-from-go-to-rust",
          "text": "00:15:52 - Deno's Design Principles and the Move from Go to Rust"
        },
        {
          "depth": 3,
          "id": "00-22-19-deno-s-four-main-rust-crates",
          "text": "00:22:19 - Deno's Four Main Rust Crates"
        },
        {
          "depth": 3,
          "id": "00-35-13-bartek-s-overview-of-deno-as-a-toolchain",
          "text": "00:35:13 - Bartek's Overview of Deno as a Toolchain"
        },
        {
          "depth": 3,
          "id": "00-40-46-rusty-v8-deno-core-and-the-module-graph",
          "text": "00:40:46 - Rusty V8, Deno Core, and the Module Graph"
        },
        {
          "depth": 3,
          "id": "00-47-58-typescript-compilation-v8-snapshots-and-swc",
          "text": "00:47:58 - TypeScript Compilation, V8 Snapshots, and SWC"
        },
        {
          "depth": 3,
          "id": "00-55-17-built-in-formatting-linting-and-documentation-tools",
          "text": "00:55:17 - Built-in Formatting, Linting, and Documentation Tools"
        },
        {
          "depth": 3,
          "id": "01-02-19-composable-runtimes-contributing-and-closing",
          "text": "01:02:19 - Composable Runtimes, Contributing, and Closing"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "web",
        "backend"
      ]
    },
    {
      "title": "Architecting Fullstack Jamstack Apps with FaunaDB and RedwoodJS",
      "slug": "graphql-texas-architecting-fullstack-jamstack-apps",
      "collection": "videos",
      "contentType": "Video",
      "description": "Anthony Campolo explains how to use GraphQL to build a fullstack Jamstack application with FaunaDB as a serverless backend and RedwoodJS for the frontend",
      "summary": "Anthony Campolo explains how to use GraphQL to build a fullstack Jamstack application with FaunaDB as a serverless backend and RedwoodJS for the frontend",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "BoltSource",
        "channelUrl": "https://www.youtube.com/@boltsource613",
        "originalUrl": "https://www.youtube.com/watch?v=J-StXLZXG98"
      },
      "publishedAt": "2020-09-24T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2020-09-24T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/graphql-texas-architecting-fullstack-jamstack-apps/",
        "markdown": "https://ajcwebdev.com/videos/graphql-texas-architecting-fullstack-jamstack-apps/index.md",
        "json": "https://ajcwebdev.com/videos/graphql-texas-architecting-fullstack-jamstack-apps/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-introduction-and-project-overview",
          "text": "00:00:00 - Introduction and Project Overview"
        },
        {
          "depth": 3,
          "id": "00-01-56-redwoodjs-architecture-and-front-end-structure",
          "text": "00:01:56 - RedwoodJS Architecture and Front-End Structure"
        },
        {
          "depth": 3,
          "id": "00-04-35-cells-declarative-data-fetching-and-graphql-queries",
          "text": "00:04:35 - Cells, Declarative Data Fetching, and GraphQL Queries"
        },
        {
          "depth": 3,
          "id": "00-06-40-schema-definition-language-and-backend-services",
          "text": "00:06:40 - Schema Definition Language and Backend Services"
        },
        {
          "depth": 3,
          "id": "00-13-11-faunadb-fql-and-database-setup",
          "text": "00:13:11 - FaunaDB, FQL, and Database Setup"
        },
        {
          "depth": 3,
          "id": "00-17-46-live-demo-deployment-and-q-a",
          "text": "00:17:46 - Live Demo, Deployment, and Q&A"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "frontend",
        "backend",
        "graphql"
      ]
    },
    {
      "title": "A First Look at RedwoodJS - Jamstack Denver",
      "slug": "jamstack-denver-first-look-redwoodjs",
      "collection": "videos",
      "contentType": "Video",
      "description": "Exploring RedwoodJS through the journey of a music teacher turned developer, Anthony Campolo outlines the framework's origin and motivations behind the project",
      "summary": "Exploring RedwoodJS through the journey of a music teacher turned developer, Anthony Campolo outlines the framework's origin and motivations behind the project",
      "author": {
        "name": "Anthony Campolo"
      },
      "source": {
        "channel": "Jamstack Denver",
        "channelUrl": "https://www.youtube.com/@jamstackdenver2142",
        "originalUrl": "https://www.youtube.com/watch?v=0krdC_D42IU"
      },
      "publishedAt": "2020-09-05T00:00:00.000Z",
      "updatedAt": null,
      "freshness": {
        "label": "Published",
        "value": "2020-09-05T00:00:00.000Z"
      },
      "urls": {
        "html": "https://ajcwebdev.com/videos/jamstack-denver-first-look-redwoodjs/",
        "markdown": "https://ajcwebdev.com/videos/jamstack-denver-first-look-redwoodjs/index.md",
        "json": "https://ajcwebdev.com/videos/jamstack-denver-first-look-redwoodjs/index.json"
      },
      "headings": [
        {
          "depth": 2,
          "id": "episode-description",
          "text": "Episode Description"
        },
        {
          "depth": 2,
          "id": "episode-summary",
          "text": "Episode Summary"
        },
        {
          "depth": 2,
          "id": "chapters",
          "text": "Chapters"
        },
        {
          "depth": 3,
          "id": "00-00-00-introduction-and-redwoodjs-overview",
          "text": "00:00:00 - Introduction and RedwoodJS Overview"
        },
        {
          "depth": 3,
          "id": "00-06-02-the-core-team-and-architecture-breakdown",
          "text": "00:06:02 - The Core Team and Architecture Breakdown"
        },
        {
          "depth": 3,
          "id": "00-12-40-prisma-graphql-and-the-backend",
          "text": "00:12:40 - Prisma, GraphQL, and the Backend"
        },
        {
          "depth": 3,
          "id": "00-19-32-live-coding-pages-layouts-and-routing",
          "text": "00:19:32 - Live Coding: Pages, Layouts, and Routing"
        },
        {
          "depth": 3,
          "id": "00-26-51-live-coding-database-setup-and-scaffolding",
          "text": "00:26:51 - Live Coding: Database Setup and Scaffolding"
        },
        {
          "depth": 3,
          "id": "00-33-30-building-the-blog-cell-and-displaying-posts",
          "text": "00:33:30 - Building the Blog Cell and Displaying Posts"
        },
        {
          "depth": 3,
          "id": "00-39-09-q-a-production-use-serverless-and-authentication",
          "text": "00:39:09 - Q&A: Production Use, Serverless, and Authentication"
        },
        {
          "depth": 2,
          "id": "transcript",
          "text": "Transcript"
        }
      ],
      "tags": [
        "frontend",
        "backend",
        "deployment"
      ]
    }
  ],
  "discovery": {
    "apiIndex": "https://ajcwebdev.com/api/index.json",
    "llmsTxt": "https://ajcwebdev.com/llms.txt",
    "llmsFullTxt": "https://ajcwebdev.com/llms-full.txt",
    "sitemapMd": "https://ajcwebdev.com/sitemap.md"
  },
  "nextActions": [
    {
      "action": "get_rss_feed",
      "url": "https://ajcwebdev.com/videos/rss.xml",
      "method": "GET",
      "accept": "application/rss+xml"
    },
    {
      "action": "get_markdown_sitemap",
      "url": "https://ajcwebdev.com/sitemap.md",
      "method": "GET",
      "accept": "text/markdown"
    }
  ]
}