{
  "title": "Fly with Rugwiro Valentin",
  "slug": "fly-rugwiro-valentin",
  "collection": "podcasts",
  "contentType": "Podcast",
  "description": "Rugwiro Valentin shares his path from coding in Rwanda to Fly.io, explaining how Fly deploys apps globally with Docker, Firecracker, and WireGuard",
  "summary": "Rugwiro Valentin shares his path from coding in Rwanda to Fly.io, explaining how Fly deploys apps globally with Docker, Firecracker, and WireGuard",
  "author": {
    "name": "Anthony Campolo"
  },
  "source": {
    "channel": "FSJam Podcast",
    "channelUrl": "https://fsjam.org",
    "originalUrl": "https://audio.transistor.fm/m/shows/15767/b31c8ecd2dc35a4e59313e6bb22cff34.mp3"
  },
  "publishedAt": "2022-01-21T00:00:00.000Z",
  "updatedAt": null,
  "freshness": {
    "label": "Published",
    "value": "2022-01-21T00:00:00.000Z"
  },
  "urls": {
    "html": "https://ajcwebdev.com/podcasts/fly-rugwiro-valentin/",
    "markdown": "https://ajcwebdev.com/podcasts/fly-rugwiro-valentin/index.md",
    "json": "https://ajcwebdev.com/podcasts/fly-rugwiro-valentin/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-meet-valentin-and-introduction-to-fly-io",
      "text": "00:00:00 - Meet Valentin and Introduction to Fly.io"
    },
    {
      "depth": 3,
      "id": "00-02-21-learning-to-code-in-rwanda-and-the-path-to-fly",
      "text": "00:02:21 - Learning to Code in Rwanda and the Path to Fly"
    },
    {
      "depth": 3,
      "id": "00-08-01-understanding-docker-vms-and-firecracker",
      "text": "00:08:01 - Understanding Docker, VMs, and Firecracker"
    },
    {
      "depth": 3,
      "id": "00-13-34-how-fly-works-under-the-hood",
      "text": "00:13:34 - How Fly Works Under the Hood"
    },
    {
      "depth": 3,
      "id": "00-18-24-why-use-fly-over-traditional-cloud-providers",
      "text": "00:18:24 - Why Use Fly Over Traditional Cloud Providers"
    },
    {
      "depth": 3,
      "id": "00-23-06-scaling-pricing-and-heroku-comparisons",
      "text": "00:23:06 - Scaling, Pricing, and Heroku Comparisons"
    },
    {
      "depth": 3,
      "id": "00-28-23-graphql-dogfooding-and-the-fly-proxy",
      "text": "00:28:23 - GraphQL, Dogfooding, and the Fly Proxy"
    },
    {
      "depth": 3,
      "id": "00-31-38-wireguard-private-networking-and-flyctl-proxy",
      "text": "00:31:38 - WireGuard, Private Networking, and flyctl proxy"
    },
    {
      "depth": 3,
      "id": "00-35-59-redwood-integration-and-closing-thoughts",
      "text": "00:35:59 - Redwood Integration and Closing Thoughts"
    },
    {
      "depth": 2,
      "id": "resources-and-links",
      "text": "Resources and Links"
    },
    {
      "depth": 2,
      "id": "transcript",
      "text": "Transcript"
    }
  ],
  "tags": [
    "web",
    "deployment",
    "graphql",
    "heroku",
    "redwoodjs"
  ],
  "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/fly-rugwiro-valentin/",
      "method": "GET",
      "accept": "text/html"
    },
    {
      "action": "get_markdown_twin",
      "url": "https://ajcwebdev.com/podcasts/fly-rugwiro-valentin/index.md",
      "method": "GET",
      "accept": "text/markdown"
    },
    {
      "action": "get_json_twin",
      "url": "https://ajcwebdev.com/podcasts/fly-rugwiro-valentin/index.json",
      "method": "GET",
      "accept": "application/json"
    }
  ]
}