{
  "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": "speakers",
      "text": "Speakers"
    },
    {
      "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-bret-victor-inspiration",
      "text": "00:03:07 - Steve's Background and Bret 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",
    "deployment",
    "react"
  ],
  "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",
    "sitemapXml": "https://ajcwebdev.com/sitemap.xml"
  },
  "nextActions": [
    {
      "action": "open_html",
      "url": "https://ajcwebdev.com/videos/val-town-steve-krouse/",
      "method": "GET",
      "accept": "text/html"
    },
    {
      "action": "get_markdown_twin",
      "url": "https://ajcwebdev.com/videos/val-town-steve-krouse/index.md",
      "method": "GET",
      "accept": "text/markdown"
    },
    {
      "action": "get_json_twin",
      "url": "https://ajcwebdev.com/videos/val-town-steve-krouse/index.json",
      "method": "GET",
      "accept": "application/json"
    }
  ]
}