{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/6pmWYIsHylbRRynq7J9a/YERcH2Wdxnt4ki6HhGlf/BIJXliaL5.js"],
  "sourcesContent": ["import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { addPropertyControls, ControlType, Link } from \"framer\";\nimport * as React from \"react\"; /**\n                                * @framerRecordIdKey id\n                                * @framerSlug wFhChraZH\n                                * @framerEnumToDisplayNameUtils 1\n                                * @framerData\n                                */\nconst data = [{\n  AGpvmUG4l: \"How to measure Product-Market-Fit\",\n  FljDKOJbC: /*#__PURE__*/_jsxs(React.Fragment, {\n    children: [/*#__PURE__*/_jsx(\"p\", {\n      children: \"Having being the CEO of startups and also the Product Manager creating new products within existing companies, I've spent quite a lot of time \u2122 stressing about Product Market Fit metrics.\"\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: \"What is Product Market Fit?\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"As a quick reminder, Product Market Fit (PMF) is the binary event that dictates if a product resonates with users to the point it'll be a successful product. You can read more about it at either \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.ycombinator.com/library/5z-the-real-product-market-fit\",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"YC or a16z\"\n        })\n      }), \". \"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Many people recommend measuring and tracking PMF via \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://review.firstround.com/how-superhuman-built-an-engine-to-find-product-market-fit\",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"surveys\"\n        })\n      }), \", specifically:\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"em\", {\n        children: \"how would you feel if you could no longer use the product?\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: \"Surveys and NPS\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"This question is \", /*#__PURE__*/_jsx(\"em\", {\n        children: 'essentially an equivalent of the \"Net Promoter Score\" \u2014 w'\n      }), \"onderful tools like \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.satismeter.com\",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Satismeter\"\n        })\n      }), \" exist to help founders measure both PMF and NPS. (I was an incredibly \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://twitter.com/jsedlacek/status/1529903924097994766\",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"early\"\n        })\n      }), \" user of Satismeter, and I recommend all startups use it!)\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: 'After you\\'ve answered the survey (either the PMF \"how disappointed\u2026\" or the NPS \"how likely to recommend to friends\u2026\") you\\'re asked to give feedback, and that feedback is incredibly useful. '\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"I believe this feedback is \", /*#__PURE__*/_jsx(\"strong\", {\n        children: \"foundational\"\n      }), \" to building a healthy product organization, you can see how critical I believe this feedback is in a \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://tech.nextroll.com/blog/adroll/2015/08/05/how-we-nps.html\",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"blog post I wrote in 2015\"\n        })\n      }), \".\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"I believe product teams should report on this metric monthly \u2014 tracking how it adjusts over time \u2014 \", /*#__PURE__*/_jsx(\"strong\", {\n        children: \"however\"\n      }), \" I no longer believe it should be the primary way that startups measure PMF.\"]\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: \"Users Lie\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"The problem with these kinds of surveys is that they are qualitative. When users use a product, they're not only influenced by the problem you're solving but a vast array of other factors that influence how they feel about a product:\"\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Are they friends with the founders?\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Are they paying?\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Is the brand cool and hip?\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Is the UI fancy?\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Are there trendy features like AI within it?\"\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Imagine if Brad Pitt invited you to his random SaaS product. Now imagine if some loser like myself invited you to his random SaaS product. Both are identical, which product will get better survey results?\"\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,zxmWA1egG0zAODWGXiVPSVMGw.png\",\n      \"data-framer-height\": \"674\",\n      \"data-framer-width\": \"1180\",\n      height: \"337\",\n      src: new URL(\"https://framerusercontent.com/images/zxmWA1egG0zAODWGXiVPSVMGw.png\").href,\n      style: {\n        aspectRatio: \"1180 / 674\"\n      },\n      width: \"590\"\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: \"The Solution\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Here is the primary way I believe PMF should be measured:\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"em\", {\n        children: \"Do users keep coming back?\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"You should create a cohort view of user logins and users taking a core product action and plot that over time, for example:\"\n    }), /*#__PURE__*/_jsx(\"ul\", {\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"3 months after activation, how many users were logging in at least once a week? how many were taking the core product action of <creating a document>?\"\n        })\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Products that do not yet have PMF have \", /*#__PURE__*/_jsx(\"strong\", {\n        children: \"terrifyingly poor\"\n      }), \" retention \u2014 similarly, products that do have PMF have \", /*#__PURE__*/_jsx(\"strong\", {\n        children: \"shockingly good\"\n      }), \" retention. \"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Put it this way, unless you are in a very specific industry (finance, APIs, etc) you do not and cannot have PMF without users logging in at least once a week. Broadly speaking, a product that users love to use once a month just isn't viable. \"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Users simply do not have the brainpower to remember to use products on such an infrequent basis. Of course, there are exceptions to the rule (such as expense tracking, to pick a random example) but those are far less product centric and far more sales/workflow centric.\"\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,KmBOPoOd6WffzKsZ1AGst2iow.png\",\n      \"data-framer-height\": \"248\",\n      \"data-framer-width\": \"1082\",\n      height: \"124\",\n      src: new URL(\"https://framerusercontent.com/images/KmBOPoOd6WffzKsZ1AGst2iow.png\").href,\n      style: {\n        aspectRatio: \"1082 / 248\"\n      },\n      width: \"541\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"The great thing about this metric is that it cannot lie. There's no way for a user to mislead or be polite to avoid hurting your feelings, because it's tracked purely quantitatively. \"\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: \"Never ever underestimate the power of retention\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: ['I have found that founders and product managers greatly underestimate the value of retention. They\\'ll see stagnant growth and think \"we need more top of the funnel\" \u2014 I know this for a fact, since I receive emails from YC founders every month asking for help with Product/Growth and they ', /*#__PURE__*/_jsx(\"strong\", {\n        children: \"always\"\n      }), \" think their problem is acquisition, not retention.\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"I have also had the (unfortunate?) pleasure of being tasked with fixing retention for companies with high churn \u2014 my thinking on this has also evolved, and I now believe that in a huge number of cases you cannot drastically fix retention if your initial cohorts are terrible. It's one thing for users to activate, stick around for a few months, and then abandon \u2014 there's a bunch you can try to do there. But if a user activates and bounces in the first month, your problem isn't retention it's PMF.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    })]\n  }),\n  gyvk4fRDw: {\n    alt: \"\",\n    src: new URL(\"https://framerusercontent.com/images/184iRcqetdZ2DuBbYM5hSBH4.jpg?scale-down-to=4096\").href,\n    srcSet: `${new URL(\"https://framerusercontent.com/images/184iRcqetdZ2DuBbYM5hSBH4.jpg?scale-down-to=512\").href} 512w, ${new URL(\"https://framerusercontent.com/images/184iRcqetdZ2DuBbYM5hSBH4.jpg?scale-down-to=1024\").href} 1024w, ${new URL(\"https://framerusercontent.com/images/184iRcqetdZ2DuBbYM5hSBH4.jpg?scale-down-to=2048\").href} 2048w, ${new URL(\"https://framerusercontent.com/images/184iRcqetdZ2DuBbYM5hSBH4.jpg?scale-down-to=4096\").href} 4096w, ${new URL(\"https://framerusercontent.com/images/184iRcqetdZ2DuBbYM5hSBH4.jpg\").href} 4928w`\n  },\n  id: \"miKqOlVAx\",\n  mUa9UeUpU: \"vIDsQFdxM\",\n  s4O2QP5sc: \"2023-08-01T00:00:00.000Z\",\n  wFhChraZH: \"how-to-measure-product-market-fit\"\n}, {\n  AGpvmUG4l: \"Rivian R1S\",\n  FljDKOJbC: /*#__PURE__*/_jsxs(React.Fragment, {\n    children: [/*#__PURE__*/_jsx(\"p\", {\n      children: \"The Rivian R1S is an exceptional vehicle. \"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"I previously had a Tesla Model Y, which I felt was a near perfect car \u2014 but alas, over the years, I was simply finding the Model Y too small. I even had the 7-seater Model Y but found the third row impossible to use for adults (or anyone, really.)\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Increasingly I found that I wanted to haul larger things and found that the second row (let alone the third!) was too cramped for adults. \"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"What I really wanted was a Model Y but it be 20% larger, I thought this would be the Model X so dutifully pre-ordered one when they refreshed them a few years ago. Over time, I realized that buying a car that was over $110,000 was insane \u2014 especially when waiting so many years for it.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"I also had reservations about the Model X form factor. It's not quite an SUV and not quite a wagon. It's a weird car.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"About that time ~3 years ago, I also ordered a Rivian R1S. I was skeptical of anyones ability to compete with Tesla in the EV world, but the idea of an electric SUV was too appealing to me. I have wished for almost a decade that Land Rover release an EV car, but alas that company is too far gone to be saved.\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"The R1S checks \", /*#__PURE__*/_jsx(\"em\", {\n        children: \"all\"\n      }), \" the boxes.\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"It's an SUV which means it has a lot of room \u2014 three rows, all of which are usable by adults. Even with the third row up, you have a large trunk, and with the third row collapsed it's positively cavernous. \"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"It has air suspension and an upright driving position. When fully lifted it sits incredibly high, providing wonderful visibility \u2014 and when fully lowered, it's incredibly easy to get things in and our of it. \"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"It drives and handles outrageously well. A 9000 lb SUV should not feel like a toy car, but this one does. It is shockingly responsive and just plain fast. The Model Y felt outrageously fast, but the R1S is another level \u2014 whilst it's equally as fast, you can't help but be shocked that a car as large as this moves as quickly and nimbly as this.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"That said, there are drawbacks \u2014 the Rivian software is incredibly nascent compared to the Tesla. The audio options and car settings are two large drawbacks, and then there's the long tail of odd Tesla features which are useful once a year, such as Netflix.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"I am sure the software will improve quickly, there's already been a major update in the first few weeks of owning it. \"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"I would urge anyone on the fence to buy the Rivian R1S \u2014 it's an insane car!\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    })]\n  }),\n  gyvk4fRDw: {\n    alt: \"\",\n    src: new URL(\"https://framerusercontent.com/images/tWWQuPAsvlXCG175vlpdg20n58.jpeg\").href,\n    srcSet: `${new URL(\"https://framerusercontent.com/images/tWWQuPAsvlXCG175vlpdg20n58.jpeg?scale-down-to=512\").href} 384w, ${new URL(\"https://framerusercontent.com/images/tWWQuPAsvlXCG175vlpdg20n58.jpeg\").href} 769w`\n  },\n  id: \"AufVq9w1T\",\n  mUa9UeUpU: \"M6unzFZLk\",\n  s4O2QP5sc: \"2023-07-05T00:00:00.000Z\",\n  wFhChraZH: \"rivian-r1s\"\n}, {\n  AGpvmUG4l: \"EVs fascinate me\",\n  FljDKOJbC: /*#__PURE__*/_jsxs(React.Fragment, {\n    children: [/*#__PURE__*/_jsx(\"p\", {\n      children: \"I am not a car guy. Before buying my Tesla Model 3, I had had two cars in my entire life:\"\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Subaru impreza (for British readers, I mean the American variant, which is a very utilitarian car. ((for American readers, I explain this because in England, the only Subaru Impreza that exists, is what Americans know as the Subaru Impreza WRX. A loud sports car)\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Seat Arosa.\"\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"I bought a Model 3 because I was starting to do longer drives, and well, in 2018-ish Tesla was the hot product and the more I read about it the more I felt it was a great (fancy) car for people that are not car guys. \"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"I eventually upgraded to a Model Y since I found the Model 3 overly small. As an aside, I personally do not understand why Tesla makes both the 3 and the Y \u2014 couldn't they simply sell the Y? Are the people that want the slightly more sporty 3 dynamics not just going to buy a Y if they had no other choice? \"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"I think the Model Y is a near perfect car \u2026 \", /*#__PURE__*/_jsx(\"em\", {\n        children: \"but\"\n      }), \" despite not being a car guy, I have \", /*#__PURE__*/_jsx(\"em\", {\n        children: \"always\"\n      }), \" wanted a Land Rover. However \u2014 \"]\n    }), /*#__PURE__*/_jsxs(\"ol\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"I am morally opposed to buying an internal combustion engine car.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Land Rovers are not what they used to be. And what they even used to be is a bit debatable since you now sadly have to go back almost half a century to find the glory days of Land Rover.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Old Land Rovers are crazy money, unsafe, and really not practical daily drivers.\"\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: 'Despite historically always wanting a Land Rover \u2014 and having zero interest in any competing cars such as Land Cruisers (not a thing in UK), Jeeps (same), etc \u2014 I had always said along the lines of \"my dream car would be a Land Rover Defender that is electric.\"'\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: 'If I simply add an \"-esque vehicle\" to that sentence:  '\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: '\"my dream car would be a Land Rover Defender-esque vehicle that is electric.\"'\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"That is basically a Rivian R1S. And it's great! And I have very little to add on the topic as of now. \"\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: \"The future of EVs\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"But driving my R1S got me thinking about EVs in general \u2014 it's clear to me that very quickly it's going to be quite easy to make EVs. \"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"I had previously thought that cars would go the way of the smart phone, and that everyone would buy a Tesla (iPhone, market leader) and everyone else would really struggle in the battle for the long tail of market share (Android, long tail) but it now feels like that won't be the case.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Don't get me wrong, I am sure that Tesla will become the Apple of EVs \u2014 the rare manufacturer that has healthy margins, brand appeal and mass volume \u2014 but I no longer thing other companies will wither and die. \"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"It feels like there will be two buckets:\"\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: [/*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"Mainstream cars\"\n          }), \" (Tesla, BMW, Toyota, etc)\"]\n        }), /*#__PURE__*/_jsxs(\"p\", {\n          children: [\"These will companies that make wide product families of cars that appeal to all sorts. Tesla already ships 4 car types and has the roadster, the truck, the cybertruck, and presumably a cheaper car on the way. You can already see BMW, Volvo, etc doing similar. This feels like it'll become a dirty streetlight \", /*#__PURE__*/_jsx(\"em\", {\n            children: \"real fast\"\n          }), \".\"]\n        })]\n      }), /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: [/*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"Niche cars\"\n          }), \" (Rivian, ???)\"]\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: \"I think this is a huge opportunity. Rivian makes cars for adventures. They're like the Patagonia of cars. They're able to hone their cars not by significant hardware but by software to really seduce their audience.\"\n        })]\n      })]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"The motors and batteries of EVs are going to become trivial to acquire. The starting cost for starting an EV company is also going to plummet. Now that chargers are becoming mainstream (thanks to the Biden infrastructure bill) in a few years (when battery prices fall further) there is nothing to stop someone from starting an EV company for all sorts of niches.\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Another important fact is that range anxiety is going away \u2014 people are fine with cars being around 250 mile range. It means yet another differentiator is commoditized: no one is going to make a 1,000 mile EV until \", /*#__PURE__*/_jsx(\"em\", {\n        children: \"anyone\"\n      }), \" can. It's physics! \"]\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: \"Niche to win?\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"I think it's possible we see all sorts of Rivian-esque companies. For example a lot of my parent friends love minivans \u2014 a minivan EV company could do incredible software to make a family friendly minivan. Imagine a minivan with 300 mile range, sliding doors, 3 row (accessible) seating, and a stack of software specifically for families:\"\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Ability to view into rear facing car seats\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Thoughtful kids entertainment\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Whitenoise machines in seats\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Vertically integrated car seats that connect with the car for safety and occupancy enhancements\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"etc!\"\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"None of this is limited by the EV chassis, it's all pretty straight forward software. It's inevitable that the major manufacturers will eventually release a minivan, but with software a startup could really compete and families would have to pick between a Honda Minivan EV or a 20% more expensive incredible startup minivan EV.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Why couldn't this kind of startup exist for all sorts of other functional use cases? Camper vans. Delivery vans. How about an EV that helps people learn to drive and has a marketplace but into it that helps you sell it on in 3 years? Or vans for tradesmen? Don't even get me started about creating a wagon EV\u2026\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Ultimately, EVs may well live or die not by their performance, price or even brand \u2014 but by their packaging. You've got a 300 mile EV with dual motors, how are you going to wrap that in a bow of software and brand marketing to appeal to a niche?\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    })]\n  }),\n  gyvk4fRDw: {\n    alt: \"\",\n    src: new URL(\"https://framerusercontent.com/images/Csazkj9uAHKWjXzbS5tmT55d3NE.jpeg\").href,\n    srcSet: `${new URL(\"https://framerusercontent.com/images/Csazkj9uAHKWjXzbS5tmT55d3NE.jpeg?scale-down-to=512\").href} 512w, ${new URL(\"https://framerusercontent.com/images/Csazkj9uAHKWjXzbS5tmT55d3NE.jpeg?scale-down-to=1024\").href} 1024w, ${new URL(\"https://framerusercontent.com/images/Csazkj9uAHKWjXzbS5tmT55d3NE.jpeg?scale-down-to=2048\").href} 2048w, ${new URL(\"https://framerusercontent.com/images/Csazkj9uAHKWjXzbS5tmT55d3NE.jpeg\").href} 3024w`\n  },\n  id: \"rp2thhccS\",\n  mUa9UeUpU: \"vIDsQFdxM\",\n  s4O2QP5sc: \"2023-06-30T00:00:00.000Z\",\n  wFhChraZH: \"electric-vehicles-fascinate-me\"\n}, {\n  AGpvmUG4l: \"How I learned to love blogging\",\n  FljDKOJbC: /*#__PURE__*/_jsxs(React.Fragment, {\n    children: [/*#__PURE__*/_jsx(\"p\", {\n      children: \"I love to write, and I love to ramble about products. But I would always get massive fatigue because I felt like I was simply throwing words into the void. I'd write a blog post and then see that 4 people read it. Not super inspiring. \"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"I think because of my work I felt the need to be data driven about my writing too. With my new site, I simply do not track anything. I have no idea if anyone reads this! I'm merely writing because I want these words to exist, and also because I want a canonical reference of my thoughts that I can share with people when relevant. \"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"I am endlessly frustrated that I didn't save my blogs from over the years, but I am reminded of my favourite quote:\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"em\", {\n        children: \"The best time to plant a tree was ten years ago, the second best time is today.\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Here's to you, void!\"\n    })]\n  }),\n  gyvk4fRDw: {\n    alt: \"\",\n    src: new URL(\"https://framerusercontent.com/images/vcSsAiw2voc8XZvdp5HYt883g4.png\").href,\n    srcSet: `${new URL(\"https://framerusercontent.com/images/vcSsAiw2voc8XZvdp5HYt883g4.png?scale-down-to=512\").href} 512w, ${new URL(\"https://framerusercontent.com/images/vcSsAiw2voc8XZvdp5HYt883g4.png?scale-down-to=1024\").href} 1024w, ${new URL(\"https://framerusercontent.com/images/vcSsAiw2voc8XZvdp5HYt883g4.png\").href} 1154w`\n  },\n  id: \"xPTg3rVqD\",\n  mUa9UeUpU: \"vIDsQFdxM\",\n  s4O2QP5sc: \"2023-06-08T00:00:00.000Z\",\n  wFhChraZH: \"how-i-learned-to-love-blogging\"\n}, {\n  AGpvmUG4l: \"June 23 Setup\",\n  FljDKOJbC: /*#__PURE__*/_jsxs(React.Fragment, {\n    children: [/*#__PURE__*/_jsx(\"p\", {\n      children: \"Over the years, my computer setup has alternated between maximalist and minimalist, and right now it's probably squarely in between.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: ['I previously had an Intel 27\" iMac and a MacBook Air. I loved the 5K screen but hated having two computers, I would eternally find that the thing I was doing was on the ', /*#__PURE__*/_jsx(\"em\", {\n        children: \"other\"\n      }), \" computer, or that various settings were inconsistent. It felt like I was endlessly configuring apps. I also found that I rarely used my MacBook Air such that whenever I wanted to actually use it, the battery was dead!\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: 'I decided to consolidate and buy a 14\" MacBook Pro and an Apple 5K screen.'\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"I am probably the only person ever to buy the VESA Apple 5K screen, and I have it mounted to a very nice dual monitor VESA arm (obviously I now need a single arm mount, but they're expensive and I do not see the need to get rid of such a large piece of metal that no one else will want.)\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"I hate cables but also hate wifi internet, so decided rather than having a power dongle, an ethernet dongle, etc, I'd just buy a dock. Shockingly, it's really hard to find a Thunderbolt dock that works with the Apple 5K display due to bandwidth limitations, so I ended up buying a preowned \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.amazon.com/gp/product/B09GK8LBWS/ref=ppx_yo_dt_b_search_asin_image?ie=UTF8&psc=1\",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"CalDigit TS4\"\n        })\n      }), \". \"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"This hub is amazing \u2014 it even has 2.5GE ethernet \u2014 but it's ridiculously expensive, $400! I found a used one for $250 and that was just about tolerable. This dock means that I can connect everything to the hub, and then have one simple wire to my MacBook Pro. \"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"I am also probably the only person in the world that dislikes dual monitors, so I leave my MacBook Pro in clamshell mode. I wish I could put it somewhere I cannot see, but alas I have no ideas about how to accomplish that. Maybe I can 3d print an attachment for my monitor arm that holds it, somehow\u2026\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"To avoid RSI I regularly swap keyboard sizes \u2014 I have a selection of mechanical keyboards, but right now I am using an Apple keyboard because it's wireless and I've been too lazy to figure out wiring. \"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"I have a \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.logitech.com/en-us/products/mice/mx-vertical-ergonomic-mouse.910-005447.html\",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Logitech MX Vertical\"\n        })\n      }), \" mouse which is, in my opinion, the best computer office mouse you can buy:\"]\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Bluetooth so no weird dongle\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"USB-C Charges\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Good ergonomics.\"\n        })\n      })]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"For headphones, I use the \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.apple.com/airpods-max/\",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Apple AirPods Max\"\n        })\n      }), \" which are great but holy smokes they need a charging dock.\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"I have an old Dyson lamp and a Ninja FX mouse pad. \"\n    })]\n  }),\n  gyvk4fRDw: {\n    alt: \"\",\n    src: new URL(\"https://framerusercontent.com/images/fXw4EbWaSnqJgPC8PJjje6zD4nQ.jpeg\").href,\n    srcSet: `${new URL(\"https://framerusercontent.com/images/fXw4EbWaSnqJgPC8PJjje6zD4nQ.jpeg?scale-down-to=512\").href} 512w, ${new URL(\"https://framerusercontent.com/images/fXw4EbWaSnqJgPC8PJjje6zD4nQ.jpeg?scale-down-to=1024\").href} 1024w, ${new URL(\"https://framerusercontent.com/images/fXw4EbWaSnqJgPC8PJjje6zD4nQ.jpeg?scale-down-to=2048\").href} 2048w, ${new URL(\"https://framerusercontent.com/images/fXw4EbWaSnqJgPC8PJjje6zD4nQ.jpeg\").href} 4032w`\n  },\n  id: \"l85nRdZ87\",\n  mUa9UeUpU: \"BarXeCtmP\",\n  s4O2QP5sc: \"2023-06-16T00:00:00.000Z\",\n  wFhChraZH: \"june-23-setup\"\n}, {\n  AGpvmUG4l: \"The best mug(s)\",\n  FljDKOJbC: /*#__PURE__*/_jsxs(React.Fragment, {\n    children: [/*#__PURE__*/_jsx(\"p\", {\n      children: \"I drink a moderate amount of tea. Perhaps three cups per day. Like an insane person I have something of a schedule for tea:\"\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Early morning, I want the biggest cup possible\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Mid day, I want a regular cup\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Noon, I want a small cup.\"\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,hxe07EUBmaPgoALJBVyLPAvFdw.webp\",\n      \"data-framer-height\": \"1600\",\n      \"data-framer-width\": \"1600\",\n      height: \"800\",\n      src: new URL(\"https://framerusercontent.com/images/hxe07EUBmaPgoALJBVyLPAvFdw.webp\").href,\n      style: {\n        aspectRatio: \"1600 / 1600\"\n      },\n      width: \"800\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Working backwards, I have found the East Fork mug to be the \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.eastfork.com/products/east-fork-mug\",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"best small mug\"\n        })\n      }), \". It's about 10oz, which is tiny! It's a beautiful mug and East Fork is a splendid company. This is actually the singular gift I give to people.\"]\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,eJKYGn6ELpPMAA4UMA27WjQCs.jpg\",\n      \"data-framer-height\": \"790\",\n      \"data-framer-width\": \"800\",\n      height: \"395\",\n      src: new URL(\"https://framerusercontent.com/images/eJKYGn6ELpPMAA4UMA27WjQCs.jpg\").href,\n      style: {\n        aspectRatio: \"800 / 790\"\n      },\n      width: \"400\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"I find \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.greenergrassdesign.com/hasami-porcelain-mug-set-of-2-natural-15-oz-3-1-3-x-4-1-8-hp021/?gclid=CjwKCAjwkLCkBhA9EiwAka9QRmvMTipBZm_7NXOf0m9WU8LbyZrQIHZr5MhCYKBdeU-55zrj73YLzxoCODEQAvD_BwE\",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Hasami mugs\"\n        })\n      }), ' to be the perfect average mug. It\\'s about 14oz. I have a collection of both \"raw\" ceramic and treated ceramic ones, and I really like the raw affect. Hasami also make all of my flatware.']\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,wdl9wtW2hJsZAEV66bjj4s0QL7Q.png\",\n      \"data-framer-height\": \"2206\",\n      \"data-framer-width\": \"2284\",\n      height: \"1103\",\n      src: new URL(\"https://framerusercontent.com/images/wdl9wtW2hJsZAEV66bjj4s0QL7Q.png\").href,\n      style: {\n        aspectRatio: \"2284 / 2206\"\n      },\n      width: \"1142\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"I have found that \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://lail.design/products/classic-mug\",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Lail mugs\"\n        })\n      }), \" are the ideal large mug. They're a generous 16oz. The thing I really like about them is that they have \", /*#__PURE__*/_jsx(\"em\", {\n        children: \"heft\"\n      }), \". \"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"In general, I find mugs \", /*#__PURE__*/_jsx(\"em\", {\n        children: \"too small\"\n      }), \"! For example I could never purely have East Fork mugs since 12oz is just an absurdly small amount of liquid. I treat mugs and most other home accessories as very utilitarian \u2014 I want them to work really really well, and I just can't make a really small mug work well. \"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    })]\n  }),\n  gyvk4fRDw: {\n    alt: \"\",\n    src: new URL(\"https://framerusercontent.com/images/VnQphxIJk7oRAlQQKa443SoyZo.webp\").href\n  },\n  id: \"HIQIsPdkN\",\n  mUa9UeUpU: \"M6unzFZLk\",\n  s4O2QP5sc: \"2023-06-01T00:00:00.000Z\",\n  wFhChraZH: \"the-best-mug(s)\"\n}, {\n  AGpvmUG4l: \"sssssuss(t)udio\",\n  FljDKOJbC: /*#__PURE__*/_jsxs(React.Fragment, {\n    children: [/*#__PURE__*/_jsx(\"p\", {\n      children: \"I recently outgrew my office and since I work from home, having an office is very important to me \u2014 I decided to build a studio office in my yard. (since I had ran out of other rooms)\"\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,ZwVFSp0ilAH7HhWwujBfQOYrY.jpeg\",\n      \"data-framer-height\": \"2953\",\n      \"data-framer-width\": \"2640\",\n      height: \"1476\",\n      src: new URL(\"https://framerusercontent.com/images/ZwVFSp0ilAH7HhWwujBfQOYrY.jpeg\").href,\n      style: {\n        aspectRatio: \"2640 / 2953\"\n      },\n      width: \"1320\"\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,35psQn4yMMkOwCGOXVFTH379ocA.jpeg\",\n      \"data-framer-height\": \"3024\",\n      \"data-framer-width\": \"4032\",\n      height: \"1512\",\n      src: new URL(\"https://framerusercontent.com/images/35psQn4yMMkOwCGOXVFTH379ocA.jpeg\").href,\n      style: {\n        aspectRatio: \"4032 / 3024\"\n      },\n      width: \"2016\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: 'I bought a 12x10 modern studio from Tuff Shed and they were able to install it in a matter of weeks. These sheds are approx $12k which seems fairly reasonable for an entire room, but are not \"finished\" \u2014 they had no electricity or insulation, not even walls. (they do have windows and doors!)'\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: \"Electrical\"\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,mISeUOgJgm8HIeVScd2xPyGFpng.jpeg\",\n      \"data-framer-height\": \"1477\",\n      \"data-framer-width\": \"1291\",\n      height: \"738\",\n      src: new URL(\"https://framerusercontent.com/images/mISeUOgJgm8HIeVScd2xPyGFpng.jpeg\").href,\n      style: {\n        aspectRatio: \"1291 / 1477\"\n      },\n      width: \"645\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"I had an electrical contractor spend a few days running electricity to the studio. He installed a 60amp sub panel in the studio and then ran separate circuits for:\"\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Lights (overhead and exterior)\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Outlets\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Air Conditioner outlet\"\n        })\n      })]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"I have always loved the idea of having fancy outlets \u2014 ones with USB-C chargers in them \u2014 and while they're easy to swap out, I was delighted to be able to start from day 1 with all outlets \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.amazon.com/Leviton-T5635-W-Delivery-Charger-Tamper-Resistant/dp/B07PTWG5DV/ref=asc_df_B07PTWG5DV/?tag=hyprod-20&linkCode=df0&hvadid=343187910376&hvpos=&hvnetw=g&hvrand=5607621030169196004&hvpone=&hvptwo=&hvqmt=&hvdev=c&hvdvcmdl=&hvlocint=&hvlocphy=9033337&hvtargid=pla-740805861493&psc=1&tag=&ref=&adgrpid=69721953515&hvpone=&hvptwo=&hvadid=343187910376&hvpos=&hvnetw=g&hvrand=5607621030169196004&hvqmt=&hvdev=c&hvdvcmdl=&hvlocint=&hvlocphy=9033337&hvtargid=pla-740805861493\",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"being ones with USB-C\"\n        })\n      }), \". These are particularly impressive outlets as they support Power Delivery, so you can actually charge your MacBook or iPhone at a very fast rate.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Similarly for the light switches, I used \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.amazon.com/Lutron-Wireless-Lighting-PD-6WCL-WH-Assistant/dp/B00KLAXFQA/ref=asc_df_B00KLAXFQA/?tag=hyprod-20&linkCode=df0&hvadid=167139094796&hvpos=&hvnetw=g&hvrand=5130531343323678019&hvpone=&hvptwo=&hvqmt=&hvdev=c&hvdvcmdl=&hvlocint=&hvlocphy=9033337&hvtargid=pla-362661918647&psc=1\",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Lutron Caseta\"\n        })\n      }), \" \u2014 which are what I use almost everywhere else (again, a matter of swapping out almost new dumb switches for these fancy switches, such a waste!)\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Given the studio is only 120sq feet, it seemed incredibly excessive and expensive to have a legitimate mini split installed \u2014 it would have cost a meaningful percentage of the studio build, probably in excessive of $3k \u2014 so I opted instead to buy a portable unit. \"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Because I wanted the studio to have a ton of ambient indirect lighting, I opted for no large openable windows and instead surround smaller windows. It means the room gets awesome light but unfortunately means there is no way to use either a window unit or a vent a portable unit. In hindsight, I probably would have installed one openable window to solve this.\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: ['Instead, I simply drilled a 6\" hole through the wall, connected a ', /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.amazon.com/gp/product/B078RM2CX7/ref=ppx_yo_dt_b_search_asin_image?ie=UTF8&psc=1\",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"vent\"\n        })\n      }), \" on the exterior and somewhat crazily, someone on \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.etsy.com/listing/1384546229/6-inch-tube-portable-ac-air?ref=yr_purchases\",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"etsy sold 3d printed wall vent connectors\"\n        })\n      }), \" that you can use to connect a portable AC unit through the wall.\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: \"Drywall & Insulation\"\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,EdNagywvMcL2UzSG5qUhZ9yfA6c.jpeg\",\n      \"data-framer-height\": \"1912\",\n      \"data-framer-width\": \"2524\",\n      height: \"956\",\n      src: new URL(\"https://framerusercontent.com/images/EdNagywvMcL2UzSG5qUhZ9yfA6c.jpeg\").href,\n      style: {\n        aspectRatio: \"2524 / 1912\"\n      },\n      width: \"1262\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Next, I had a contractor install insulation and drywall. This was fairly straightforward but probably not a job you'll do yourself unless you have experience \u2014 it's exhausting and messy work! I also had the walls taped (to hide seams) and mudded and painted. \"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"One thing I didn't realize was that you had to drywall around windows, and I had a lot of little windows, this added to the cost and time. In hindsight instead of having so many little windows, I could have gotten the larger windows and saved some money. (the little windows have slightly more cumulative window than the larger ones)\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: \"Data & Networking\"\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,zlfvy9EQvgGv3FlUm0tDBewYAZc.jpeg\",\n      \"data-framer-height\": \"2366\",\n      \"data-framer-width\": \"2980\",\n      height: \"1183\",\n      src: new URL(\"https://framerusercontent.com/images/zlfvy9EQvgGv3FlUm0tDBewYAZc.jpeg\").href,\n      style: {\n        aspectRatio: \"2980 / 2366\"\n      },\n      width: \"1490\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"I wanted to continue my vision of having a comically excessive home network, so I had fiber ran from my home network rack into my studio. I had my friends at \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://hi-tek.group\",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Hi-Tek\"\n        })\n      }), \" do this for me.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"I was then able to use SFP connectors to join my home network rack to my studio rack. I have a \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://store.ui.com/us/en/collections/unifi-switching-pro-power-over-ethernet/products/usw-pro-48-poe\",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Unifi 48-Pro-POE\"\n        })\n      }), \" in my main rack and my studio has a \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://store.ui.com/us/en/collections/unifi-switching-pro-power-over-ethernet/products/usw-pro-24-poe\",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Unifi 28-Pro-POE\"\n        })\n      }), \" (which was my main switch before.)\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"The reason I had to use the Pro switches was because of the SFP. The distance between racks is over 300 feet, so it's too long for ethernet. I believe there are cheaper switches with SFP but I wanted the option for 10GE Fiber since I run a lot of cameras and didn't want to be bandwidth constrained. \"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Inside of the studio I installed a simple (white!) \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.amazon.com/gp/product/B016Q89X3Y/ref=ppx_yo_dt_b_search_asin_image?ie=UTF8&psc=1\",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"networking rack\"\n        })\n      }), \", a small \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.amazon.com/gp/product/B000XJJN60/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&psc=1\",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"UPS\"\n        })\n      }), \", and a patch panel. I had 4 runs of Cat6 ethernet ran to where my desks would be, and a single run ran to the ceiling for a \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://store.ui.com/us/en/products/uap-nanohd\",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Unifi NanoHD Wifi hotspot\"\n        })\n      }), \". \"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"I ran these cables in conduit, so that in the future I can swap out the cables or whatever if required, but hopefully its never used.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: \"Ventilation\"\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,6dVdix5LFirkjmcfzIpcHxV7jcc.jpeg\",\n      \"data-framer-height\": \"1712\",\n      \"data-framer-width\": \"2261\",\n      height: \"856\",\n      src: new URL(\"https://framerusercontent.com/images/6dVdix5LFirkjmcfzIpcHxV7jcc.jpeg\").href,\n      style: {\n        aspectRatio: \"2261 / 1712\"\n      },\n      width: \"1130\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"At this point, the studio was painted and \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.homedepot.com/p/Lifeproof-Shenandoah-Oak-0-27-in-T-x-6-5-in-W-x-48-03-in-L-Waterproof-Engineered-Hardwood-Flooring-21-7-sq-ft-Case-VTWHDSHEO6-5X48/314745855\",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"cheap laminate flooring\"\n        })\n      }), \" installed, and voila \u2014 the studio was done!\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: ['\u2026 Except I had neglected to think about ventilation. In fact, I had thought about ventilation and thought simply installing two 6\" vents on either side of the studio would be sufficient. I actually thought this would be ', /*#__PURE__*/_jsx(\"em\", {\n        children: \"too much\"\n      }), \" ventilation. \"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"But it turns out humans emit a lot of CO2, and the CO2 levels in the studio became stuffy remarkably fast. I first attempted to fix this \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.amazon.com/gp/product/B07C39RQ37/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&psc=1\",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"with a wall fan\"\n        })\n      }), \" \u2014 simply circulate the air \u2014 but it didn't make any impact. I then attempted to fix it by installing \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.amazon.com/gp/product/B0BGFBKYBT/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&psc=1\",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: 'a 6\" extractor'\n        })\n      }), ' over the existing 6\" vent. ']\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"This moved 142 CFM of air so in theory should be sufficient, but I think even this is unable to move sufficient air when humans are emitting CO2 (which is always, obviously) \u2014 and because the fan (pushing air around) was next to the extractor (pushing air out) I think the two counteracted each other slightly.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"At this point I was a little stumped, it turns out this is a fundamental problem for small enclosed rooms. It's hard to introduce similar ventilation to that of either a large house or a wide open door. \"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"I decided to the install a \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.amazon.com/gp/product/B0002YTNB6/ref=ppx_yo_dt_b_search_asin_image?ie=UTF8&psc=1\",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: 'big boy 8\" '\n        })\n      }), \"extractor fan. This really pulls air, and I've found placing it on a timer switch and cracking the door lets the air circulate super fast.  I've found that when CO2 levels are over 1500, if you turn the fan on for 20 minutes and crack the door it'll totally exhaust the CO2 (presumably by recirculating the air entirely.)\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"It also has a secondary benefit of acting as a whole studio fan \u2014 when the studio is warmer than the air outside, you can use it to vent the air and pull in cooler air.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: \"Wrap up\"\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,fXw4EbWaSnqJgPC8PJjje6zD4nQ.jpeg\",\n      \"data-framer-height\": \"4032\",\n      \"data-framer-width\": \"3024\",\n      height: \"2016\",\n      src: new URL(\"https://framerusercontent.com/images/fXw4EbWaSnqJgPC8PJjje6zD4nQ.jpeg\").href,\n      style: {\n        aspectRatio: \"3024 / 4032\"\n      },\n      width: \"1512\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Ventilation aside, I am really impressed with this project. The studio is a delightful space that makes me feel productive. It's nice to both be working from home but also not quite \", /*#__PURE__*/_jsx(\"em\", {\n        children: \"at home\"\n      }), \". \"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    })]\n  }),\n  gyvk4fRDw: {\n    alt: \"Still very much a work in progress\",\n    src: new URL(\"https://framerusercontent.com/images/nlT6LaG5qJtQfVxwA1oFhlXvU.jpeg\").href,\n    srcSet: `${new URL(\"https://framerusercontent.com/images/nlT6LaG5qJtQfVxwA1oFhlXvU.jpeg?scale-down-to=512\").href} 512w, ${new URL(\"https://framerusercontent.com/images/nlT6LaG5qJtQfVxwA1oFhlXvU.jpeg?scale-down-to=1024\").href} 1024w, ${new URL(\"https://framerusercontent.com/images/nlT6LaG5qJtQfVxwA1oFhlXvU.jpeg?scale-down-to=2048\").href} 2048w, ${new URL(\"https://framerusercontent.com/images/nlT6LaG5qJtQfVxwA1oFhlXvU.jpeg\").href} 3024w`\n  },\n  id: \"yCSlq7vM_\",\n  mUa9UeUpU: \"vIDsQFdxM\",\n  s4O2QP5sc: \"2023-06-16T00:00:00.000Z\",\n  wFhChraZH: \"creating-a-home-studio\"\n}];\ndata.forEach(item => Object.freeze(item));\naddPropertyControls(data, {\n  AGpvmUG4l: {\n    defaultValue: \"\",\n    title: \"Title\",\n    type: ControlType.String\n  },\n  wFhChraZH: {\n    title: \"Slug\",\n    type: ControlType.String\n  },\n  s4O2QP5sc: {\n    defaultValue: \"\",\n    title: \"Date\",\n    type: ControlType.Date\n  },\n  gyvk4fRDw: {\n    title: \"Image\",\n    type: ControlType.ResponsiveImage\n  },\n  mUa9UeUpU: {\n    defaultValue: \"vIDsQFdxM\",\n    options: [\"vIDsQFdxM\", \"M6unzFZLk\", \"BarXeCtmP\"],\n    optionTitles: [\"Writing\", \"Product\", \"Setup\"],\n    title: \"Category\",\n    type: ControlType.Enum\n  },\n  FljDKOJbC: {\n    defaultValue: \"\",\n    title: \"Content\",\n    type: ControlType.RichText\n  }\n});\ndata[\"displayName\"] = \"Blog\";\nexport default data;\nexport const mUa9UeUpUToDisplayName = value => {\n  switch (value) {\n    case \"vIDsQFdxM\":\n      return \"Writing\";\n    case \"M6unzFZLk\":\n      return \"Product\";\n    case \"BarXeCtmP\":\n      return \"Setup\";\n    default:\n      return \"\";\n  }\n};\nexport const __FramerMetadata__ = {\n  \"exports\": {\n    \"mUa9UeUpUToDisplayName\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"default\": {\n      \"type\": \"data\",\n      \"name\": \"data\",\n      \"annotations\": {\n        \"framerData\": \"\",\n        \"framerEnumToDisplayNameUtils\": \"1\",\n        \"framerSlug\": \"wFhChraZH\",\n        \"framerContractVersion\": \"1\",\n        \"framerRecordIdKey\": \"id\"\n      }\n    },\n    \"__FramerMetadata__\": {\n      \"type\": \"variable\"\n    }\n  }\n};"],
  "mappings": "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",
  "names": ["data", "u", "x", "p", "Link", "item", "addPropertyControls", "ControlType", "BIJXliaL5_default", "mUa9UeUpUToDisplayName", "value", "__FramerMetadata__"]
}
