{
  "title": "Knowledge Base, Voracious Dev, Octo App",
  "slug": "jsjam-knowledge-base-david-voracious-dev-octo-app",
  "collection": "podcasts",
  "contentType": "Podcast",
  "description": "David Myers discusses building OctoApp, open-source markdown knowledge base, covering offline-first architecture, in-browser editors, and data sync challenges",
  "summary": "David Myers discusses building OctoApp, open-source markdown knowledge base, covering offline-first architecture, in-browser editors, and data sync challenges",
  "author": {
    "name": "Anthony Campolo"
  },
  "source": {
    "channel": "JavaScript Jam",
    "channelUrl": "https://x.com/javascriptjam",
    "originalUrl": "https://ajc.pics/podcasts/jsjam/2022-Q4/2022-11-30-jsjam-knowledge-base-david-voracious-dev-octo-app.mp3"
  },
  "publishedAt": "2022-11-30T00:00:00.000Z",
  "updatedAt": null,
  "freshness": {
    "label": "Published",
    "value": "2022-11-30T00:00:00.000Z"
  },
  "urls": {
    "html": "https://ajcwebdev.com/podcasts/jsjam-knowledge-base-david-voracious-dev-octo-app/",
    "markdown": "https://ajcwebdev.com/podcasts/jsjam-knowledge-base-david-voracious-dev-octo-app/index.md",
    "json": "https://ajcwebdev.com/podcasts/jsjam-knowledge-base-david-voracious-dev-octo-app/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-introduction-and-anthony-s-announcement",
      "text": "00:00:00 - Introduction and Anthony's Announcement"
    },
    {
      "depth": 3,
      "id": "00-06-15-david-myers-and-the-origins-of-octoapp",
      "text": "00:06:15 - David Myers and the Origins of OctoApp"
    },
    {
      "depth": 3,
      "id": "00-12-00-choosing-the-tech-stack-and-evolving-the-architecture",
      "text": "00:12:00 - Choosing the Tech Stack and Evolving the Architecture"
    },
    {
      "depth": 3,
      "id": "00-17-15-server-side-rendering-and-progressive-web-app-benefits",
      "text": "00:17:15 - Server-Side Rendering and Progressive Web App Benefits"
    },
    {
      "depth": 3,
      "id": "00-25-00-offline-first-architecture-and-data-synchronization",
      "text": "00:25:00 - Offline-First Architecture and Data Synchronization"
    },
    {
      "depth": 3,
      "id": "00-34-44-mid-show-break-and-building-an-in-browser-editor",
      "text": "00:34:44 - Mid-Show Break and Building an In-Browser Editor"
    },
    {
      "depth": 3,
      "id": "00-46-27-crdts-collaboration-and-editor-libraries",
      "text": "00:46:27 - CRDTs, Collaboration, and Editor Libraries"
    },
    {
      "depth": 3,
      "id": "00-56-45-no-code-editors-cms-tools-and-closing-remarks",
      "text": "00:56:45 - No-Code Editors, CMS Tools, and Closing Remarks"
    },
    {
      "depth": 2,
      "id": "transcript",
      "text": "Transcript"
    }
  ],
  "tags": [
    "web",
    "open-source"
  ],
  "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/podcasts/jsjam-knowledge-base-david-voracious-dev-octo-app/",
      "method": "GET",
      "accept": "text/html"
    },
    {
      "action": "get_markdown_twin",
      "url": "https://ajcwebdev.com/podcasts/jsjam-knowledge-base-david-voracious-dev-octo-app/index.md",
      "method": "GET",
      "accept": "text/markdown"
    },
    {
      "action": "get_json_twin",
      "url": "https://ajcwebdev.com/podcasts/jsjam-knowledge-base-david-voracious-dev-octo-app/index.json",
      "method": "GET",
      "accept": "application/json"
    }
  ]
}