{
    "componentChunkName": "component---src-templates-post-js",
    "path": "/product-collaboration",
    "result": {"data":{"site":{"siteMetadata":{"title":"your friend Joel's digital garden","description":"Articles and notes from a collaborator at egghead.io. Musings on software, business, and life from a skilled virtual assistant.","author":{"name":"Joel Hooks"},"keywords":["Video Blogger"]}},"mdx":{"excerpt":"If you want to launch a course, project, e-commerce store, or some other product there are a shit load of services on the internet that you can fire up, add your credit card details, and be off to the races. Seems simple!  These products…","fields":{"github":"https://github.com/joelhooks/joelhooks-com/tree/master/content/blog/2021-08-01--collaboration-on-a-product-with-a-partner~~-w_AiU0sp/index.mdx"},"body":"var _excluded = [\"components\"];\n\nfunction _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 */\nvar _frontmatter = {\n  \"id\": \"-w_AiU0sp\",\n  \"slug\": \"product-collaboration\",\n  \"date\": \"2021-08-01T00:00:00.000Z\",\n  \"title\": \"Collaboration on a Product with a Partner\",\n  \"published\": false\n};\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n      props = _objectWithoutProperties(_ref, _excluded);\n\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"p\", null, \"If you want to launch a course, project, e-commerce store, or some other product there are a shit load of services on the internet that you can fire up, add your credit card details, and be off to the races.\"), mdx(\"p\", null, \"Seems simple! \"), mdx(\"p\", null, \"These products are tuned for the masses, the least common denominator and primarily focus on transactions and delivery. Both of these problem areas are critical to sell anything online so it makes sense that a packaged \\\"sell your stuff online\\\" service makes sense. Table stakes. \"), mdx(\"p\", null, \"At this layer, most of the competition is on price, where you are generally paying the service provider a monthly or annual fee in exchange for a service.\"), mdx(\"p\", null, \"For the past several years we've been partnering with experts to create modern online learning products for web developers. Unlike DIY bring-your-own-content platforms, we work with or experts closely from the beginning. It's not a monthly fee relationship, it's a long term partnership where revenue is shared.\"), mdx(\"p\", null, \"Fundamentally this means we start with core strategy.\"), mdx(\"p\", null, \"Here's a \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"https://skillrecordings.com/epic-react\"\n  }, \"case study on the production and launch of Epic React with Kent C. Dodds\"), \".\"), mdx(\"p\", null, \"We work on a mutual trust relationship with our partners for \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"years\"), \".\"), mdx(\"p\", null, \"We turn projects down that don't feel right or aren't a good fit for our team.\"), mdx(\"p\", null, \"We give our partners our best advice to help them make more strategic decisions that take their goals and ambitions into account.\"), mdx(\"p\", null, \"We are employing the \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"/strategy-of-preeminence\"\n  }, \"Strategy of Preeminence\"), \" to the best of our ability.\"), mdx(\"p\", null, \"This is the long game and not a cash grab content hustle.\"));\n}\n;\nMDXContent.isMDXComponent = true;","frontmatter":{"title":"Collaboration on a Product with a Partner","date":"August 01, 2021","banner":null,"slug":"product-collaboration","keywords":null}}},"pageContext":{"id":"4a1a3f0e-b58c-57e3-bf2e-2afdfe4f86d4","prev":{"id":"ca686418-fb04-523c-92f9-e173aa570b47","parent":{"name":"index","sourceInstanceName":"blog"},"excerpt":"There are a lot of interesting options for commercial and open source players. In the last several years  HTMLVideoElement  has become cross platform standard and simplified media player development considerably. No Flash fallback required! Despite…","fields":{"title":"React Video Player Component Using Hooks, TypeScript, and xState","slug":"react-video-player","date":"2021-09-10T00:00:00.000Z"}},"next":{"id":"7097dcd4-1831-5786-8f39-f070ba832f42","parent":{"name":"index","sourceInstanceName":"blog"},"excerpt":"This video from Jay Abraham is a great introduction to the strategy of preeminence. We are not a commodity. There are two forces trying to turn us into a commodity. Our competition wants to marginalize our advantage & differentiation. Consumers want…","fields":{"title":"Strategy of Preeminence","slug":"strategy-of-preeminence","date":"2021-08-01T00:00:00.000Z"}}}},
    "staticQueryHashes": ["1045846374"]}