{"componentChunkName":"component---src-templates-post-jsx","path":"/blog/polypane-on-the-contejas-code-podcast/","result":{"data":{"mdx":{"body":"function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/* @jsxRuntime classic */\n\n/* @jsx mdx */\nconst _frontmatter = {\n  \"title\": \"Polypane on the ConTejas Code Podcast\",\n  \"cover\": \"/blogs/contejas/cover.jpg\",\n  \"date\": \"2024-08-29\",\n  \"noshadow\": true,\n  \"type\": [\"announcement\"]\n};\nconst layoutProps = {\n  _frontmatter\n};\nconst MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  let {\n    components\n  } = _ref,\n      props = _objectWithoutProperties(_ref, [\"components\"]);\n\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"p\", null, `I joined Tejas on the ConTejas Code Podcast to talk about running Polypane from both a technical and strategic/business perspective.`), mdx(\"p\", null, `We spoke about a lot of different challenges and the trade-offs you sometimes have to make (like postponing a release so you keep parity across all platforms in lieu of releasing quickly on one platform). I also got to nerd out about how I built `, mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"/portal/\"\n  }), `Polypane Portal`), ` so if you're interested in that, this is the episode for you!`), mdx(\"blockquote\", null, mdx(\"p\", null, \"Kilian Valkhof created Polypane, a web browser designed to enhance developer productivity. Built on Chromium with Electron, it offers features like local server sharing, live DOM view, and social media preview tools.\"), mdx(\"p\", null, \"Polypane's development faced challenges in element injection, security, and dependency management. Valkhof balances user feedback with innovation, maintaining a user-centric approach while introducing novel features.\"), mdx(\"p\", null, \"The business model includes a free trial and paid plans, addressing the challenge of monetizing in a market accustomed to free tools. Valkhof emphasizes clear communication of Polypane's value in the competitive DevTools space.\"), mdx(\"p\", null, \"Throughout Polypane's journey, Valkhof has stressed the importance of comprehensive documentation, willingness to take risks, and effective user engagement. These principles guide Polypane's evolution as it aims to distinguish itself in the web development tool market.\")), mdx(\"div\", {\n    style: {\n      \"position\": \"relative\",\n      \"width\": \"100%\",\n      \"paddingTop\": \"56.25%\"\n    }\n  }, mdx(\"iframe\", {\n    src: \"https://www.youtube-nocookie.com/embed/9sXbx599d7k?si=_SUo122iNTqcADCc\",\n    title: \"YouTube video player\",\n    frameBorder: \"0\",\n    allow: \"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\",\n    allowFullScreen: true,\n    style: {\n      \"position\": \"absolute\",\n      \"top\": \"0px\",\n      \"left\": \"0px\",\n      \"width\": \"100%\",\n      \"height\": \"100%\"\n    }\n  })), mdx(\"p\", null, `Thanks Tejas for having me on. You are an amazingly gracious host and I very much enjoyed our conversation!`));\n}\n;\nMDXContent.isMDXComponent = true;","timeToRead":1,"tableOfContents":{},"excerpt":"I joined Tejas on the ConTejas Code Podcast to talk about running Polypane from both a technical and strategic/business perspective. We spoke about a lot of…","frontmatter":{"title":"Polypane on the ConTejas Code Podcast","cover":"/blogs/contejas/cover.jpg","date":"2024-08-29","updated":null},"fields":{"slug":"/blog/polypane-on-the-contejas-code-podcast/","date":"2024-08-28T22:00:00.000Z","ogFileName":"polypane-on-the-con-tejas-code-podcast"}}},"pageContext":{"slug":"/blog/polypane-on-the-contejas-code-podcast/"}},"staticQueryHashes":["4164364741","425175329"]}