{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/7YaPAqKwAGk6P2wZNU0z/a4CtJeLYZhv5QWKN3Ju6/BuyTrafJy.js"],
  "sourcesContent": ["import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { addPropertyControls, ComponentPresetsConsumer, ControlType, Link } from \"framer\";\nimport { motion } from \"framer-motion\";\nimport * as React from \"react\";\nimport { Youtube as YouTube } from \"https://framerusercontent.com/modules/NEd4VmDdsxM3StIUbddO/bZxrMUxBPAhoXlARkK9C/YouTube.js\"; /**\n                                                                                                                                 * @framerRecordIdKey id\n                                                                                                                                 * @framerSlug vMf8RK1by\n                                                                                                                                 * @framerEnumToDisplayNameUtils 1\n                                                                                                                                 * @framerData\n                                                                                                                                 */\nconst data = [{\n  b4o5rKqBi: {\n    src: new URL(\"https://framerusercontent.com/images/Qo7Sk1DUFwG89fxxWWFfzZQMAU.jpg\").href,\n    srcSet: `${new URL(\"https://framerusercontent.com/images/Qo7Sk1DUFwG89fxxWWFfzZQMAU.jpg?scale-down-to=512\").href} 512w, ${new URL(\"https://framerusercontent.com/images/Qo7Sk1DUFwG89fxxWWFfzZQMAU.jpg?scale-down-to=1024\").href} 1024w, ${new URL(\"https://framerusercontent.com/images/Qo7Sk1DUFwG89fxxWWFfzZQMAU.jpg\").href} 1677w`\n  },\n  Dw0p_agKH: \"AWE USA 2023\",\n  id: \"OGQ_Q58Ku\",\n  lBifBEMBD: \"2023-05-31T00:00:00.000Z\",\n  NgnBKSllU: /*#__PURE__*/_jsxs(React.Fragment, {\n    children: [/*#__PURE__*/_jsx(\"p\", {\n      children: \"AWE 2023 starts out with holo-Ori powered by ChatGPT and the real Ori Inbar reading off ChatGPT script talking to each other.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"video\", {\n      autoPlay: true,\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,zoRwJ4A5tVOrNce0v3Pvk41E.mp4\",\n      loop: true,\n      muted: true,\n      playsInline: true,\n      src: new URL(\"https://framerusercontent.com/modules/assets/zoRwJ4A5tVOrNce0v3Pvk41E~Aw64FHBHh_bLE0pdrOqB0co1cSzyWzrw3IBWdEJWrwU.mp4\").href\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__*/_jsxs(\"p\", {\n      children: [\"Demo of \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://t.co/6G0h3DjPLn\",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"http://mixed.world\"\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"video\", {\n      autoPlay: true,\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,NHBEQYiFiE3B50dKgJ7Rc6K0lA.mp4\",\n      loop: true,\n      muted: true,\n      playsInline: true,\n      src: new URL(\"https://framerusercontent.com/modules/assets/NHBEQYiFiE3B50dKgJ7Rc6K0lA~YcgxBv9TwtbrEDImY_Vtl-7ePmd5tgYJGBAwLNjeNcs.mp4\").href\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: \"I noticed free coffee just outside of the Santa Clara Convention Center and bam! I get AR experience launched from the QR code printed on the cup that runs on the Safari browser.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"video\", {\n      autoPlay: true,\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,QYS6jDFl7YZjTXHTAe9gaa9jjQ.mp4\",\n      loop: true,\n      muted: true,\n      playsInline: true,\n      src: new URL(\"https://framerusercontent.com/modules/assets/QYS6jDFl7YZjTXHTAe9gaa9jjQ~CxuzUjhAhxBIEwwrg1wDLCaO1lLkc-YuZFt_2aNxUlc.mp4\").href\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: \"Lenovo ThinkReality VRX hands on. You can often run into a company rep just hanging out in the lounge area and get personal experience outside of their booth!\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"video\", {\n      autoPlay: true,\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,YdKCTLxIwGwD89aFsWw7e0cRGE.mp4\",\n      loop: true,\n      muted: true,\n      playsInline: true,\n      src: new URL(\"https://framerusercontent.com/modules/assets/YdKCTLxIwGwD89aFsWw7e0cRGE~TQGIaYtUPeR7VO3Z_rUQdt4VWc9gsa_HweILnhV1I-8.mp4\").href\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: \"Lenovo ThinkReality A3 hands on. The FOV is more rectangle compared to the square shape of Spectacle.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"video\", {\n      autoPlay: true,\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,E5KNw9udp9FpLJjBQ6VcPzU28.mp4\",\n      loop: true,\n      muted: true,\n      playsInline: true,\n      src: new URL(\"https://framerusercontent.com/modules/assets/E5KNw9udp9FpLJjBQ6VcPzU28~TWzJ7DQIO0jrCwval1kAm8zrlO7u16wXUA0Z_sl9xv4.mp4\").href\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: \"Makings digital twins of your building interior but you are the one wearing the LiDAR devices and walking around\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,N9wIzUZsWFyxdjKqPrZCOMa4k.jpeg\",\n      \"data-framer-height\": \"2016\",\n      \"data-framer-width\": \"1512\",\n      height: \"1008\",\n      src: new URL(\"https://framerusercontent.com/images/N9wIzUZsWFyxdjKqPrZCOMa4k.jpeg\").href,\n      style: {\n        aspectRatio: \"1512 / 2016\"\n      },\n      width: \"756\"\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__*/_jsxs(\"p\", {\n      children: [\"My personal \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://twitter.com/hashtag/AWE2023?src=hashtag_click\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"#AWE2023\"\n        })\n      }), \" award goes to \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://twitter.com/XREAL_Global\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"@XREAL_Global\"\n        })\n      }), \" for building \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://twitter.com/hashtag/XREALAir?src=hashtag_click\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"XREAL Air\"\n        })\n      }), \", the most practical AR/Smart glasses in the current market. I just pre-ordered \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://twitter.com/hashtag/XREALAir?src=hashtag_click\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"XREAL Air\"\n        })\n      }), \" and \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://twitter.com/hashtag/XREALBeam?src=hashtag_click\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"XREAL Beam\"\n        })\n      }), \" bundles from their website.\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"video\", {\n      autoPlay: true,\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,nJClNGMzJUlNOnla0oWID4dzkt8.mp4\",\n      loop: true,\n      muted: true,\n      playsInline: true,\n      src: new URL(\"https://framerusercontent.com/modules/assets/nJClNGMzJUlNOnla0oWID4dzkt8~LtsmML-RxVHUrDkjUgTj2C_FxSzpdaJcqBFdxef_86M.mp4\").href\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    })]\n  }),\n  rAyZbCQBK: \"I recently attended AWE USA 2023 in Santa Clara, CA, to get a pulse on the evolving landscape of the XR industry. Compared to CES 2023, AWE provided a more focused experience. With more vendors and spacious areas for demos, it offered rich insights into the latest XR innovations. If you're keen on the XR space, I highly recommend attending next year.\",\n  vMf8RK1by: \"awe-usa-2023\"\n}, {\n  b4o5rKqBi: {\n    src: new URL(\"https://framerusercontent.com/images/iCvpcQiHYQWE9VOGHh8fkYnGk.jpg\").href,\n    srcSet: `${new URL(\"https://framerusercontent.com/images/iCvpcQiHYQWE9VOGHh8fkYnGk.jpg?scale-down-to=512\").href} 512w, ${new URL(\"https://framerusercontent.com/images/iCvpcQiHYQWE9VOGHh8fkYnGk.jpg?scale-down-to=1024\").href} 1024w, ${new URL(\"https://framerusercontent.com/images/iCvpcQiHYQWE9VOGHh8fkYnGk.jpg\").href} 1920w`\n  },\n  Dw0p_agKH: \"Beyond the Gloss \u2014 Why 'Complete' Doesn't Always Mean 'Valuable'\",\n  id: \"m9Ir3WMfD\",\n  lBifBEMBD: \"2023-04-01T00:00:00.000Z\",\n  NgnBKSllU: /*#__PURE__*/_jsxs(React.Fragment, {\n    children: [/*#__PURE__*/_jsx(\"h3\", {\n      children: \"The Illusion of Completeness\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Let's face it: stakeholders and clients love to see progress. A completed feature, looking and functioning exactly like it's supposed to, gives a sense of accomplishment. It suggests we're a step closer to launching a successful product. But this assurance is only surface deep if the feature hasn't yet been proven valuable to users. And while a well-implemented feature might check all the technical and aesthetic boxes, it's crucial to go beyond that. The key metric isn't just completion\u2014it's validation.\"\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: \"The Reality of Value-Driven Development\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"In an ideal scenario, every feature we're tasked with developing would already have proven its worth. But the reality of product development is far more exploratory. The process isn't just about building; it's about discovering what the user actually wants and needs. No matter how robust or aesthetically pleasing a feature is, if it doesn't resonate with the users, it might as well not exist. Being willing to \\\"kill your darlings\\\" is essential if they don't add value to the user experience.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: \"The ROI of Purpose over Perfection\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"When developing a feature, the primary focus should always be on its core purpose\u2014why it exists in the first place. When we shift our focus from merely 'how' a feature should be implemented to 'why' it should even exist, we are more likely to allocate resources efficiently. This approach optimizes the Return on Investment (ROI) as it aligns the development effort directly with delivering value to users. And when a feature does prove its value, both the technical and aesthetic aspects can be refined to perfection, but not before.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: \"Measure Twice, Code Once\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Creating a complete feature may bring instant gratification, but it's a fleeting victory if the feature doesn't add value to the user's experience. It's crucial to consider the 'why' as much as the 'how' during the development process. By focusing on the feature's intrinsic value, you stand a much better chance of delivering a product that not only impresses stakeholders but also genuinely serves the needs of your users.\"\n    })]\n  }),\n  rAyZbCQBK: \"There's something immensely satisfying about demonstrating a \\\"complete\\\" feature to stakeholders and clients\u2014especially one that looks and functions precisely as envisioned. The sense of progress can be palpable, creating an atmosphere of confidence and validation. However, this feeling can sometimes be deceptive. A feature's worth isn't solely determined by how polished or functional it appears; it's about how well it serves the users. So, how do you ensure that your feature isn't just complete but also valuable?\",\n  vMf8RK1by: \"beyond-the-gloss-why-complete-doesn-t-always-mean-valuable\"\n}, {\n  b4o5rKqBi: {\n    src: new URL(\"https://framerusercontent.com/images/SkDByA1zenMN3OVlQfVERTwVWF8.jpg\").href,\n    srcSet: `${new URL(\"https://framerusercontent.com/images/SkDByA1zenMN3OVlQfVERTwVWF8.jpg?scale-down-to=512\").href} 512w, ${new URL(\"https://framerusercontent.com/images/SkDByA1zenMN3OVlQfVERTwVWF8.jpg?scale-down-to=1024\").href} 1024w, ${new URL(\"https://framerusercontent.com/images/SkDByA1zenMN3OVlQfVERTwVWF8.jpg\").href} 1920w`\n  },\n  Dw0p_agKH: \"The Fine Line Between Perfection and Practicality: A Guide to Avoiding Premature Optimization in Product Development\",\n  id: \"BQa3WfxU0\",\n  lBifBEMBD: \"2023-03-01T00:00:00.000Z\",\n  NgnBKSllU: /*#__PURE__*/_jsxs(React.Fragment, {\n    children: [/*#__PURE__*/_jsx(\"h3\", {\n      children: \"The Uncertain Value of High-Fidelity Mockups\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"High-fidelity mockups and UX research are invaluable tools in product development. They allow us to predict how a feature will be received and identify potential pitfalls before the actual build-out begins. However, even the best mockups aren't a guarantee. The value of any given feature is still not set in stone until real users interact with it post-deployment. Hence, while it's smart to invest in UX research, it's equally crucial to avoid overcommitting resources to a feature whose real-world usefulness is still an open question.\"\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: \"Quality vs. Speed: Striking a Middle Ground\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Does this mean we should ignore the finer details of a feature's UI or skimp on maintainability? Absolutely not. Quality is not something to be compromised, as it's a critical factor for user adoption and long-term success. Rather, aim for a Minimum Viable Product (MVP) approach. Create a version of the feature that is functional and aligns closely with the user's needs based on your research, but don't get lost in the minutiae. Remember, many successful features go through numerous iterations based on actual user feedback. So, keep it lean at first, and then tweak and polish as needed.\"\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: \"Maintainability: The Unsung Hero\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Here's something that's not negotiable: maintainability. Regardless of how 'minimal' your initial version is, always ensure it's built with scalability and future iterations in mind. Maintainability doesn't just make your life easier down the road; it's also a key factor in staying agile. As user feedback rolls in, you'll find it much less cumbersome to pivot or refine your feature if it's been built with this principle at its core.\"\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: \"Walk Before You Sprint\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"In conclusion, while it's tempting to aim for perfection before deploying a new feature, real-world feedback is the ultimate test of its value. By focusing on a well-researched MVP that balances functionality with maintainability, you're not just playing it safe\"\n    })]\n  }),\n  rAyZbCQBK: \"In the fast-paced world of product development, there's a common trap: premature optimization. We spend hours, days, or even weeks perfecting a feature before it has had any interaction with the end-user. While it's tempting to hand over a polished gem, the reality is, we might be laboring on aspects that don't resonate with the user at all. It's not until a feature is deployed and receives user feedback that we can truly gauge its value. So, how do we strike a balance between releasing a well-implemented feature and avoiding the black hole of premature optimization?\",\n  vMf8RK1by: \"the-fine-line-between-perfection-and-practicality-a-guide-to-avoiding-premature-optimization-in-product-development\"\n}, {\n  b4o5rKqBi: {\n    src: new URL(\"https://framerusercontent.com/images/GhUQyG1S2MuH2mkIKp0C8GNmQ.jpg\").href,\n    srcSet: `${new URL(\"https://framerusercontent.com/images/GhUQyG1S2MuH2mkIKp0C8GNmQ.jpg?scale-down-to=512\").href} 512w, ${new URL(\"https://framerusercontent.com/images/GhUQyG1S2MuH2mkIKp0C8GNmQ.jpg?scale-down-to=1024\").href} 1024w, ${new URL(\"https://framerusercontent.com/images/GhUQyG1S2MuH2mkIKp0C8GNmQ.jpg\").href} 2000w`\n  },\n  Dw0p_agKH: \"Brancher.ai Launch\",\n  id: \"gpNBi_T8F\",\n  lBifBEMBD: \"2023-02-01T00:00:00.000Z\",\n  NgnBKSllU: /*#__PURE__*/_jsxs(React.Fragment, {\n    children: [/*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: \"#1 Next.js\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"For every project, I use \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://twitter.com/nextjs\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"@nextjs\"\n        })\n      }), \" as the full-stack React Framework (React + Node.js) of choice. Having a single stack for FE and BE saves so much time, especially when you pair it up with TypeScript.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"One of the key features of Next.js is flexible rendering options (CSR, SSR, SSG, etc). On the dashboard of \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.brancher.ai\",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"https://www.brancher.ai\"\n        })\n      }), ', we use Client-Side Rendering to load \"something\" visible while data is still fetching.']\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"On the app's landing page where users actually run the app, we use Server-side rendering to cache the page and make it friendly for SEO. In the future, we plan to selectively use Static Site Generation to render popular app pages at the build time.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(Link, {\n        href: \"https://nextjs.org/\",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"https://nextjs.org/\"\n        })\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: \"#2 Vercel\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"The last thing I want is to maintain the reliability of the site, especially since we weren\u2019t sure if it was going to take off. My go-to hosting service is \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://twitter.com/vercel\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"@vercel\"\n        })\n      }), \". The deployment process is easy with GitHub/Bitbucket/etc integrations.\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"We pay for the Pro plan for Vercel, which let us execute back-end code as a serverless function for up to the 60s. Because generative AI services can take up to 20 seconds to respond, having a longer timeout window was crucial.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Combining that with @vercel/og package that executes as the Edge Functions, we are able to dynamically generate a unique Open Graph image for each app when shared online.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(Link, {\n        href: \"https://vercel.com/\",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"https://vercel.com/\"\n        })\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: \"#3 TypeORM\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"When you build MVP, you need to quickly iterate on database models, which affects the back-end and front-end. That is why I chose \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://twitter.com/typeormjs\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"@typeormjs\"\n        })\n      }), \". Using their typed entity model makes it easy to see the impact on code.\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: 'While not recommended post-launch, you can turn on the \"sync\" option in TypeORM to instantly propagate a change from your entity model file to your database (think auto-migration on file save!). During the hackathon, that\u2019s how I saved a lot of time.'\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(Link, {\n        href: \"https://t.co/rjdBVUaf1e\",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"https://typeorm.io\"\n        })\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: \"#4 CloudSQL for PostgreSQL\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Again, I have no time for creating or maintaining a self-hosted DB! Because it is easy to get CloudSQL going at a relatively low cost with the ability to scale instantly, it was a no-brainer for me to go with it.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Here is the secret: I connected to the production instance while developing locally. Why? It doesn\u2019t affect anybody besides us if we break something pre-launch, and you know that everything is going to work when you deploy the app to production!\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(Link, {\n        href: \"https://cloud.google.com/sql\",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"https://cloud.google.com/sql\"\n        })\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: \"#5 Auth0\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Building your own auth system is just painful and not worth your time during the hackathon. \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://twitter.com/auth0\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"@auth0\"\n        })\n      }), \" is my go-to hosted auth service, and there is a handy auth0/nextjs-auth0 package to quickly integrate Auth0 and Next.js together \"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(Link, {\n        href: \"https://auth0.com/\",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"https://auth0.com/\"\n        })\n      })\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: \"#6 Stripe\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"With their React components, \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://twitter.com/stripe\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"@stripe\"\n        })\n      }), \" is a quick and robust way to accept payment right in your web app. We are starting out with a one-time, on-demand purchase of credits. Later, we can easily roll out a subscription model for Pro plan.\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(Link, {\n        href: \"https://stripe.com/\",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"https://stripe.com/\"\n        })\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: \"#7 JavaScript Libraries\"\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(Link, {\n            href: \"https://swr.vercel.app/\",\n            openInNewTab: true,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"vercel/swr\"\n            })\n          }), \": React Hooks for data fetching\"]\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(Link, {\n            href: \"https://www.npmjs.com/package/@2toad/profanity\",\n            openInNewTab: true,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"@2toad/profanity\"\n            })\n          }), \": Replace profanity to make user-generated apps safe for other users\"]\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(Link, {\n            href: \"https://www.npmjs.com/package/color\",\n            openInNewTab: true,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"color\"\n            })\n          }), \": Based on user-defined theme for the app, we detect contrast and render UI differently\"]\n        })\n      })]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"br\", {}), \"... and many more!\"]\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  rAyZbCQBK: \"We officially launched http://www.brancher.ai today on Product Hunt! I wanted to share our tech stack to give insight into how it's built \uD83E\uDDD1\uD83C\uDFFB\u200D\uD83D\uDCBB The key context here is that we only had a week to build the MVP during the AI Hackathon hosted by Ben's Bites Newsletter\",\n  vMf8RK1by: \"brancher-ai-launch\"\n}, {\n  b4o5rKqBi: {\n    src: new URL(\"https://framerusercontent.com/images/Y5vjuWAuSJRiovIeyfy6nN7EQ.jpg\").href,\n    srcSet: `${new URL(\"https://framerusercontent.com/images/Y5vjuWAuSJRiovIeyfy6nN7EQ.jpg?scale-down-to=512\").href} 512w, ${new URL(\"https://framerusercontent.com/images/Y5vjuWAuSJRiovIeyfy6nN7EQ.jpg?scale-down-to=1024\").href} 1024w, ${new URL(\"https://framerusercontent.com/images/Y5vjuWAuSJRiovIeyfy6nN7EQ.jpg\").href} 1686w`\n  },\n  Dw0p_agKH: \"Smell in VR \u2014 OVR Technology's Demo Kit Walkthrough Review\",\n  id: \"Kn767UVb5\",\n  lBifBEMBD: \"2022-09-16T00:00:00.000Z\",\n  NgnBKSllU: /*#__PURE__*/_jsx(React.Fragment, {\n    children: /*#__PURE__*/_jsx(motion.div, {\n      className: \"framer-text-module\",\n      style: {\n        \"--aspect-ratio\": \"560 / 315\",\n        aspectRatio: \"var(--aspect-ratio)\",\n        height: \"auto\",\n        width: \"100%\"\n      },\n      children: /*#__PURE__*/_jsx(ComponentPresetsConsumer, {\n        componentIdentifier: \"module:NEd4VmDdsxM3StIUbddO/bZxrMUxBPAhoXlARkK9C/YouTube.js:Youtube\",\n        children: presetProps => /*#__PURE__*/_jsx(YouTube, {\n          ...presetProps,\n          play: \"Off\",\n          shouldMute: true,\n          thumbnail: \"High Quality\",\n          url: \"https://www.youtube.com/watch?v=dYilOb5lIog\"\n        })\n      })\n    })\n  }),\n  rAyZbCQBK: \"Immerse yourself further into the #VRExperience by getting your nose in it\uD83D\uDC43Check out my full review and in-depth video of OVR Technology\u2019s demo kit \uD83D\uDD79\uFE0F\uD83C\uDF92\",\n  vMf8RK1by: \"smell-in-vr-ovr-technology-s-demo-kit-walkthrough-review\"\n}, {\n  b4o5rKqBi: {\n    src: new URL(\"https://framerusercontent.com/images/RZZW3axtzDDmz1fqRLZZenCvA4.jpg\").href,\n    srcSet: `${new URL(\"https://framerusercontent.com/images/RZZW3axtzDDmz1fqRLZZenCvA4.jpg?scale-down-to=512\").href} 512w, ${new URL(\"https://framerusercontent.com/images/RZZW3axtzDDmz1fqRLZZenCvA4.jpg?scale-down-to=1024\").href} 1024w, ${new URL(\"https://framerusercontent.com/images/RZZW3axtzDDmz1fqRLZZenCvA4.jpg\").href} 1704w`\n  },\n  Dw0p_agKH: \"Create a Digital Twin of a Physical Space Using Only Your Phone, Polycam, & Spatial.io\",\n  id: \"ODqXJz0fq\",\n  lBifBEMBD: \"2022-08-31T00:00:00.000Z\",\n  NgnBKSllU: /*#__PURE__*/_jsx(React.Fragment, {\n    children: /*#__PURE__*/_jsx(motion.div, {\n      className: \"framer-text-module\",\n      style: {\n        \"--aspect-ratio\": \"560 / 315\",\n        aspectRatio: \"var(--aspect-ratio)\",\n        height: \"auto\",\n        width: \"100%\"\n      },\n      children: /*#__PURE__*/_jsx(ComponentPresetsConsumer, {\n        componentIdentifier: \"module:NEd4VmDdsxM3StIUbddO/bZxrMUxBPAhoXlARkK9C/YouTube.js:Youtube\",\n        children: presetProps => /*#__PURE__*/_jsx(YouTube, {\n          ...presetProps,\n          play: \"Off\",\n          shouldMute: true,\n          thumbnail: \"Medium Quality\",\n          url: \"https://www.youtube.com/watch?v=9qq67b0mQTI\"\n        })\n      })\n    })\n  }),\n  rAyZbCQBK: \"The full process to create a digital twin of any space you want in 3 easy steps!\\n\\n1) Download Polycam. Just double-check that your phone has a LiDAR sensor. Then, allow the app to help guide you capture the space directly through your phone camera \uD83D\uDCF1\\n\\n2) Upload the environment onto Spatial.io \uD83D\uDCBB https://spatial.io/\\n\\n3) Walk through with your avatar and invite others to join you! \uD83E\uDD7D\uD83C\uDFD8\uFE0F\uD83C\uDFE2\\n\\nThe ease of making a virtual space that you can walk clients through as a realtor or as a business owner looking to expand your office even when you're not there in person is the future. Try it and let me know how it goes! \",\n  vMf8RK1by: \"create-a-digital-twin-of-a-physical-space-using-only-your-phone-polycam-spatial-io\"\n}];\ndata.forEach(item => Object.freeze(item));\naddPropertyControls(data, {\n  Dw0p_agKH: {\n    defaultValue: \"\",\n    title: \"Title\",\n    type: ControlType.String\n  },\n  rAyZbCQBK: {\n    defaultValue: \"\",\n    displayTextArea: true,\n    title: \"Description\",\n    type: ControlType.String\n  },\n  vMf8RK1by: {\n    title: \"Slug\",\n    type: ControlType.String\n  },\n  lBifBEMBD: {\n    defaultValue: \"\",\n    title: \"Date\",\n    type: ControlType.Date\n  },\n  b4o5rKqBi: {\n    title: \"Image\",\n    type: ControlType.ResponsiveImage\n  },\n  NgnBKSllU: {\n    defaultValue: \"\",\n    title: \"Content\",\n    type: ControlType.RichText\n  }\n});\ndata[\"displayName\"] = \"Blog\";\nexport default data;\nexport const __FramerMetadata__ = {\n  \"exports\": {\n    \"default\": {\n      \"type\": \"data\",\n      \"name\": \"data\",\n      \"annotations\": {\n        \"framerData\": \"\",\n        \"framerContractVersion\": \"1\",\n        \"framerEnumToDisplayNameUtils\": \"1\",\n        \"framerSlug\": \"vMf8RK1by\",\n        \"framerRecordIdKey\": \"id\"\n      }\n    },\n    \"__FramerMetadata__\": {\n      \"type\": \"variable\"\n    }\n  }\n};"],
  "mappings": "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",
  "names": ["data", "u", "x", "p", "Link", "motion", "ComponentPresetsConsumer", "presetProps", "Youtube", "item", "addPropertyControls", "ControlType", "BuyTrafJy_default", "__FramerMetadata__"]
}
