CINXE.COM

Red Shift

<!DOCTYPE html><html xmlns:cc="http://creativecommons.org/ns#"><head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# medium-com: http://ogp.me/ns/fb/medium-com#"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=contain"><title>Red Shift</title><link rel="canonical" href="https://shift.infinite.red"><link id="feedLink" rel="alternate" type="application/rss+xml" title="RSS" href="https://shift.infinite.red/feed"><meta name="robots" content="index,follow"><meta name="title" content="Red Shift"><meta name="referrer" content="unsafe-url"><meta name="description" content="The official Infinite Red publication for React Native design &amp; development. We’re a fully distributed team building world-class apps for over 20 years for clients all around the world."><meta name="keywords" content="REACT NATIVE, REMOTE WORKING, DESIGN, DEVELOPMENT, REACT"><meta name="theme-color" content="#000000"><meta property="og:title" content="Red Shift"><meta property="twitter:title" content="Red Shift"><meta property="og:url" content="https://shift.infinite.red/"><meta property="og:image" content="https://cdn-images-1.medium.com/max/1200/1*w_Gqag3X7I1Zur39CsHUOA@2x.jpeg"><meta property="fb:app_id" content="542599432471018"><meta property="og:description" content="The official Infinite Red publication for React Native design &amp; development. We’re a fully distributed team building world-class apps for over 20 years for clients all around the world."><meta name="twitter:description" content="The official Infinite Red publication for React Native design &amp; development. We’re a fully distributed team building world-class apps for over 20 years for clients all around the world."><meta name="twitter:image:src" content="https://cdn-images-1.medium.com/max/1200/1*w_Gqag3X7I1Zur39CsHUOA@2x.jpeg"><meta property="og:type" content="medium-com:collection"><meta name="twitter:card" content="summary_large_image"><meta property="medium-com:creator" content="https://shift.infinite.red/@jamonholmgren"><meta name="twitter:site" content="@infinite_red"><meta property="og:site_name" content="Red Shift"><meta name="twitter:app:name:iphone" content="Medium"><meta name="twitter:app:id:iphone" content="828256236"><meta name="twitter:app:url:iphone" content="medium://infinite-red"><meta property="al:ios:app_name" content="Medium"><meta property="al:ios:app_store_id" content="828256236"><meta property="al:android:package" content="com.medium.reader"><meta property="al:android:app_name" content="Medium"><meta property="al:ios:url" content="medium://infinite-red"><meta property="al:android:url" content="medium://infinite-red"><meta property="al:web:url" content="https://shift.infinite.red/"><link rel="search" type="application/opensearchdescription+xml" title="Medium" href="/osd.xml" /><link rel="alternate" href="android-app://com.medium.reader/https/medium.com/infinite-red" /><script type="application/ld+json">{"@context": "http://schema.org", "@graph": [{"@type": "WebSite", "url": "https:\/\/shift.infinite.red", "name": "Red Shift", "alternateName": "The official Infinite Red publication for React Native design \x26amp; development. We’re a fully distributed team building world-class apps for over 20 years for clients all around the world."},{"@type": "Organization", "url": "https:\/\/shift.infinite.red", "name": "Red Shift"}]}</script><link rel="stylesheet" href="https://cdn-static-1.medium.com/_/fp/css/main-branding-base.tWIMt8r3Nl52PPi9OfgcVw.12.css"><script>!function(n,e){var t,o,i,c=[],f={passive:!0,capture:!0},r=new Date,a="pointerup",u="pointercancel";function p(n,c){t||(t=c,o=n,i=new Date,w(e),s())}function s(){o>=0&&o<i-r&&(c.forEach(function(n){n(o,t)}),c=[])}function l(t){if(t.cancelable){var o=(t.timeStamp>1e12?new Date:performance.now())-t.timeStamp;"pointerdown"==t.type?function(t,o){function i(){p(t,o),r()}function c(){r()}function r(){e(a,i,f),e(u,c,f)}n(a,i,f),n(u,c,f)}(o,t):p(o,t)}}function w(n){["click","mousedown","keydown","touchstart","pointerdown"].forEach(function(e){n(e,l,f)})}w(n),self.perfMetrics=self.perfMetrics||{},self.perfMetrics.onFirstInputDelay=function(n){c.push(n),s()}}(addEventListener,removeEventListener);</script><script>document.domain = document.domain;</script><script>if (window.top !== window.self) window.location = 'about:blank';var OB_startTime = new Date().getTime(); var OB_loadErrors = []; function _onerror(e) { OB_loadErrors.push(e) }; if (document.addEventListener) document.addEventListener("error", _onerror, true); else if (document.attachEvent) document.attachEvent("onerror", _onerror); function _asyncScript(u) {var d = document, f = d.getElementsByTagName("script")[0], s = d.createElement("script"); s.type = "text/javascript"; s.async = true; s.src = u; f.parentNode.insertBefore(s, f);}function _asyncStyles(u) {var d = document, f = d.getElementsByTagName("script")[0], s = d.createElement("link"); s.rel = "stylesheet"; s.href = u; f.parentNode.insertBefore(s, f); return s}(new Image()).src = "/_/stat?event=pixel.load&origin=" + encodeURIComponent(location.origin);</script><script>window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date; ga("create", "G-7JY7T788PK", "auto", {"allowLinker": true, "legacyCookieDomain": window.location.hostname});ga("send", "pageview");</script><script async src="https://www.google-analytics.com/analytics.js"></script><script>(function () {var height = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight; var width = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth; document.write("<style>section.section-image--fullBleed.is-backgrounded {padding-top: " + Math.round(1.1 * height) + "px;}section.section-image--fullScreen.is-backgrounded, section.section-image--coverFade.is-backgrounded {min-height: " + height + "px; padding-top: " + Math.round(0.5 * height) + "px;}.u-height100vh {height: " + height + "px !important;}.u-height110vh {height: " + Math.round(1.1 * height) + "px !important;}.u-minHeight100vh {min-height: " + height + "px !important;}.u-maxHeight100vh {max-height: " + height + "px !important;}section.section-image--coverFade {height: " + height + "px;}.section-aspectRatioViewportPlaceholder, .section-aspectRatioViewportCropPlaceholder {max-height: " + height + "px;}.section-aspectRatioViewportBottomSpacer, .section-aspectRatioViewportBottomPlaceholder {max-height: " + Math.round(0.5 * height) + "px;}.zoomable:before {top: " + (-1 * height) + "px; left: " + (-1 * width) + "px; padding: " + height + "px " + width + "px;}</style>");})()</script><!--[if lt IE 9]><script charset="UTF-8" src="https://cdn-static-1.medium.com/_/fp/js/shiv.RI2ePTZ5gFmMgLzG5bEVAA.12.js"></script><![endif]--><link rel="icon" href="https://cdn-images-1.medium.com/fit/c/256/256/1*XPdxkr6f-60VVmmdUW7xwA.jpeg" class="js-favicon"><link rel="apple-touch-icon" sizes="152x152" href="https://cdn-images-1.medium.com/fit/c/304/304/1*w_Gqag3X7I1Zur39CsHUOA@2x.jpeg"><link rel="apple-touch-icon" sizes="120x120" href="https://cdn-images-1.medium.com/fit/c/240/240/1*w_Gqag3X7I1Zur39CsHUOA@2x.jpeg"><link rel="apple-touch-icon" sizes="76x76" href="https://cdn-images-1.medium.com/fit/c/152/152/1*w_Gqag3X7I1Zur39CsHUOA@2x.jpeg"><link rel="apple-touch-icon" sizes="60x60" href="https://cdn-images-1.medium.com/fit/c/120/120/1*w_Gqag3X7I1Zur39CsHUOA@2x.jpeg"><link rel="mask-icon" href="https://cdn-static-1.medium.com/_/fp/icons/monogram-mask.KPLCSFEZviQN0jQ7veN2RQ.12.svg" color="#171717"></head><body itemscope class=" browser-ie os-windows v-unbound v-glyph v-glyph--m2-unbound-source-serif-pro is-noJs"><script>document.body.className = document.body.className.replace(/(^|\s)is-noJs(\s|$)/, "$1is-js$2")</script><div class="site-main" id="container"><div class="butterBar butterBar--error"></div><div class="surface"><div id="prerendered" class="screenContent"><div class="metabar u-clearfix u-textColorTransparentWhiteDarker u-tintBgColor u-tintSpectrum js-metabar"><div class="branch-journeys-top"></div><div class="js-metabarMiddle metabar-inner u-marginAuto u-maxWidth1032 u-flexCenter u-justifyContentSpaceBetween u-height65 u-xs-height56 u-paddingHorizontal20"><div class="metabar-block u-flex1 u-flexCenter"><div class="js-metabarLogoLeft"><a href="https://medium.com/" data-log-event="home" class="siteNav-logo u-fillWhite u-flex0 u-flexCenter u-paddingTop0"><span class="svgIcon svgIcon--wordmarkMedium svgIcon--120x26px u-flex"><svg class="svgIcon-use" width="120" height="26" ><path d="M29.57 1.404l.036-.008V1.12h-7.27l-6.75 15.979-6.75-15.98H1.003v.278l.035.008c1.327.302 2 .752 2 2.374v18.993c0 1.623-.676 2.073-2.003 2.374L1 25.153v.279h5.315v-.278l-.035-.008c-1.327-.302-2-.751-2-2.374V4.88l8.67 20.552h.492l8.924-21.125V23.24c-.114 1.282-.782 1.677-1.983 1.95l-.036.009v.275h9.259V25.2l-.036-.008c-1.203-.274-1.886-.67-2-1.95l-.006-19.464h.006c0-1.622.674-2.072 2-2.374zm4.23 12.582c.15-3.412 1.367-5.875 3.41-5.918.629.01 1.157.219 1.568.62.872.852 1.282 2.634 1.219 5.298h-6.198zm-.092.962h10.85v-.046c-.03-2.61-.78-4.64-2.228-6.033-1.25-1.204-3.103-1.867-5.048-1.867h-.043c-1.01 0-2.248.246-3.13.693a7.316 7.316 0 00-2.623 2.086c-1.185 1.479-1.903 3.477-2.078 5.724a13.717 13.717 0 00-.04.755c-.004.195-.005.39-.001.587.117 5.087 2.846 9.153 7.692 9.153 4.254 0 6.73-3.132 7.348-7.336l-.312-.11c-1.085 2.259-3.034 3.628-5.252 3.461-3.028-.228-5.347-3.32-5.137-7.066m23.122 6.893c-.356.85-1.099 1.319-2.094 1.319-.995 0-1.905-.689-2.552-1.939-.694-1.342-1.06-3.24-1.06-5.487 0-4.678 1.445-7.704 3.68-7.704.937 0 1.674.468 2.026 1.284v12.527zm7.198 3.335c-1.327-.316-2-.787-2-2.492V0l-8.062 2.392v.293l.05-.004c1.111-.09 1.866.064 2.304.472.343.32.51.809.51 1.498v3.11C56.033 7.25 55.088 7 53.94 7c-2.326 0-4.453.987-5.986 2.779-1.599 1.867-2.444 4.42-2.444 7.38 0 5.287 2.584 8.84 6.43 8.84 2.25 0 4.06-1.242 4.888-3.336v2.811h7.233v-.29l-.035-.008zM70.94 3.085c0-1.65-1.236-2.896-2.875-2.896-1.632 0-2.908 1.272-2.908 2.896 0 1.624 1.278 2.896 2.908 2.896 1.64 0 2.875-1.245 2.875-2.896zm1.903 22.092c-1.327-.316-2-.787-2-2.492h-.006V7.055l-7.234 2.092v.284l.043.004c1.566.14 1.994.683 1.994 2.525v13.515h7.24v-.29l-.037-.008zm18.536 0c-1.327-.316-2-.787-2-2.492V7.055L82.49 9.078v.285l.04.004c1.28.136 1.65.71 1.65 2.56v9.88c-.426.85-1.227 1.356-2.196 1.39-1.573 0-2.439-1.07-2.439-3.012V7.055l-7.234 2.092v.284l.044.004c1.565.14 1.994.683 1.994 2.525v8.362a9.443 9.443 0 00.15 1.741l.13.57C75.243 24.845 76.848 26 79.362 26c2.129 0 3.996-1.328 4.818-3.405v2.885h7.233v-.291l-.034-.012zm28.102.298v-.291l-.035-.009c-1.44-.334-2.001-.964-2.001-2.248V12.295C117.445 8.98 115.597 7 112.5 7c-2.257 0-4.16 1.314-4.893 3.36-.582-2.168-2.257-3.36-4.734-3.36-2.175 0-3.88 1.156-4.612 3.11V7.056l-7.233 2.006v.286l.043.004c1.547.138 1.994.697 1.994 2.492v13.631h6.75v-.29l-.037-.01c-1.148-.271-1.519-.767-1.519-2.04V10.95c.304-.715.917-1.562 2.127-1.562 1.504 0 2.266 1.05 2.266 3.116v12.972h6.751v-.29l-.035-.01c-1.149-.271-1.52-.767-1.52-2.04V12.294a7.107 7.107 0 00-.095-1.21c.322-.777.97-1.696 2.23-1.696 1.524 0 2.265 1.02 2.265 3.116v12.972h7.233z"/></svg></span><span class="u-textScreenReader">Homepage</span></a></div><div class="u-paddingLeft10 u-sm-show r-paddingRight10"><a href="https://rsci.app.link/?%24canonical_url=https%3A%2F%2Fmedium.com/infinite-red%3F~feature=LoMobileNavBar&~channel=ShowCollectionHome&~stage=m2">Open in app</a></div></div><div class="metabar-block u-flex0 u-flexCenter"><div class="u-flexCenter u-height65 u-xs-height56"><div class="buttonSet buttonSet--wide u-lineHeightInherit"><a class="button button--primary button--light button--chromeless u-accentColor--buttonNormal is-inSiteNavBar u-xs-hide js-signInButton" href="https://medium.com/m/signin?redirect=https%3A%2F%2Fshift.infinite.red%2F&amp;source=--------------------------nav_reg&amp;operation=login" data-action="sign-in-prompt" data-redirect="https://shift.infinite.red/" data-action-source="--------------------------nav_reg">Sign in</a><a class="button button--primary button--light button--withChrome u-accentColor--buttonNormal is-inSiteNavBar js-signUpButton" href="https://medium.com/m/signin?redirect=https%3A%2F%2Fshift.infinite.red%2F&amp;source=--------------------------nav_reg&amp;operation=register" data-action="sign-up-prompt" data-redirect="https://shift.infinite.red/" data-action-source="--------------------------nav_reg">Get started</a></div></div></div></div></div><div class="metabar metabar--spacer js-metabarSpacer u-tintBgColor u-height65 u-xs-height56"></div><div class="collectionHeader js-collectionHeaderContainer u-relative collectionHeader--layoutLarge collectionHeader--alignmentLeft collectionHeader--withLogo collectionHeader--withoutBackground collectionHeader--colorBehaviorBold collectionHeader--withNavigation collectionHeader--editorLayoutTitleAndLogo is-modeView is-whiteLabel u-tintBgColor"><div class="collectionHeader-aspectRatioTable"><div class="collectionHeader-aspectRatioContent u-backgroundSizeCover js-collectionHeaderBackground"><div class="collectionHeader-overlayBackground u-height100vh"></div><header class="collectionHeader-heroAndInlineNav u-borderBox u-maxWidth1072 u-paddingLeft20 u-paddingRight20 u-marginAuto u-foreground js-collectionHeader"><div class="collectionHeader-hero js-collectionHeaderHero u-clearfix u-tintSpectrum"><div class="collectionHeader-heroInner"><div class="collectionHeader-logo js-collectionHeaderLogo" style="max-width: 140px;"><a class="link u-baseColor--link" href="https://shift.infinite.red" title="Go to Red Shift" aria-label="Go to Red Shift" data-collection-slug="infinite-red"><div class="u-relative u-marginAuto"><div style="padding-bottom: 100.22727272727273%"></div><img class="collectionHeader-logoImage js-collectionHeaderLogoImage" src="https://cdn-images-1.medium.com/max/280/1*zFVOmQgOKF8oQAqNgaZbZA@2x.png" data-image-id="1*zFVOmQgOKF8oQAqNgaZbZA@2x.png" data-width="880" data-height="882" /></div></a></div><div class="collectionHeader-nameAndDescription"><a class="link link--noUnderline u-baseColor--link" href="https://shift.infinite.red" title="Go to Red Shift" aria-label="Go to Red Shift" data-collection-slug="infinite-red"><h1 class="collectionHeader-name js-collectionName u-foreground u-baseColor--textDark u-paddingBottom4 u-lineHeightTightest u-contentSansBold u-fontSize40 u-xs-fontSize32">Red Shift</h1></a><h2 class="collectionHeader-description js-collectionDescription u-foreground u-baseColor--textNormal u-contentSansRegular u-fontSize24 u-xs-fontSize18">Sharing thoughts &amp; experiences about design, development, and remote work at Infinite Red. From the desks of a fully distributed team across the U.S.</h2></div></div></div></header></div><div class="collectionHeader-aspectRatioCell"><div class="collectionHeader-aspectRatioFullWidth"></div></div></div><div class="collectionHeader-blockNav"><div class="u-borderBox u-maxWidth1072 u-paddingLeft20 u-paddingRight20 u-marginAuto"><nav class="collectionHeader-nav u-clearfix js-collectionHeaderNav u-lineHeight40 u-overflowHiddenY u-tintSpectrum"><div class="buttonSet u-flex1 u-noWrap u-overflowX u-paddingBottom100 u-xs-marginRight15"><li class="collectionHeader-navItem js-collectionNavItem u-inlineBlock u-fontSize13 u-textUppercase u-letterSpacing1px u-textColorNormal u-xs-paddingRight12 u-xs-marginRight0"><a class="link link--darken u-accentColor--textDarken link--noUnderline u-baseColor--link js-navItemLink" href="https://shift.infinite.red/development/home">Development</a></li><li class="collectionHeader-navItem js-collectionNavItem u-inlineBlock u-fontSize13 u-textUppercase u-letterSpacing1px u-textColorNormal u-xs-paddingRight12 u-xs-marginRight0"><a class="link link--darken u-accentColor--textDarken link--noUnderline u-baseColor--link js-navItemLink" href="https://shift.infinite.red/ir-design/home">Design</a></li><li class="collectionHeader-navItem js-collectionNavItem u-inlineBlock u-fontSize13 u-textUppercase u-letterSpacing1px u-textColorNormal u-xs-paddingRight12 u-xs-marginRight0"><a class="link link--darken u-accentColor--textDarken link--noUnderline u-baseColor--link js-navItemLink" href="https://shift.infinite.red/remote-work/home">Remote Work</a></li><li class="collectionHeader-navItem js-collectionNavItem u-inlineBlock u-fontSize13 u-textUppercase u-letterSpacing1px u-textColorNormal u-xs-paddingRight12 u-xs-marginRight0"><a class="link link--darken u-accentColor--textDarken link--noUnderline u-baseColor--link js-navItemLink" href="https://shift.infinite.red/archive">All Stories</a></li><span class="u-borderLeft1 u-paddingLeft22 u-xs-paddingLeft12 u-baseColor--borderLight"></span><li class="collectionHeader-navItem js-collectionNavItem u-inlineBlock u-fontSize13 u-textUppercase u-letterSpacing1px u-textColorNormal u-xs-paddingRight12 u-xs-marginRight0 is-external"><a class="link link--darkenOnHover u-accentColor--textDarken link--noUnderline u-baseColor--link js-navItemLink" href="https://infinite.red/contact" rel="nofollow noopener" target="_blank">Got a project? Reach out</a></li></div><div class="buttonSet u-textAlignRight u-marginLeft18 u-flex0 u-noWrap"><label class="button button--small button--chromeless button--withIcon button--withSvgIcon inputGroup u-sm-hide metabar-predictiveSearch u-baseColor--buttonNormal u-baseColor--placeholderNormal" title="Search Red Shift"><span class="svgIcon svgIcon--search svgIcon--25px u-baseColor--iconLight"><svg class="svgIcon-use" width="25" height="25" ><path d="M20.067 18.933l-4.157-4.157a6 6 0 10-.884.884l4.157 4.157a.624.624 0 10.884-.884zM6.5 11c0-2.62 2.13-4.75 4.75-4.75S16 8.38 16 11s-2.13 4.75-4.75 4.75S6.5 13.62 6.5 11z"/></svg></span><input class="js-predictiveSearchInput textInput textInput--rounded textInput--darkText u-baseColor--textNormal textInput--transparent" type="search" placeholder="Search Red Shift" required="true" data-collection-id="fb597d020d1c" /></label><a class="button button--light button--chromeless is-touchIconBlackPulse u-baseColor--buttonLight button--withIcon button--withSvgIcon button--chromeless u-verticalAlignMiddle" href="https://twitter.com/infinite_red" title="Visit “Red Shift” on X" aria-label="Visit “Red Shift” on X" rel="me" target="_blank"><span class="button-defaultState"><span class="svgIcon svgIcon--twitter svgIcon--25px"><svg class="svgIcon-use" width="25" height="25" fill="none" ><path d="M14.215 11.3l5.764-6.7h-1.366l-5.005 5.818L9.611 4.6H5l6.045 8.798L5 20.424h1.366l5.286-6.144 4.221 6.144h4.61L14.216 11.3zm-1.871 2.175l-.612-.876-4.874-6.97h2.098l3.933 5.625.613.876 5.112 7.312h-2.098l-4.172-5.966z" fill="#242424"/></svg></span></span></a><a class="button button--light button--chromeless is-touchIconBlackPulse u-baseColor--buttonLight button--withIcon button--withSvgIcon button--chromeless u-verticalAlignMiddle" href="//facebook.com/infiniteredinc" title="Visit “Red Shift” on Facebook" aria-label="Visit “Red Shift” on Facebook" rel="me" target="_blank"><span class="button-defaultState"><span class="svgIcon svgIcon--facebookFilled svgIcon--25px"><svg class="svgIcon-use" width="25" height="25" ><path d="M21 12.646C21 7.65 16.97 3.6 12 3.6s-9 4.05-9 9.046a9.026 9.026 0 007.59 8.924v-6.376H8.395V12.64h2.193v-1.88c0-2.186 1.328-3.375 3.267-3.375.93 0 1.728.07 1.96.1V9.77H14.47c-1.055 0-1.26.503-1.26 1.242v1.63h2.517l-.33 2.554H13.21V21.6c4.398-.597 7.79-4.373 7.79-8.954"/></svg></span></span></a><a class="button button--light button--chromeless is-touchIconBlackPulse u-baseColor--buttonLight button--withIcon button--withSvgIcon button--chromeless u-verticalAlignMiddle" href="https://instagram.com/infinitered_designers" title="Visit “Red Shift” on Instagram" aria-label="Visit “Red Shift” on Instagram" rel="me" target="_blank"><span class="button-defaultState"><span class="svgIcon svgIcon--instagram svgIcon--25px"><svg class="svgIcon-use" width="25" height="25" ><path d="M12.497 5.531c2.27 0 2.536.01 3.433.05.83.038 1.279.176 1.579.294.398.156.681.338.978.635.297.296.482.58.634.978.115.3.257.749.294 1.578.04.897.05 1.164.05 3.434 0 2.27-.01 2.537-.05 3.434-.037.83-.176 1.278-.294 1.578a2.637 2.637 0 01-.634.979 2.61 2.61 0 01-.978.634c-.3.114-.749.256-1.579.293-.897.04-1.163.05-3.433.05-2.27 0-2.537-.01-3.434-.05-.83-.037-1.278-.175-1.579-.293a2.638 2.638 0 01-.978-.634 2.596 2.596 0 01-.634-.979c-.115-.3-.256-.748-.293-1.578-.04-.897-.051-1.164-.051-3.434 0-2.27.01-2.537.05-3.434.038-.83.176-1.278.294-1.578.155-.398.337-.682.634-.978a2.6 2.6 0 01.978-.635c.3-.114.75-.256 1.579-.293.897-.044 1.164-.05 3.434-.05zm0-1.531c-2.307 0-2.598.01-3.505.05-.904.041-1.521.186-2.06.395-.56.216-1.033.51-1.505.982a4.214 4.214 0 00-.982 1.504c-.209.54-.354 1.157-.394 2.064C4.01 9.9 4 10.19 4 12.497c0 2.307.01 2.597.05 3.504.041.904.186 1.521.395 2.064.216.56.51 1.033.982 1.505s.948.762 1.504.981c.54.21 1.157.355 2.064.395.908.04 1.195.05 3.505.05 2.31 0 2.597-.01 3.505-.05.904-.04 1.52-.186 2.064-.395a4.14 4.14 0 001.504-.981c.472-.472.762-.948.982-1.505.209-.54.354-1.157.394-2.064.04-.907.051-1.194.051-3.504s-.01-2.598-.05-3.505c-.041-.904-.186-1.521-.395-2.064a4.142 4.142 0 00-.982-1.505 4.215 4.215 0 00-1.504-.981c-.54-.21-1.157-.354-2.064-.395C15.094 4.01 14.804 4 12.497 4z"/><path d="M12.496 8.132a4.365 4.365 0 000 8.73 4.367 4.367 0 004.365-4.365 4.367 4.367 0 00-4.365-4.365zm0 7.198a2.833 2.833 0 110-5.666 2.833 2.833 0 010 5.666z"/><path d="M17.034 8.979a1.019 1.019 0 100-2.038 1.019 1.019 0 000 2.038z"/></svg></span></span></a><button class="button button--primary button--smallest u-noUserSelect button--withChrome u-accentColor--buttonNormal button--followCollection js-followCollectionButton" data-action="sign-up-prompt" data-sign-in-action="toggle-subscribe-collection" data-requires-token="true" data-redirect="https://medium.com/_/subscribe/collection/infinite-red" data-action-source="header----fb597d020d1c----------------------follow_pub"><span class="button-label button-defaultState js-buttonLabel">Follow</span><span class="button-label button-activeState">Following</span></button></div></nav></div></div></div><div class="u-marginBottom40 js-collectionStream"><div class="streamItem streamItem--section js-streamItem"><section class="u-marginTop30 u-xs-margin0 u-marginBottom15 u-maxWidth1032 u-sm-paddingLeft20 u-sm-paddingRight20 u-borderBox u-marginAuto"><div class="row u-marginTop30 u-marginLeftNegative12 u-marginRightNegative12"><div class="col u-xs-size12of12 js-trackPostPresentation u-paddingLeft12 u-marginBottom15 u-paddingRight15 u-size8of12" data-source="collection_home---4------0-----------------------" data-post-id="db9eb36c5af6" data-index="0"><div class="u-lineHeightBase postItem u-marginRight3"><a href="https://shift.infinite.red/react-native-10-years-db9eb36c5af6?source=collection_home---4------0-----------------------" data-action="open-post" data-action-value="https://shift.infinite.red/react-native-10-years-db9eb36c5af6?source=collection_home---4------0-----------------------" class="u-block u-xs-height170 u-height350 u-width100pct u-floatLeft u-backgroundSizeCover u-backgroundOriginBorderBox u-backgroundColorGrayLight u-borderLighter" style="background-image: url(&quot;https://cdn-images-1.medium.com/max/2000/1*w0aoSYo_zgW3lbcVb9BNOA@2x.png&quot;); background-position: 50% 50% !important;"><span class="u-textScreenReader">React Native: 10 years 🎊</span></a></div></div><div class="col u-xs-marginBottom10 u-paddingLeft9 u-paddingRight12 u-paddingTop0 u-sm-paddingTop20 u-paddingBottom25 u-size4of12 u-xs-size12of12 u-marginBottom30"><a class="" href="https://shift.infinite.red/react-native-10-years-db9eb36c5af6?source=collection_home---4------0-----------------------" data-action-source="collection_home---4------0-----------------------" data-post-id="db9eb36c5af6"><h3 class="u-contentSansBold u-lineHeightTightest u-xs-fontSize24 u-paddingBottom2 u-paddingTop5 u-fontSize32"><div class="u-letterSpacingTight u-lineHeightTighter u-breakWord u-textOverflowEllipsis u-lineClamp4 u-fontSize30 u-size12of12 u-xs-size12of12 u-xs-fontSize24">React Native: 10 years 🎊</div></h3><div class="u-contentSansThin u-lineHeightBaseSans u-fontSize24 u-xs-fontSize18 u-textColorNormal u-baseColor--textNormal"><div class="u-fontSize18 u-letterSpacingTight u-lineHeightTight u-marginTop7 u-textColorNormal u-baseColor--textNormal">Today, March 26, 2025, is the 10 year anniversary of React Native being open sourced!</div></div></a><div class="u-clearfix u-marginTop20"><div class="u-flexCenter"><div class="postMetaInline-avatar u-flex0"><a class="link u-baseColor--link avatar" href="https://shift.infinite.red/@jamonholmgren" data-action="show-user-card" data-action-value="4a1ccb16af26" data-action-type="hover" data-user-id="4a1ccb16af26" data-collection-slug="infinite-red" dir="auto"><img src="https://cdn-images-1.medium.com/fit/c/72/72/1*QzJ_IYOZ7i5cFstZwpjILw.jpeg" class="avatar-image u-size36x36 u-xs-size32x32" alt="Go to the profile of Jamon Holmgren"></a></div><div class="postMetaInline postMetaInline-authorLockup ui-captionStrong u-flex1 u-noWrapWithEllipsis"><a class="ds-link ds-link--styleSubtle link link--darken link--accent u-accentColor--textNormal u-accentColor--textDarken" href="https://shift.infinite.red/@jamonholmgren" data-action="show-user-card" data-action-value="4a1ccb16af26" data-action-type="hover" data-user-id="4a1ccb16af26" data-collection-slug="infinite-red" dir="auto">Jamon Holmgren</a><div class="ui-caption u-fontSize12 u-baseColor--textNormal u-textColorNormal js-postMetaInlineSupplemental"><time datetime="2025-03-26T20:54:34.785Z">Mar 26</time><span class="middotDivider u-fontSize12"></span><span class="readingTime" title="6 min read"></span></div></div></div></div></div></div></section></div><div class="streamItem streamItem--section js-streamItem"><section class="u-marginTop30 u-xs-margin0 u-marginBottom15 u-maxWidth1032 u-sm-paddingLeft20 u-sm-paddingRight20 u-borderBox u-marginAuto"><div class="row u-marginTop30 u-marginLeftNegative12 u-marginRightNegative12"><div class="col u-xs-size12of12 js-trackPostPresentation u-paddingLeft12 u-marginBottom15 u-paddingRight12 u-size4of12" data-source="collection_home---4------0-----------------------" data-post-id="b1fffb0f0152" data-index="0"><div class="u-lineHeightBase postItem"><a href="https://shift.infinite.red/react-native-vs-lynx-js-b1fffb0f0152?source=collection_home---4------0-----------------------" data-action="open-post" data-action-value="https://shift.infinite.red/react-native-vs-lynx-js-b1fffb0f0152?source=collection_home---4------0-----------------------" class="u-block u-xs-height170 u-height172 u-backgroundSizeCover u-backgroundOriginBorderBox u-backgroundColorGrayLight u-borderLighter" style="background-image: url(&quot;https://cdn-images-1.medium.com/max/800/1*hKQBNq-ouybBUiGBLSWvvQ.jpeg&quot;); background-position: 50% 50% !important;"><span class="u-textScreenReader">React Native vs Lynx JS</span></a></div><div class="col u-xs-marginBottom10 u-paddingLeft0 u-paddingRight0 u-paddingTop15 u-marginBottom30"><a class="" href="https://shift.infinite.red/react-native-vs-lynx-js-b1fffb0f0152?source=collection_home---4------0-----------------------" data-action-source="collection_home---4------0-----------------------" data-post-id="b1fffb0f0152"><h3 class="u-contentSansBold u-lineHeightTightest u-xs-fontSize24 u-paddingBottom2 u-paddingTop5 u-fontSize32"><div class="u-letterSpacingTight u-lineHeightTighter u-breakWord u-textOverflowEllipsis u-lineClamp3 u-fontSize24">React Native vs Lynx JS</div></h3><div class="u-contentSansThin u-lineHeightBaseSans u-fontSize24 u-xs-fontSize18 u-textColorNormal u-baseColor--textNormal"><div class="u-fontSize18 u-letterSpacingTight u-lineHeightTight u-marginTop7 u-textColorNormal u-baseColor--textNormal">What’s the difference? Why should I care?</div></div></a><div class="u-clearfix u-marginTop20"><div class="u-flexCenter"><div class="postMetaInline-avatar u-flex0"><a class="link u-baseColor--link avatar" href="https://shift.infinite.red/@gantlaborde" data-action="show-user-card" data-action-value="6ca0fe37eac1" data-action-type="hover" data-user-id="6ca0fe37eac1" data-collection-slug="infinite-red" dir="auto"><img src="https://cdn-images-1.medium.com/fit/c/72/72/1*gnkCSbW1lhpdf6ZvaLEXHQ.png" class="avatar-image u-size36x36 u-xs-size32x32" alt="Go to the profile of Gant Laborde"></a></div><div class="postMetaInline postMetaInline-authorLockup ui-captionStrong u-flex1 u-noWrapWithEllipsis"><a class="ds-link ds-link--styleSubtle link link--darken link--accent u-accentColor--textNormal u-accentColor--textDarken" href="https://shift.infinite.red/@gantlaborde" data-action="show-user-card" data-action-value="6ca0fe37eac1" data-action-type="hover" data-user-id="6ca0fe37eac1" data-collection-slug="infinite-red" dir="auto">Gant Laborde</a><div class="ui-caption u-fontSize12 u-baseColor--textNormal u-textColorNormal js-postMetaInlineSupplemental"><time datetime="2025-03-12T16:23:19.686Z">Mar 12</time><span class="middotDivider u-fontSize12"></span><span class="readingTime" title="6 min read"></span></div></div></div></div></div></div><div class="col u-xs-size12of12 js-trackPostPresentation u-paddingLeft12 u-marginBottom15 u-paddingRight12 u-size4of12" data-source="collection_home---4------1-----------------------" data-post-id="d4d4b7a651cf" data-index="1"><div class="u-lineHeightBase postItem"><a href="https://shift.infinite.red/transitive-dependencies-and-react-native-autolinking-d4d4b7a651cf?source=collection_home---4------1-----------------------" data-action="open-post" data-action-value="https://shift.infinite.red/transitive-dependencies-and-react-native-autolinking-d4d4b7a651cf?source=collection_home---4------1-----------------------" class="u-block u-xs-height170 u-height172 u-backgroundSizeCover u-backgroundOriginBorderBox u-backgroundColorGrayLight u-borderLighter" style="background-image: url(&quot;https://cdn-images-1.medium.com/max/800/0*UJMOpQn-ZAbariOF&quot;); background-position: 50% 50% !important;"><span class="u-textScreenReader">Transitive Dependencies and React Native Autolinking</span></a></div><div class="col u-xs-marginBottom10 u-paddingLeft0 u-paddingRight0 u-paddingTop15 u-marginBottom30"><a class="" href="https://shift.infinite.red/transitive-dependencies-and-react-native-autolinking-d4d4b7a651cf?source=collection_home---4------1-----------------------" data-action-source="collection_home---4------1-----------------------" data-post-id="d4d4b7a651cf"><h3 class="u-contentSansBold u-lineHeightTightest u-xs-fontSize24 u-paddingBottom2 u-paddingTop5 u-fontSize32"><div class="u-letterSpacingTight u-lineHeightTighter u-breakWord u-textOverflowEllipsis u-lineClamp3 u-fontSize24">Transitive Dependencies and React Native Autolinking</div></h3><div class="u-contentSansThin u-lineHeightBaseSans u-fontSize24 u-xs-fontSize18 u-textColorNormal u-baseColor--textNormal"><div class="u-fontSize18 u-letterSpacingTight u-lineHeightTight u-marginTop7 u-textColorNormal u-baseColor--textNormal">Buckle up because it’s time to talk about one of the biggest hot-button topics in React Native tech.</div></div></a><div class="u-clearfix u-marginTop20"><div class="u-flexCenter"><div class="postMetaInline-avatar u-flex0"><a class="link u-baseColor--link avatar" href="https://shift.infinite.red/@coolsoftwaretyler" data-action="show-user-card" data-action-value="c936dc63a114" data-action-type="hover" data-user-id="c936dc63a114" data-collection-slug="infinite-red" dir="auto"><img src="https://cdn-images-1.medium.com/fit/c/72/72/0*13IyCZk9OY3HLe3-" class="avatar-image u-size36x36 u-xs-size32x32" alt="Go to the profile of Tyler"></a></div><div class="postMetaInline postMetaInline-authorLockup ui-captionStrong u-flex1 u-noWrapWithEllipsis"><a class="ds-link ds-link--styleSubtle link link--darken link--accent u-accentColor--textNormal u-accentColor--textDarken" href="https://shift.infinite.red/@coolsoftwaretyler" data-action="show-user-card" data-action-value="c936dc63a114" data-action-type="hover" data-user-id="c936dc63a114" data-collection-slug="infinite-red" dir="auto">Tyler</a><div class="ui-caption u-fontSize12 u-baseColor--textNormal u-textColorNormal js-postMetaInlineSupplemental"><time datetime="2025-03-11T18:04:19.653Z">Mar 11</time><span class="middotDivider u-fontSize12"></span><span class="readingTime" title="2 min read"></span></div></div></div></div></div></div><div class="col u-xs-size12of12 js-trackPostPresentation u-paddingLeft12 u-marginBottom15 u-paddingRight12 u-size4of12" data-source="collection_home---4------2-----------------------" data-post-id="dcdf17963079" data-index="2"><div class="u-lineHeightBase postItem"><a href="https://shift.infinite.red/automated-eas-updates-in-a-bare-react-native-app-with-multiple-flavors-schemes-dcdf17963079?source=collection_home---4------2-----------------------" data-action="open-post" data-action-value="https://shift.infinite.red/automated-eas-updates-in-a-bare-react-native-app-with-multiple-flavors-schemes-dcdf17963079?source=collection_home---4------2-----------------------" class="u-block u-xs-height170 u-height172 u-backgroundSizeCover u-backgroundOriginBorderBox u-backgroundColorGrayLight u-borderLighter" style="background-image: url(&quot;https://cdn-images-1.medium.com/max/800/1*6s9UZhBX29F_LBy9adnDFg.jpeg&quot;); background-position: 50% 50% !important;"><span class="u-textScreenReader">Automated EAS Updates in a bare React Native app with Multiple Flavors &amp; Schemes.</span></a></div><div class="col u-xs-marginBottom10 u-paddingLeft0 u-paddingRight0 u-paddingTop15 u-marginBottom30"><a class="" href="https://shift.infinite.red/automated-eas-updates-in-a-bare-react-native-app-with-multiple-flavors-schemes-dcdf17963079?source=collection_home---4------2-----------------------" data-action-source="collection_home---4------2-----------------------" data-post-id="dcdf17963079"><h3 class="u-contentSansBold u-lineHeightTightest u-xs-fontSize24 u-paddingBottom2 u-paddingTop5 u-fontSize32"><div class="u-letterSpacingTight u-lineHeightTighter u-breakWord u-textOverflowEllipsis u-lineClamp3 u-fontSize24">Automated EAS Updates in a bare React Native app with Multiple Flavors &amp; Schemes.</div></h3><div class="u-contentSansThin u-lineHeightBaseSans u-fontSize24 u-xs-fontSize18 u-textColorNormal u-baseColor--textNormal"><div class="u-fontSize18 u-letterSpacingTight u-lineHeightTight u-marginTop7 u-textColorNormal u-baseColor--textNormal">Example repo: https://github.com/harrisrobin/bare-eas-updates-tutorial</div></div></a><div class="u-clearfix u-marginTop20"><div class="u-flexCenter"><div class="postMetaInline-avatar u-flex0"><a class="link u-baseColor--link avatar" href="https://shift.infinite.red/@harrisrobin" data-action="show-user-card" data-action-value="cc923365de1a" data-action-type="hover" data-user-id="cc923365de1a" data-collection-slug="infinite-red" dir="auto"><img src="https://cdn-images-1.medium.com/fit/c/72/72/1*U8fWt2OiYL_ClqG0RCSzFA.jpeg" class="avatar-image u-size36x36 u-xs-size32x32" alt="Go to the profile of Harris Robin"></a></div><div class="postMetaInline postMetaInline-authorLockup ui-captionStrong u-flex1 u-noWrapWithEllipsis"><a class="ds-link ds-link--styleSubtle link link--darken link--accent u-accentColor--textNormal u-accentColor--textDarken" href="https://shift.infinite.red/@harrisrobin" data-action="show-user-card" data-action-value="cc923365de1a" data-action-type="hover" data-user-id="cc923365de1a" data-collection-slug="infinite-red" dir="auto">Harris Robin</a><div class="ui-caption u-fontSize12 u-baseColor--textNormal u-textColorNormal js-postMetaInlineSupplemental"><time datetime="2024-12-05T19:13:49.701Z">Dec 5, 2024</time><span class="middotDivider u-fontSize12"></span><span class="readingTime" title="17 min read"></span></div></div></div></div></div></div></div></section></div><div class="streamItem streamItem--section js-streamItem"><div class="u-marginTop30 u-xs-marginTop0 u-marginBottom15 u-maxWidth1032 u-marginAuto"><div class="u-paddingTop35 u-paddingBottom20 u-paddingLeft20 u-paddingRight20 u-maxWidth1000 u-marginAuto u-textAlignCenter js-trackedPromo" style="background-color: #E93636;"data-action="open-promo-link" data-promo-id="95053d0cabc" data-collection-id="fb597d020d1c"><a class="link u-baseColor--link" href="http://newsletter.infinite.red/" rel="nofollow noopener" target="_blank" data-action-source="collection_home---2------0-----------------------"><div class="u-marginAuto u-marginBottom20" style="max-width: 46px;"><div class="u-relative u-marginAuto"><div style="padding-bottom: 72.82608695652173%"></div><img class="collectionHeader-logoImage js-collectionHeaderLogoImage" src="https://cdn-images-1.medium.com/max/92/1*xw-ZjJaGsMoTtxKeayBVeQ@2x.png" alt="Sign up for our newsletter — we promise no spam, just good stuff once a month." data-image-id="1*xw-ZjJaGsMoTtxKeayBVeQ@2x.png" data-width="92" data-height="67" /></div></div></a><div class="u-textColorNormal u-contentSansRegular u-fontSize28 u-xs-fontSize24 u-lineHeightBaseSans u-marginBottom20 u-maxWidth700 u-marginAuto u-textColorTransparentWhiteDarker">Sign up for our newsletter — we promise no spam, just good stuff once a month.</div><div class="u-marginBottom20"><a class="button button--large button--light button--withChrome u-baseColor--buttonLight" href="http://newsletter.infinite.red/" rel="nofollow noopener" target="_blank" data-action-source="collection_home---2------0-----------------------">Sign Up Now</a></div></div></div></div><div class="streamItem streamItem--section js-streamItem"><section class="u-marginTop30 u-xs-margin0 u-marginBottom15 u-maxWidth1032 u-sm-paddingLeft20 u-sm-paddingRight20 u-borderBox u-marginAuto"><div class="row u-marginTop30 u-marginLeftNegative12 u-marginRightNegative12"><div class="col u-xs-size12of12 js-trackPostPresentation u-paddingLeft12 u-marginBottom15 u-paddingRight12 u-size4of12" data-source="collection_home---4------0-----------------------" data-post-id="9ecde0b34d75" data-index="0"><div class="u-lineHeightBase postItem"><a href="https://shift.infinite.red/what-is-ignite-x-9ecde0b34d75?source=collection_home---4------0-----------------------" data-action="open-post" data-action-value="https://shift.infinite.red/what-is-ignite-x-9ecde0b34d75?source=collection_home---4------0-----------------------" class="u-block u-xs-height170 u-height172 u-backgroundSizeCover u-backgroundOriginBorderBox u-backgroundColorGrayLight u-borderLighter" style="background-image: url(&quot;https://cdn-images-1.medium.com/max/800/1*6JYVtfpuChhdIEr_xGQJcw.jpeg&quot;); background-position: 50% 50% !important;"><span class="u-textScreenReader">What is Ignite X?</span></a></div><div class="col u-xs-marginBottom10 u-paddingLeft0 u-paddingRight0 u-paddingTop15 u-marginBottom30"><a class="" href="https://shift.infinite.red/what-is-ignite-x-9ecde0b34d75?source=collection_home---4------0-----------------------" data-action-source="collection_home---4------0-----------------------" data-post-id="9ecde0b34d75"><h3 class="u-contentSansBold u-lineHeightTightest u-xs-fontSize24 u-paddingBottom2 u-paddingTop5 u-fontSize32"><div class="u-letterSpacingTight u-lineHeightTighter u-breakWord u-textOverflowEllipsis u-lineClamp3 u-fontSize24">What is Ignite X?</div></h3><div class="u-contentSansThin u-lineHeightBaseSans u-fontSize24 u-xs-fontSize18 u-textColorNormal u-baseColor--textNormal"><div class="u-fontSize18 u-letterSpacingTight u-lineHeightTight u-marginTop7 u-textColorNormal u-baseColor--textNormal">Nearly a Decade of React Native — Here Comes X</div></div></a><div class="u-clearfix u-marginTop20"><div class="u-flexCenter"><div class="postMetaInline-avatar u-flex0"><a class="link u-baseColor--link avatar" href="https://shift.infinite.red/@gantlaborde" data-action="show-user-card" data-action-value="6ca0fe37eac1" data-action-type="hover" data-user-id="6ca0fe37eac1" data-collection-slug="infinite-red" dir="auto"><img src="https://cdn-images-1.medium.com/fit/c/72/72/1*gnkCSbW1lhpdf6ZvaLEXHQ.png" class="avatar-image u-size36x36 u-xs-size32x32" alt="Go to the profile of Gant Laborde"></a></div><div class="postMetaInline postMetaInline-authorLockup ui-captionStrong u-flex1 u-noWrapWithEllipsis"><a class="ds-link ds-link--styleSubtle link link--darken link--accent u-accentColor--textNormal u-accentColor--textDarken" href="https://shift.infinite.red/@gantlaborde" data-action="show-user-card" data-action-value="6ca0fe37eac1" data-action-type="hover" data-user-id="6ca0fe37eac1" data-collection-slug="infinite-red" dir="auto">Gant Laborde</a><div class="ui-caption u-fontSize12 u-baseColor--textNormal u-textColorNormal js-postMetaInlineSupplemental"><time datetime="2024-10-14T21:08:09.132Z">Oct 14, 2024</time><span class="middotDivider u-fontSize12"></span><span class="readingTime" title="7 min read"></span></div></div></div></div></div></div><div class="col u-xs-size12of12 js-trackPostPresentation u-paddingLeft12 u-marginBottom15 u-paddingRight12 u-size4of12" data-source="collection_home---4------1-----------------------" data-post-id="1cae78fdee22" data-index="1"><div class="u-lineHeightBase postItem"><a href="https://shift.infinite.red/top-react-native-apps-1cae78fdee22?source=collection_home---4------1-----------------------" data-action="open-post" data-action-value="https://shift.infinite.red/top-react-native-apps-1cae78fdee22?source=collection_home---4------1-----------------------" class="u-block u-xs-height170 u-height172 u-backgroundSizeCover u-backgroundOriginBorderBox u-backgroundColorGrayLight u-borderLighter" style="background-image: url(&quot;https://cdn-images-1.medium.com/max/800/1*atoo57wKHpXrS6um65gaBQ.jpeg&quot;); background-position: 50% 50% !important;"><span class="u-textScreenReader">Top React Native Apps</span></a></div><div class="col u-xs-marginBottom10 u-paddingLeft0 u-paddingRight0 u-paddingTop15 u-marginBottom30"><a class="" href="https://shift.infinite.red/top-react-native-apps-1cae78fdee22?source=collection_home---4------1-----------------------" data-action-source="collection_home---4------1-----------------------" data-post-id="1cae78fdee22"><h3 class="u-contentSansBold u-lineHeightTightest u-xs-fontSize24 u-paddingBottom2 u-paddingTop5 u-fontSize32"><div class="u-letterSpacingTight u-lineHeightTighter u-breakWord u-textOverflowEllipsis u-lineClamp3 u-fontSize24">Top React Native Apps</div></h3><div class="u-contentSansThin u-lineHeightBaseSans u-fontSize24 u-xs-fontSize18 u-textColorNormal u-baseColor--textNormal"><div class="u-fontSize18 u-letterSpacingTight u-lineHeightTight u-marginTop7 u-textColorNormal u-baseColor--textNormal">We get a lot of questions at Infinite Red about what apps use React Native. It’s a natural question! After all, if you’re going to invest a…</div></div></a><div class="u-clearfix u-marginTop20"><div class="u-flexCenter"><div class="postMetaInline-avatar u-flex0"><a class="link u-baseColor--link avatar" href="https://shift.infinite.red/@mazenchami" data-action="show-user-card" data-action-value="d253a8f9a5c3" data-action-type="hover" data-user-id="d253a8f9a5c3" data-collection-slug="infinite-red" dir="auto"><img src="https://cdn-images-1.medium.com/fit/c/72/72/1*VhuPlB27BW_7TDHx4oSdhg.jpeg" class="avatar-image u-size36x36 u-xs-size32x32" alt="Go to the profile of Mazen Chami"></a></div><div class="postMetaInline postMetaInline-authorLockup ui-captionStrong u-flex1 u-noWrapWithEllipsis"><a class="ds-link ds-link--styleSubtle link link--darken link--accent u-accentColor--textNormal u-accentColor--textDarken" href="https://shift.infinite.red/@mazenchami" data-action="show-user-card" data-action-value="d253a8f9a5c3" data-action-type="hover" data-user-id="d253a8f9a5c3" data-collection-slug="infinite-red" dir="auto">Mazen Chami</a><div class="ui-caption u-fontSize12 u-baseColor--textNormal u-textColorNormal js-postMetaInlineSupplemental"><time datetime="2024-06-13T17:47:55.549Z">Jun 13, 2024</time><span class="middotDivider u-fontSize12"></span><span class="readingTime" title="3 min read"></span></div></div></div></div></div></div><div class="col u-xs-size12of12 js-trackPostPresentation u-paddingLeft12 u-marginBottom15 u-paddingRight12 u-size4of12" data-source="collection_home---4------2-----------------------" data-post-id="c2a8786f971e" data-index="2"><div class="u-lineHeightBase postItem"><a href="https://shift.infinite.red/microsoft-is-retiring-app-center-heres-what-react-native-developers-should-use-instead-c2a8786f971e?source=collection_home---4------2-----------------------" data-action="open-post" data-action-value="https://shift.infinite.red/microsoft-is-retiring-app-center-heres-what-react-native-developers-should-use-instead-c2a8786f971e?source=collection_home---4------2-----------------------" class="u-block u-xs-height170 u-height172 u-backgroundSizeCover u-backgroundOriginBorderBox u-backgroundColorGrayLight u-borderLighter" style="background-image: url(&quot;https://cdn-images-1.medium.com/max/800/1*_SzblnSLaZxbzG_PXjkIfQ.png&quot;); background-position: 50% 50% !important;"><span class="u-textScreenReader">Microsoft is retiring App Center: Here’s what React Native developers should use instead</span></a></div><div class="col u-xs-marginBottom10 u-paddingLeft0 u-paddingRight0 u-paddingTop15 u-marginBottom30"><a class="" href="https://shift.infinite.red/microsoft-is-retiring-app-center-heres-what-react-native-developers-should-use-instead-c2a8786f971e?source=collection_home---4------2-----------------------" data-action-source="collection_home---4------2-----------------------" data-post-id="c2a8786f971e"><h3 class="u-contentSansBold u-lineHeightTightest u-xs-fontSize24 u-paddingBottom2 u-paddingTop5 u-fontSize32"><div class="u-letterSpacingTight u-lineHeightTighter u-breakWord u-textOverflowEllipsis u-lineClamp3 u-fontSize24">Microsoft is retiring App Center: Here’s what React Native developers should use instead</div></h3><div class="u-contentSansThin u-lineHeightBaseSans u-fontSize24 u-xs-fontSize18 u-textColorNormal u-baseColor--textNormal"><div class="u-fontSize18 u-letterSpacingTight u-lineHeightTight u-marginTop7 u-textColorNormal u-baseColor--textNormal">Big bummer, React Native developers: Microsoft announced they are shutting down Visual Studio App Center on March 31, 2025.</div></div></a><div class="u-clearfix u-marginTop20"><div class="u-flexCenter"><div class="postMetaInline-avatar u-flex0"><a class="link u-baseColor--link avatar" href="https://shift.infinite.red/@jamonholmgren" data-action="show-user-card" data-action-value="4a1ccb16af26" data-action-type="hover" data-user-id="4a1ccb16af26" data-collection-slug="infinite-red" dir="auto"><img src="https://cdn-images-1.medium.com/fit/c/72/72/1*QzJ_IYOZ7i5cFstZwpjILw.jpeg" class="avatar-image u-size36x36 u-xs-size32x32" alt="Go to the profile of Jamon Holmgren"></a></div><div class="postMetaInline postMetaInline-authorLockup ui-captionStrong u-flex1 u-noWrapWithEllipsis"><a class="ds-link ds-link--styleSubtle link link--darken link--accent u-accentColor--textNormal u-accentColor--textDarken" href="https://shift.infinite.red/@jamonholmgren" data-action="show-user-card" data-action-value="4a1ccb16af26" data-action-type="hover" data-user-id="4a1ccb16af26" data-collection-slug="infinite-red" dir="auto">Jamon Holmgren</a><div class="ui-caption u-fontSize12 u-baseColor--textNormal u-textColorNormal js-postMetaInlineSupplemental"><time datetime="2024-04-23T17:43:45.104Z">Apr 23, 2024</time><span class="middotDivider u-fontSize12"></span><span class="readingTime" title="8 min read"></span></div></div></div></div></div></div></div><div class="row u-marginTop30 u-marginLeftNegative12 u-marginRightNegative12"><div class="col u-xs-size12of12 js-trackPostPresentation u-paddingLeft12 u-marginBottom15 u-paddingRight12 u-size4of12" data-source="collection_home---4------3-----------------------" data-post-id="3af461955109" data-index="3"><div class="u-lineHeightBase postItem"><a href="https://shift.infinite.red/why-you-dont-need-flipper-in-your-react-native-app-and-how-to-get-by-without-it-3af461955109?source=collection_home---4------3-----------------------" data-action="open-post" data-action-value="https://shift.infinite.red/why-you-dont-need-flipper-in-your-react-native-app-and-how-to-get-by-without-it-3af461955109?source=collection_home---4------3-----------------------" class="u-block u-xs-height170 u-height172 u-backgroundSizeCover u-backgroundOriginBorderBox u-backgroundColorGrayLight u-borderLighter" style="background-image: url(&quot;https://cdn-images-1.medium.com/max/800/0*OSnAl-E4FC8pLwqe.png&quot;); background-position: 50% 50% !important;"><span class="u-textScreenReader">Why you don’t need Flipper in your React Native app … and how to get by without it</span></a></div><div class="col u-xs-marginBottom10 u-paddingLeft0 u-paddingRight0 u-paddingTop15 u-marginBottom30"><a class="" href="https://shift.infinite.red/why-you-dont-need-flipper-in-your-react-native-app-and-how-to-get-by-without-it-3af461955109?source=collection_home---4------3-----------------------" data-action-source="collection_home---4------3-----------------------" data-post-id="3af461955109"><h3 class="u-contentSansBold u-lineHeightTightest u-xs-fontSize24 u-paddingBottom2 u-paddingTop5 u-fontSize32"><div class="u-letterSpacingTight u-lineHeightTighter u-breakWord u-textOverflowEllipsis u-lineClamp3 u-fontSize24">Why you don’t need Flipper in your React Native app … and how to get by without it</div></h3><div class="u-contentSansThin u-lineHeightBaseSans u-fontSize24 u-xs-fontSize18 u-textColorNormal u-baseColor--textNormal"><div class="u-fontSize18 u-letterSpacingTight u-lineHeightTight u-marginTop7 u-textColorNormal u-baseColor--textNormal">Let’s go through the tools that Flipper provides — and how you can replace them in your workflow.</div></div></a><div class="u-clearfix u-marginTop20"><div class="u-flexCenter"><div class="postMetaInline-avatar u-flex0"><a class="link u-baseColor--link avatar" href="https://shift.infinite.red/@jamonholmgren" data-action="show-user-card" data-action-value="4a1ccb16af26" data-action-type="hover" data-user-id="4a1ccb16af26" data-collection-slug="infinite-red" dir="auto"><img src="https://cdn-images-1.medium.com/fit/c/72/72/1*QzJ_IYOZ7i5cFstZwpjILw.jpeg" class="avatar-image u-size36x36 u-xs-size32x32" alt="Go to the profile of Jamon Holmgren"></a></div><div class="postMetaInline postMetaInline-authorLockup ui-captionStrong u-flex1 u-noWrapWithEllipsis"><a class="ds-link ds-link--styleSubtle link link--darken link--accent u-accentColor--textNormal u-accentColor--textDarken" href="https://shift.infinite.red/@jamonholmgren" data-action="show-user-card" data-action-value="4a1ccb16af26" data-action-type="hover" data-user-id="4a1ccb16af26" data-collection-slug="infinite-red" dir="auto">Jamon Holmgren</a><div class="ui-caption u-fontSize12 u-baseColor--textNormal u-textColorNormal js-postMetaInlineSupplemental"><time datetime="2024-03-12T21:15:28.625Z">Mar 12, 2024</time><span class="middotDivider u-fontSize12"></span><span class="readingTime" title="7 min read"></span></div></div></div></div></div></div><div class="col u-xs-size12of12 js-trackPostPresentation u-paddingLeft12 u-marginBottom15 u-paddingRight12 u-size4of12" data-source="collection_home---4------4-----------------------" data-post-id="6f4b25f7a1a4" data-index="4"><div class="u-lineHeightBase postItem"><a href="https://shift.infinite.red/introducing-docs-infinite-red-a-new-home-for-infinite-reds-documentation-6f4b25f7a1a4?source=collection_home---4------4-----------------------" data-action="open-post" data-action-value="https://shift.infinite.red/introducing-docs-infinite-red-a-new-home-for-infinite-reds-documentation-6f4b25f7a1a4?source=collection_home---4------4-----------------------" class="u-block u-xs-height170 u-height172 u-backgroundSizeCover u-backgroundOriginBorderBox u-backgroundColorGrayLight u-borderLighter" style="background-image: url(&quot;https://cdn-images-1.medium.com/max/800/1*k52Aebq3mcAx1hUQ-Of-tg.jpeg&quot;); background-position: 50% 50% !important;"><span class="u-textScreenReader">Introducing docs.infinite.red — A New Home for Infinite Red’s Documentation</span></a></div><div class="col u-xs-marginBottom10 u-paddingLeft0 u-paddingRight0 u-paddingTop15 u-marginBottom30"><a class="" href="https://shift.infinite.red/introducing-docs-infinite-red-a-new-home-for-infinite-reds-documentation-6f4b25f7a1a4?source=collection_home---4------4-----------------------" data-action-source="collection_home---4------4-----------------------" data-post-id="6f4b25f7a1a4"><h3 class="u-contentSansBold u-lineHeightTightest u-xs-fontSize24 u-paddingBottom2 u-paddingTop5 u-fontSize32"><div class="u-letterSpacingTight u-lineHeightTighter u-breakWord u-textOverflowEllipsis u-lineClamp3 u-fontSize24">Introducing docs.infinite.red — A New Home for Infinite Red’s Documentation</div></h3><div class="u-contentSansThin u-lineHeightBaseSans u-fontSize24 u-xs-fontSize18 u-textColorNormal u-baseColor--textNormal"><div class="u-fontSize18 u-letterSpacingTight u-lineHeightTight u-marginTop7 u-textColorNormal u-baseColor--textNormal">I’m excited to share something I’ve been working on with the team at Infinite Red — a new documentation site that brings together all the…</div></div></a><div class="u-clearfix u-marginTop20"><div class="u-flexCenter"><div class="postMetaInline-avatar u-flex0"><a class="link u-baseColor--link avatar" href="https://shift.infinite.red/@trevor-coleman" data-action="show-user-card" data-action-value="507ba24f42a2" data-action-type="hover" data-user-id="507ba24f42a2" data-collection-slug="infinite-red" dir="auto"><img src="https://cdn-images-1.medium.com/fit/c/72/72/1*3GLdPG2e3-xZxkSx4fvLGQ.jpeg" class="avatar-image u-size36x36 u-xs-size32x32" alt="Go to the profile of Trevor Coleman"></a></div><div class="postMetaInline postMetaInline-authorLockup ui-captionStrong u-flex1 u-noWrapWithEllipsis"><a class="ds-link ds-link--styleSubtle link link--darken link--accent u-accentColor--textNormal u-accentColor--textDarken" href="https://shift.infinite.red/@trevor-coleman" data-action="show-user-card" data-action-value="507ba24f42a2" data-action-type="hover" data-user-id="507ba24f42a2" data-collection-slug="infinite-red" dir="auto">Trevor Coleman</a><div class="ui-caption u-fontSize12 u-baseColor--textNormal u-textColorNormal js-postMetaInlineSupplemental"><time datetime="2023-12-19T22:33:47.340Z">Dec 19, 2023</time><span class="middotDivider u-fontSize12"></span><span class="readingTime" title="5 min read"></span></div></div></div></div></div></div><div class="col u-xs-size12of12 js-trackPostPresentation u-paddingLeft12 u-marginBottom15 u-paddingRight12 u-size4of12" data-source="collection_home---4------5-----------------------" data-post-id="934b5a221bda" data-index="5"><div class="u-lineHeightBase postItem"><a href="https://shift.infinite.red/announcing-reactotron-3-0-934b5a221bda?source=collection_home---4------5-----------------------" data-action="open-post" data-action-value="https://shift.infinite.red/announcing-reactotron-3-0-934b5a221bda?source=collection_home---4------5-----------------------" class="u-block u-xs-height170 u-height172 u-backgroundSizeCover u-backgroundOriginBorderBox u-backgroundColorGrayLight u-borderLighter" style="background-image: url(&quot;https://cdn-images-1.medium.com/max/800/1*Q0QpaEJyaKjM63cNxqmthA.png&quot;); background-position: 50% 50% !important;"><span class="u-textScreenReader">Announcing Reactotron 3.0!</span></a></div><div class="col u-xs-marginBottom10 u-paddingLeft0 u-paddingRight0 u-paddingTop15 u-marginBottom30"><a class="" href="https://shift.infinite.red/announcing-reactotron-3-0-934b5a221bda?source=collection_home---4------5-----------------------" data-action-source="collection_home---4------5-----------------------" data-post-id="934b5a221bda"><h3 class="u-contentSansBold u-lineHeightTightest u-xs-fontSize24 u-paddingBottom2 u-paddingTop5 u-fontSize32"><div class="u-letterSpacingTight u-lineHeightTighter u-breakWord u-textOverflowEllipsis u-lineClamp3 u-fontSize24">Announcing Reactotron 3.0!</div></h3><div class="u-contentSansThin u-lineHeightBaseSans u-fontSize24 u-xs-fontSize18 u-textColorNormal u-baseColor--textNormal"><div class="u-fontSize18 u-letterSpacingTight u-lineHeightTight u-marginTop7 u-textColorNormal u-baseColor--textNormal">Reactotron 3.0 is here! The latest evolution of our popular open-source desktop app used for inspecting and debugging React Native…</div></div></a><div class="u-clearfix u-marginTop20"><div class="u-flexCenter"><div class="postMetaInline-avatar u-flex0"><a class="link u-baseColor--link avatar" href="https://shift.infinite.red/@joshyoes" data-action="show-user-card" data-action-value="ffa47137badd" data-action-type="hover" data-user-id="ffa47137badd" data-collection-slug="infinite-red" dir="auto"><img src="https://cdn-images-1.medium.com/fit/c/72/72/1*TkQkYChxc_6sLIYfZ1d-XA.jpeg" class="avatar-image u-size36x36 u-xs-size32x32" alt="Go to the profile of Josh Yoes"></a></div><div class="postMetaInline postMetaInline-authorLockup ui-captionStrong u-flex1 u-noWrapWithEllipsis"><a class="ds-link ds-link--styleSubtle link link--darken link--accent u-accentColor--textNormal u-accentColor--textDarken" href="https://shift.infinite.red/@joshyoes" data-action="show-user-card" data-action-value="ffa47137badd" data-action-type="hover" data-user-id="ffa47137badd" data-collection-slug="infinite-red" dir="auto">Josh Yoes</a><div class="ui-caption u-fontSize12 u-baseColor--textNormal u-textColorNormal js-postMetaInlineSupplemental"><time datetime="2023-12-06T19:41:30.299Z">Dec 6, 2023</time><span class="middotDivider u-fontSize12"></span><span class="readingTime" title="6 min read"></span></div></div></div></div></div></div></div><div class="row u-marginTop30 u-marginLeftNegative12 u-marginRightNegative12"><div class="col u-xs-size12of12 js-trackPostPresentation u-paddingLeft12 u-marginBottom15 u-paddingRight12 u-size4of12" data-source="collection_home---4------6-----------------------" data-post-id="89ab5801937d" data-index="6"><div class="u-lineHeightBase postItem"><a href="https://shift.infinite.red/announcing-ignite-9-0-exp-ress-o-89ab5801937d?source=collection_home---4------6-----------------------" data-action="open-post" data-action-value="https://shift.infinite.red/announcing-ignite-9-0-exp-ress-o-89ab5801937d?source=collection_home---4------6-----------------------" class="u-block u-xs-height170 u-height172 u-backgroundSizeCover u-backgroundOriginBorderBox u-backgroundColorGrayLight u-borderLighter" style="background-image: url(&quot;https://cdn-images-1.medium.com/max/800/1*kR71zc19B6mBGshXkGlQgg.jpeg&quot;); background-position: 50% 50% !important;"><span class="u-textScreenReader">Announcing Ignite 9.0: “Exp[ress]o”</span></a></div><div class="col u-xs-marginBottom10 u-paddingLeft0 u-paddingRight0 u-paddingTop15 u-marginBottom30"><a class="" href="https://shift.infinite.red/announcing-ignite-9-0-exp-ress-o-89ab5801937d?source=collection_home---4------6-----------------------" data-action-source="collection_home---4------6-----------------------" data-post-id="89ab5801937d"><h3 class="u-contentSansBold u-lineHeightTightest u-xs-fontSize24 u-paddingBottom2 u-paddingTop5 u-fontSize32"><div class="u-letterSpacingTight u-lineHeightTighter u-breakWord u-textOverflowEllipsis u-lineClamp3 u-fontSize24">Announcing Ignite 9.0: “Exp[ress]o”</div></h3><div class="u-contentSansThin u-lineHeightBaseSans u-fontSize24 u-xs-fontSize18 u-textColorNormal u-baseColor--textNormal"><div class="u-fontSize18 u-letterSpacingTight u-lineHeightTight u-marginTop7 u-textColorNormal u-baseColor--textNormal">The newest version of Ignite CLI, the React Native starter kit, just got better!</div></div></a><div class="u-clearfix u-marginTop20"><div class="u-flexCenter"><div class="postMetaInline-avatar u-flex0"><a class="link u-baseColor--link avatar" href="https://shift.infinite.red/@jamonholmgren" data-action="show-user-card" data-action-value="4a1ccb16af26" data-action-type="hover" data-user-id="4a1ccb16af26" data-collection-slug="infinite-red" dir="auto"><img src="https://cdn-images-1.medium.com/fit/c/72/72/1*QzJ_IYOZ7i5cFstZwpjILw.jpeg" class="avatar-image u-size36x36 u-xs-size32x32" alt="Go to the profile of Jamon Holmgren"></a></div><div class="postMetaInline postMetaInline-authorLockup ui-captionStrong u-flex1 u-noWrapWithEllipsis"><a class="ds-link ds-link--styleSubtle link link--darken link--accent u-accentColor--textNormal u-accentColor--textDarken" href="https://shift.infinite.red/@jamonholmgren" data-action="show-user-card" data-action-value="4a1ccb16af26" data-action-type="hover" data-user-id="4a1ccb16af26" data-collection-slug="infinite-red" dir="auto">Jamon Holmgren</a><div class="ui-caption u-fontSize12 u-baseColor--textNormal u-textColorNormal js-postMetaInlineSupplemental"><time datetime="2023-11-16T22:06:16.705Z">Nov 16, 2023</time><span class="middotDivider u-fontSize12"></span><span class="readingTime" title="7 min read"></span></div></div></div></div></div></div><div class="col u-xs-size12of12 js-trackPostPresentation u-paddingLeft12 u-marginBottom15 u-paddingRight12 u-size4of12" data-source="collection_home---4------7-----------------------" data-post-id="35d396932e28" data-index="7"><div class="u-lineHeightBase postItem"><a href="https://shift.infinite.red/building-connections-with-ai-35d396932e28?source=collection_home---4------7-----------------------" data-action="open-post" data-action-value="https://shift.infinite.red/building-connections-with-ai-35d396932e28?source=collection_home---4------7-----------------------" class="u-block u-xs-height170 u-height172 u-backgroundSizeCover u-backgroundOriginBorderBox u-backgroundColorGrayLight u-borderLighter" style="background-image: url(&quot;https://cdn-images-1.medium.com/max/800/1*u2KewqfSqunTybw5UG8wHA.jpeg&quot;); background-position: 50% 50% !important;"><span class="u-textScreenReader">Building Connections with AI</span></a></div><div class="col u-xs-marginBottom10 u-paddingLeft0 u-paddingRight0 u-paddingTop15 u-marginBottom30"><a class="" href="https://shift.infinite.red/building-connections-with-ai-35d396932e28?source=collection_home---4------7-----------------------" data-action-source="collection_home---4------7-----------------------" data-post-id="35d396932e28"><h3 class="u-contentSansBold u-lineHeightTightest u-xs-fontSize24 u-paddingBottom2 u-paddingTop5 u-fontSize32"><div class="u-letterSpacingTight u-lineHeightTighter u-breakWord u-textOverflowEllipsis u-lineClamp3 u-fontSize24">Building Connections with AI</div></h3><div class="u-contentSansThin u-lineHeightBaseSans u-fontSize24 u-xs-fontSize18 u-textColorNormal u-baseColor--textNormal"><div class="u-fontSize18 u-letterSpacingTight u-lineHeightTight u-marginTop7 u-textColorNormal u-baseColor--textNormal">A short story of using AI to make custom stickers for the team</div></div></a><div class="u-clearfix u-marginTop20"><div class="u-flexCenter"><div class="postMetaInline-avatar u-flex0"><a class="link u-baseColor--link avatar" href="https://shift.infinite.red/@gantlaborde" data-action="show-user-card" data-action-value="6ca0fe37eac1" data-action-type="hover" data-user-id="6ca0fe37eac1" data-collection-slug="infinite-red" dir="auto"><img src="https://cdn-images-1.medium.com/fit/c/72/72/1*gnkCSbW1lhpdf6ZvaLEXHQ.png" class="avatar-image u-size36x36 u-xs-size32x32" alt="Go to the profile of Gant Laborde"></a></div><div class="postMetaInline postMetaInline-authorLockup ui-captionStrong u-flex1 u-noWrapWithEllipsis"><a class="ds-link ds-link--styleSubtle link link--darken link--accent u-accentColor--textNormal u-accentColor--textDarken" href="https://shift.infinite.red/@gantlaborde" data-action="show-user-card" data-action-value="6ca0fe37eac1" data-action-type="hover" data-user-id="6ca0fe37eac1" data-collection-slug="infinite-red" dir="auto">Gant Laborde</a><div class="ui-caption u-fontSize12 u-baseColor--textNormal u-textColorNormal js-postMetaInlineSupplemental"><time datetime="2023-08-29T15:22:24.895Z">Aug 29, 2023</time><span class="middotDivider u-fontSize12"></span><span class="readingTime" title="4 min read"></span></div></div></div></div></div></div><div class="col u-xs-size12of12 js-trackPostPresentation u-paddingLeft12 u-marginBottom15 u-paddingRight12 u-size4of12" data-source="collection_home---4------8-----------------------" data-post-id="b7317319d34d" data-index="8"><div class="u-lineHeightBase postItem"><a href="https://shift.infinite.red/the-secret-to-react-natives-success-b7317319d34d?source=collection_home---4------8-----------------------" data-action="open-post" data-action-value="https://shift.infinite.red/the-secret-to-react-natives-success-b7317319d34d?source=collection_home---4------8-----------------------" class="u-block u-xs-height170 u-height172 u-backgroundSizeCover u-backgroundOriginBorderBox u-backgroundColorGrayLight u-borderLighter" style="background-image: url(&quot;https://cdn-images-1.medium.com/max/800/1*6qb04u-wzYGtcRwpAXTNVg.jpeg&quot;); background-position: 50% 50% !important;"><span class="u-textScreenReader">The secret to React Native’s success</span></a></div><div class="col u-xs-marginBottom10 u-paddingLeft0 u-paddingRight0 u-paddingTop15 u-marginBottom30"><a class="" href="https://shift.infinite.red/the-secret-to-react-natives-success-b7317319d34d?source=collection_home---4------8-----------------------" data-action-source="collection_home---4------8-----------------------" data-post-id="b7317319d34d"><h3 class="u-contentSansBold u-lineHeightTightest u-xs-fontSize24 u-paddingBottom2 u-paddingTop5 u-fontSize32"><div class="u-letterSpacingTight u-lineHeightTighter u-breakWord u-textOverflowEllipsis u-lineClamp3 u-fontSize24">The secret to React Native’s success</div></h3><div class="u-contentSansThin u-lineHeightBaseSans u-fontSize24 u-xs-fontSize18 u-textColorNormal u-baseColor--textNormal"><div class="u-fontSize18 u-letterSpacingTight u-lineHeightTight u-marginTop7 u-textColorNormal u-baseColor--textNormal">We bet our company on it</div></div></a><div class="u-clearfix u-marginTop20"><div class="u-flexCenter"><div class="postMetaInline-avatar u-flex0"><a class="link u-baseColor--link avatar" href="https://shift.infinite.red/@jamonholmgren" data-action="show-user-card" data-action-value="4a1ccb16af26" data-action-type="hover" data-user-id="4a1ccb16af26" data-collection-slug="infinite-red" dir="auto"><img src="https://cdn-images-1.medium.com/fit/c/72/72/1*QzJ_IYOZ7i5cFstZwpjILw.jpeg" class="avatar-image u-size36x36 u-xs-size32x32" alt="Go to the profile of Jamon Holmgren"></a></div><div class="postMetaInline postMetaInline-authorLockup ui-captionStrong u-flex1 u-noWrapWithEllipsis"><a class="ds-link ds-link--styleSubtle link link--darken link--accent u-accentColor--textNormal u-accentColor--textDarken" href="https://shift.infinite.red/@jamonholmgren" data-action="show-user-card" data-action-value="4a1ccb16af26" data-action-type="hover" data-user-id="4a1ccb16af26" data-collection-slug="infinite-red" dir="auto">Jamon Holmgren</a><div class="ui-caption u-fontSize12 u-baseColor--textNormal u-textColorNormal js-postMetaInlineSupplemental"><time datetime="2023-08-10T16:56:10.126Z">Aug 10, 2023</time><span class="middotDivider u-fontSize12"></span><span class="readingTime" title="2 min read"></span></div></div></div></div></div></div></div><div class="row u-marginTop30 u-marginLeftNegative12 u-marginRightNegative12"><div class="col u-xs-size12of12 js-trackPostPresentation u-paddingLeft12 u-marginBottom15 u-paddingRight12 u-size4of12" data-source="collection_home---4------9-----------------------" data-post-id="665a93883e4f" data-index="9"><div class="u-lineHeightBase postItem"><a href="https://shift.infinite.red/top-ten-reasons-to-go-to-chain-react-665a93883e4f?source=collection_home---4------9-----------------------" data-action="open-post" data-action-value="https://shift.infinite.red/top-ten-reasons-to-go-to-chain-react-665a93883e4f?source=collection_home---4------9-----------------------" class="u-block u-xs-height170 u-height172 u-backgroundSizeCover u-backgroundOriginBorderBox u-backgroundColorGrayLight u-borderLighter" style="background-image: url(&quot;https://cdn-images-1.medium.com/max/800/1*rVAaAx2V4uZAEMaoEd9j2Q.png&quot;); background-position: 50% 50% !important;"><span class="u-textScreenReader">Top Ten Reasons to go to Chain React</span></a></div><div class="col u-xs-marginBottom10 u-paddingLeft0 u-paddingRight0 u-paddingTop15 u-marginBottom30"><a class="" href="https://shift.infinite.red/top-ten-reasons-to-go-to-chain-react-665a93883e4f?source=collection_home---4------9-----------------------" data-action-source="collection_home---4------9-----------------------" data-post-id="665a93883e4f"><h3 class="u-contentSansBold u-lineHeightTightest u-xs-fontSize24 u-paddingBottom2 u-paddingTop5 u-fontSize32"><div class="u-letterSpacingTight u-lineHeightTighter u-breakWord u-textOverflowEllipsis u-lineClamp3 u-fontSize24">Top Ten Reasons to go to Chain React</div></h3><div class="u-contentSansThin u-lineHeightBaseSans u-fontSize24 u-xs-fontSize18 u-textColorNormal u-baseColor--textNormal"><div class="u-fontSize18 u-letterSpacingTight u-lineHeightTight u-marginTop7 u-textColorNormal u-baseColor--textNormal">Why you need to go to the US React Native Conference in May</div></div></a><div class="u-clearfix u-marginTop20"><div class="u-flexCenter"><div class="postMetaInline-avatar u-flex0"><a class="link u-baseColor--link avatar" href="https://shift.infinite.red/@gantlaborde" data-action="show-user-card" data-action-value="6ca0fe37eac1" data-action-type="hover" data-user-id="6ca0fe37eac1" data-collection-slug="infinite-red" dir="auto"><img src="https://cdn-images-1.medium.com/fit/c/72/72/1*gnkCSbW1lhpdf6ZvaLEXHQ.png" class="avatar-image u-size36x36 u-xs-size32x32" alt="Go to the profile of Gant Laborde"></a></div><div class="postMetaInline postMetaInline-authorLockup ui-captionStrong u-flex1 u-noWrapWithEllipsis"><a class="ds-link ds-link--styleSubtle link link--darken link--accent u-accentColor--textNormal u-accentColor--textDarken" href="https://shift.infinite.red/@gantlaborde" data-action="show-user-card" data-action-value="6ca0fe37eac1" data-action-type="hover" data-user-id="6ca0fe37eac1" data-collection-slug="infinite-red" dir="auto">Gant Laborde</a><div class="ui-caption u-fontSize12 u-baseColor--textNormal u-textColorNormal js-postMetaInlineSupplemental"><time datetime="2023-03-02T17:32:15.084Z">Mar 2, 2023</time><span class="middotDivider u-fontSize12"></span><span class="readingTime" title="10 min read"></span></div></div></div></div></div></div><div class="col u-xs-size12of12 js-trackPostPresentation u-paddingLeft12 u-marginBottom15 u-paddingRight12 u-size4of12" data-source="collection_home---4------10-----------------------" data-post-id="dce9b5cb3730" data-index="10"><div class="u-lineHeightBase postItem"><a href="https://shift.infinite.red/convince-your-boss-react-native-chain-react-dce9b5cb3730?source=collection_home---4------10-----------------------" data-action="open-post" data-action-value="https://shift.infinite.red/convince-your-boss-react-native-chain-react-dce9b5cb3730?source=collection_home---4------10-----------------------" class="u-block u-xs-height170 u-height172 u-backgroundSizeCover u-backgroundOriginBorderBox u-backgroundColorGrayLight u-borderLighter" style="background-image: url(&quot;https://cdn-images-1.medium.com/max/800/1*lKDVmouipSDxO15GfNEDeQ.jpeg&quot;); background-position: 50% 50% !important;"><span class="u-textScreenReader">Convince Your Boss + React Native = Chain React</span></a></div><div class="col u-xs-marginBottom10 u-paddingLeft0 u-paddingRight0 u-paddingTop15 u-marginBottom30"><a class="" href="https://shift.infinite.red/convince-your-boss-react-native-chain-react-dce9b5cb3730?source=collection_home---4------10-----------------------" data-action-source="collection_home---4------10-----------------------" data-post-id="dce9b5cb3730"><h3 class="u-contentSansBold u-lineHeightTightest u-xs-fontSize24 u-paddingBottom2 u-paddingTop5 u-fontSize32"><div class="u-letterSpacingTight u-lineHeightTighter u-breakWord u-textOverflowEllipsis u-lineClamp3 u-fontSize24">Convince Your Boss + React Native = Chain React</div></h3><div class="u-contentSansThin u-lineHeightBaseSans u-fontSize24 u-xs-fontSize18 u-textColorNormal u-baseColor--textNormal"><div class="u-fontSize18 u-letterSpacingTight u-lineHeightTight u-marginTop7 u-textColorNormal u-baseColor--textNormal">The US React Native Conference is For You</div></div></a><div class="u-clearfix u-marginTop20"><div class="u-flexCenter"><div class="postMetaInline-avatar u-flex0"><a class="link u-baseColor--link avatar" href="https://shift.infinite.red/@gantlaborde" data-action="show-user-card" data-action-value="6ca0fe37eac1" data-action-type="hover" data-user-id="6ca0fe37eac1" data-collection-slug="infinite-red" dir="auto"><img src="https://cdn-images-1.medium.com/fit/c/72/72/1*gnkCSbW1lhpdf6ZvaLEXHQ.png" class="avatar-image u-size36x36 u-xs-size32x32" alt="Go to the profile of Gant Laborde"></a></div><div class="postMetaInline postMetaInline-authorLockup ui-captionStrong u-flex1 u-noWrapWithEllipsis"><a class="ds-link ds-link--styleSubtle link link--darken link--accent u-accentColor--textNormal u-accentColor--textDarken" href="https://shift.infinite.red/@gantlaborde" data-action="show-user-card" data-action-value="6ca0fe37eac1" data-action-type="hover" data-user-id="6ca0fe37eac1" data-collection-slug="infinite-red" dir="auto">Gant Laborde</a><div class="ui-caption u-fontSize12 u-baseColor--textNormal u-textColorNormal js-postMetaInlineSupplemental"><time datetime="2023-02-16T16:02:43.145Z">Feb 16, 2023</time><span class="middotDivider u-fontSize12"></span><span class="readingTime" title="6 min read"></span></div></div></div></div></div></div><div class="col u-xs-size12of12 js-trackPostPresentation u-paddingLeft12 u-marginBottom15 u-paddingRight12 u-size4of12" data-source="collection_home---4------11-----------------------" data-post-id="4451885bac9c" data-index="11"><div class="u-lineHeightBase postItem"><a href="https://shift.infinite.red/react-native-radio-fake-news-4451885bac9c?source=collection_home---4------11-----------------------" data-action="open-post" data-action-value="https://shift.infinite.red/react-native-radio-fake-news-4451885bac9c?source=collection_home---4------11-----------------------" class="u-block u-xs-height170 u-height172 u-backgroundSizeCover u-backgroundOriginBorderBox u-backgroundColorGrayLight u-borderLighter" style="background-image: url(&quot;https://cdn-images-1.medium.com/max/800/1*lQ0n31YD8SPqnGZrgOEs3Q.png&quot;); background-position: 50% 50% !important;"><span class="u-textScreenReader">React Native Radio Fake News</span></a></div><div class="col u-xs-marginBottom10 u-paddingLeft0 u-paddingRight0 u-paddingTop15 u-marginBottom30"><a class="" href="https://shift.infinite.red/react-native-radio-fake-news-4451885bac9c?source=collection_home---4------11-----------------------" data-action-source="collection_home---4------11-----------------------" data-post-id="4451885bac9c"><h3 class="u-contentSansBold u-lineHeightTightest u-xs-fontSize24 u-paddingBottom2 u-paddingTop5 u-fontSize32"><div class="u-letterSpacingTight u-lineHeightTighter u-breakWord u-textOverflowEllipsis u-lineClamp3 u-fontSize24">React Native Radio Fake News</div></h3><div class="u-contentSansThin u-lineHeightBaseSans u-fontSize24 u-xs-fontSize18 u-textColorNormal u-baseColor--textNormal"><div class="u-fontSize18 u-letterSpacingTight u-lineHeightTight u-marginTop7 u-textColorNormal u-baseColor--textNormal">An AI made this Podcast Episode</div></div></a><div class="u-clearfix u-marginTop20"><div class="u-flexCenter"><div class="postMetaInline-avatar u-flex0"><a class="link u-baseColor--link avatar" href="https://shift.infinite.red/@gantlaborde" data-action="show-user-card" data-action-value="6ca0fe37eac1" data-action-type="hover" data-user-id="6ca0fe37eac1" data-collection-slug="infinite-red" dir="auto"><img src="https://cdn-images-1.medium.com/fit/c/72/72/1*gnkCSbW1lhpdf6ZvaLEXHQ.png" class="avatar-image u-size36x36 u-xs-size32x32" alt="Go to the profile of Gant Laborde"></a></div><div class="postMetaInline postMetaInline-authorLockup ui-captionStrong u-flex1 u-noWrapWithEllipsis"><a class="ds-link ds-link--styleSubtle link link--darken link--accent u-accentColor--textNormal u-accentColor--textDarken" href="https://shift.infinite.red/@gantlaborde" data-action="show-user-card" data-action-value="6ca0fe37eac1" data-action-type="hover" data-user-id="6ca0fe37eac1" data-collection-slug="infinite-red" dir="auto">Gant Laborde</a><div class="ui-caption u-fontSize12 u-baseColor--textNormal u-textColorNormal js-postMetaInlineSupplemental"><time datetime="2023-02-02T15:16:54.636Z">Feb 2, 2023</time><span class="middotDivider u-fontSize12"></span><span class="readingTime" title="3 min read"></span></div></div></div></div></div></div></div></section></div></div><style class="js-collectionStyle"> .u-accentColor--borderLight {border-color: #91807B !important;} .u-accentColor--borderNormal {border-color: #91807B !important;} .u-accentColor--borderDark {border-color: #7C6E6A !important;} .u-accentColor--iconLight .svgIcon,.u-accentColor--iconLight.svgIcon {fill: #91807B !important;} .u-accentColor--iconNormal .svgIcon,.u-accentColor--iconNormal.svgIcon {fill: #91807B !important;} .u-accentColor--iconDark .svgIcon,.u-accentColor--iconDark.svgIcon {fill: #7C6E6A !important;} .u-accentColor--textNormal {color: #7C6E6A !important;} .u-accentColor--hoverTextNormal:hover {color: #7C6E6A !important;} .u-accentColor--textNormal.u-accentColor--textDarken:hover {color: #716561 !important;} .u-accentColor--textDark {color: #716561 !important;} .u-accentColor--backgroundLight {background-color: #91807B !important;} .u-accentColor--backgroundNormal {background-color: #91807B !important;} .u-accentColor--backgroundDark {background-color: #7C6E6A !important;} .u-accentColor--buttonDark {border-color: #7C6E6A !important; color: #716561 !important;} .u-accentColor--buttonDark:hover {border-color: #716561 !important;} .u-accentColor--buttonDark .icon:before,.u-accentColor--buttonDark .svgIcon{color: #7C6E6A !important; fill: #7C6E6A !important;} .u-accentColor--buttonNormal:not(.clapButton--largePill) {border-color: #91807B !important; color: #7C6E6A !important;} .u-accentColor--buttonNormal:hover {border-color: #7C6E6A !important;} .u-accentColor--buttonNormal .icon:before,.u-accentColor--buttonNormal .svgIcon{color: #91807B !important; fill: #91807B !important;} .u-accentColor--buttonNormal.button--filled .icon:before,.u-accentColor--buttonNormal.button--filled .svgIcon{color: rgba(255, 255, 255, 1) !important; fill: rgba(255, 255, 255, 1) !important;} .u-accentColor--buttonDark.button--filled,.u-accentColor--buttonDark.button--withChrome.is-active,.u-accentColor--fillWhenActive.is-active {background-color: #7C6E6A !important; border-color: #7C6E6A !important; color: rgba(255, 255, 255, 1) !important; fill: rgba(255, 255, 255, 1) !important;} .u-accentColor--buttonNormal.button--filled:not(.clapButton--largePill),.u-accentColor--buttonNormal.button--withChrome.is-active:not(.clapButton--largePill) {background-color: #91807B !important; border-color: #91807B !important; color: rgba(255, 255, 255, 1) !important; fill: rgba(255, 255, 255, 1) !important;} .postArticle.is-withAccentColors .markup--user,.postArticle.is-withAccentColors .markup--query {color: #7C6E6A !important;}.u-tintBgColor {background-color: rgba(24, 14, 11, 1) !important;}.u-tintBgColor .u-fadeLeft:before {background-image: linear-gradient(to right, rgba(24, 14, 11, 1) 0%, rgba(24, 14, 11, 0) 100%) !important;}.u-tintBgColor .u-fadeRight:after {background-image: linear-gradient(to right, rgba(24, 14, 11, 0) 0%, rgba(24, 14, 11, 1) 100%) !important;} .u-tintSpectrum .u-baseColor--borderLight {border-color: #9B8F8C !important;} .u-tintSpectrum .u-baseColor--borderNormal {border-color: #C3B9B7 !important;} .u-tintSpectrum .u-baseColor--borderDark {border-color: #E9E1DF !important;} .u-tintSpectrum .u-baseColor--iconLight .svgIcon,.u-tintSpectrum .u-baseColor--iconLight.svgIcon {fill: #9B8F8C !important;} .u-tintSpectrum .u-baseColor--iconNormal .svgIcon,.u-tintSpectrum .u-baseColor--iconNormal.svgIcon {fill: #C3B9B7 !important;} .u-tintSpectrum .u-baseColor--iconDark .svgIcon,.u-tintSpectrum .u-baseColor--iconDark.svgIcon {fill: #E9E1DF !important;} .u-tintSpectrum .u-baseColor--textNormal {color: #C3B9B7 !important;} .u-tintSpectrum .u-baseColor--textNormal.u-baseColor--textDarken:hover {color: #FBF4F3 !important;} .u-tintSpectrum .u-baseColor--textDark {color: #FBF4F3 !important;} .u-tintSpectrum .u-baseColor--textDarker {color: #FBF4F3 !important;} .u-tintSpectrum .u-baseColor--backgroundLight {background-color: #9B8F8C !important;} .u-tintSpectrum .u-baseColor--backgroundNormal {background-color: #C3B9B7 !important;} .u-tintSpectrum .u-baseColor--backgroundDark {background-color: #E9E1DF !important;} .u-tintSpectrum .u-baseColor--buttonLight {border-color: #9B8F8C !important; color: #9B8F8C !important;} .u-tintSpectrum .u-baseColor--buttonLight:hover {border-color: #9B8F8C !important;} .u-tintSpectrum .u-baseColor--buttonLight .icon:before,.u-tintSpectrum .u-baseColor--buttonLight .svgIcon {color: #9B8F8C !important; fill: #9B8F8C !important;} .u-tintSpectrum .u-baseColor--buttonDark {border-color: #E9E1DF !important; color: #FBF4F3 !important;} .u-tintSpectrum .u-baseColor--buttonDark:hover {border-color: #FBF4F3 !important;} .u-tintSpectrum .u-baseColor--buttonDark .icon:before,.u-tintSpectrum .u-baseColor--buttonDark .svgIcon {color: #E9E1DF !important; fill: #E9E1DF !important;} .u-tintSpectrum .u-baseColor--buttonNormal {border-color: #C3B9B7 !important; color: #C3B9B7 !important;} .u-tintSpectrum .u-baseColor--buttonNormal:hover {border-color: #E9E1DF !important;} .u-tintSpectrum .u-baseColor--buttonNormal .icon:before,.u-tintSpectrum .u-baseColor--buttonNormal .svgIcon {color: #C3B9B7 !important; fill: #C3B9B7 !important;} .u-tintSpectrum .u-baseColor--buttonDark.button--filled,.u-tintSpectrum .u-baseColor--buttonDark.button--withChrome.is-active {background-color: #E9E1DF !important; border-color: #E9E1DF !important; color: rgba(24, 14, 11, 1) !important; fill: rgba(24, 14, 11, 1) !important;} .u-tintSpectrum .u-baseColor--buttonNormal.button--filled,.u-tintSpectrum .u-baseColor--buttonNormal.button--withChrome.is-active {background-color: #C3B9B7 !important; border-color: #C3B9B7 !important; color: rgba(24, 14, 11, 1) !important; fill: rgba(24, 14, 11, 1) !important;} .u-tintSpectrum .u-baseColor--link {color: #C3B9B7 !important;} .u-tintSpectrum .u-baseColor--link.link--darkenOnHover:hover {color: #FBF4F3 !important;} .u-tintSpectrum .u-baseColor--link.link--darken:hover,.u-tintSpectrum .u-baseColor--link.link--darken:focus,.u-tintSpectrum .u-baseColor--link.link--darken:active {color: #FBF4F3 !important;} .u-tintSpectrum .u-baseColor--link.link--dark {color: #FBF4F3 !important;} .u-tintSpectrum .u-baseColor--link.link--dark.link--darken:hover,.u-tintSpectrum .u-baseColor--link.link--dark.link--darken:focus,.u-tintSpectrum .u-baseColor--link.link--dark.link--darken:active {color: #FBF4F3 !important;} .u-tintSpectrum .u-baseColor--link.link--darker {color: #FBF4F3 !important;} .u-tintSpectrum .u-baseColor--placeholderNormal ::-webkit-input-placeholder {color: #9B8F8C;} .u-tintSpectrum .u-baseColor--placeholderNormal ::-moz-placeholder {color: #9B8F8C;} .u-tintSpectrum .u-baseColor--placeholderNormal :-ms-input-placeholder {color: #9B8F8C;} .u-tintSpectrum .ui-h1,.u-tintSpectrum .ui-h2,.u-tintSpectrum .ui-h3,.u-tintSpectrum .ui-h4,.u-tintSpectrum .ui-brand1,.u-tintSpectrum .ui-brand2,.u-tintSpectrum .ui-captionStrong {color: #FBF4F3 !important; fill: #FBF4F3 !important;} .u-tintSpectrum .ui-body,.u-tintSpectrum .ui-caps {color: #FBF4F3 !important; fill: #FBF4F3 !important;} .u-tintSpectrum .ui-summary,.u-tintSpectrum .ui-caption {color: #9B8F8C !important; fill: #9B8F8C !important;} .u-tintSpectrum .u-accentColor--borderLight {border-color: #9B8F8C !important;} .u-tintSpectrum .u-accentColor--borderNormal {border-color: #C3B9B7 !important;} .u-tintSpectrum .u-accentColor--borderDark {border-color: #E9E1DF !important;} .u-tintSpectrum .u-accentColor--iconLight .svgIcon,.u-tintSpectrum .u-accentColor--iconLight.svgIcon {fill: #9B8F8C !important;} .u-tintSpectrum .u-accentColor--iconNormal .svgIcon,.u-tintSpectrum .u-accentColor--iconNormal.svgIcon {fill: #C3B9B7 !important;} .u-tintSpectrum .u-accentColor--iconDark .svgIcon,.u-tintSpectrum .u-accentColor--iconDark.svgIcon {fill: #E9E1DF !important;} .u-tintSpectrum .u-accentColor--textNormal {color: #C3B9B7 !important;} .u-tintSpectrum .u-accentColor--hoverTextNormal:hover {color: #C3B9B7 !important;} .u-tintSpectrum .u-accentColor--textNormal.u-accentColor--textDarken:hover {color: #FBF4F3 !important;} .u-tintSpectrum .u-accentColor--textDark {color: #FBF4F3 !important;} .u-tintSpectrum .u-accentColor--backgroundLight {background-color: #9B8F8C !important;} .u-tintSpectrum .u-accentColor--backgroundNormal {background-color: #C3B9B7 !important;} .u-tintSpectrum .u-accentColor--backgroundDark {background-color: #E9E1DF !important;} .u-tintSpectrum .u-accentColor--buttonDark {border-color: #E9E1DF !important; color: #FBF4F3 !important;} .u-tintSpectrum .u-accentColor--buttonDark:hover {border-color: #FBF4F3 !important;} .u-tintSpectrum .u-accentColor--buttonDark .icon:before,.u-tintSpectrum .u-accentColor--buttonDark .svgIcon{color: #E9E1DF !important; fill: #E9E1DF !important;} .u-tintSpectrum .u-accentColor--buttonNormal:not(.clapButton--largePill) {border-color: #C3B9B7 !important; color: #C3B9B7 !important;} .u-tintSpectrum .u-accentColor--buttonNormal:hover {border-color: #E9E1DF !important;} .u-tintSpectrum .u-accentColor--buttonNormal .icon:before,.u-tintSpectrum .u-accentColor--buttonNormal .svgIcon{color: #C3B9B7 !important; fill: #C3B9B7 !important;} .u-tintSpectrum .u-accentColor--buttonNormal.button--filled .icon:before,.u-tintSpectrum .u-accentColor--buttonNormal.button--filled .svgIcon{color: rgba(24, 14, 11, 1) !important; fill: rgba(24, 14, 11, 1) !important;} .u-tintSpectrum .u-accentColor--buttonDark.button--filled,.u-tintSpectrum .u-accentColor--buttonDark.button--withChrome.is-active,.u-tintSpectrum .u-accentColor--fillWhenActive.is-active {background-color: #E9E1DF !important; border-color: #E9E1DF !important; color: rgba(24, 14, 11, 1) !important; fill: rgba(24, 14, 11, 1) !important;} .u-tintSpectrum .u-accentColor--buttonNormal.button--filled:not(.clapButton--largePill),.u-tintSpectrum .u-accentColor--buttonNormal.button--withChrome.is-active:not(.clapButton--largePill) {background-color: #C3B9B7 !important; border-color: #C3B9B7 !important; color: rgba(24, 14, 11, 1) !important; fill: rgba(24, 14, 11, 1) !important;} .u-tintSpectrum .postArticle.is-withAccentColors .markup--user,.u-tintSpectrum .postArticle.is-withAccentColors .markup--query {color: #C3B9B7 !important;} .u-accentColor--highlightFaint {background-color: rgba(247, 238, 236, 1) !important;} .u-accentColor--highlightStrong.is-active .svgIcon {fill: rgba(236, 219, 215, 1) !important;} .postArticle.is-withAccentColors .markup--quote.is-other {background-color: rgba(247, 238, 236, 1) !important;} body.is-withMagicUnderlines .postArticle.is-withAccentColors .markup--quote.is-other {background-color: transparent !important; background-image: linear-gradient(to bottom, rgba(247, 238, 236, 1), rgba(247, 238, 236, 1));} .postArticle.is-withAccentColors .markup--quote.is-me {background-color: rgba(241, 228, 224, 1) !important;} body.is-withMagicUnderlines .postArticle.is-withAccentColors .markup--quote.is-me {background-color: transparent !important; background-image: linear-gradient(to bottom, rgba(241, 228, 224, 1), rgba(241, 228, 224, 1));} .postArticle.is-withAccentColors .markup--quote.is-targeted {background-color: rgba(236, 219, 215, 1) !important;} body.is-withMagicUnderlines .postArticle.is-withAccentColors .markup--quote.is-targeted {background-color: transparent !important; background-image: linear-gradient(to bottom, rgba(236, 219, 215, 1), rgba(236, 219, 215, 1));} .postArticle.is-withAccentColors .markup--quote.is-selected {background-color: rgba(236, 219, 215, 1) !important;} body.is-withMagicUnderlines .postArticle.is-withAccentColors .markup--quote.is-selected {background-color: transparent !important; background-image: linear-gradient(to bottom, rgba(236, 219, 215, 1), rgba(236, 219, 215, 1));} .postArticle.is-withAccentColors .markup--highlight {background-color: rgba(236, 219, 215, 1) !important;} body.is-withMagicUnderlines .postArticle.is-withAccentColors .markup--highlight {background-color: transparent !important; background-image: linear-gradient(to bottom, rgba(236, 219, 215, 1), rgba(236, 219, 215, 1));}</style><style class="js-collectionStyleConstant">.u-imageBgColor {background-color: rgba(0, 0, 0, 0.24705882352941178);} .u-imageSpectrum .u-baseColor--borderLight {border-color: rgba(255, 255, 255, 0.6980392156862745) !important;} .u-imageSpectrum .u-baseColor--borderNormal {border-color: rgba(255, 255, 255, 0.8980392156862745) !important;} .u-imageSpectrum .u-baseColor--borderDark {border-color: rgba(255, 255, 255, 0.9490196078431372) !important;} .u-imageSpectrum .u-baseColor--iconLight .svgIcon,.u-imageSpectrum .u-baseColor--iconLight.svgIcon {fill: rgba(255, 255, 255, 0.8) !important;} .u-imageSpectrum .u-baseColor--iconNormal .svgIcon,.u-imageSpectrum .u-baseColor--iconNormal.svgIcon {fill: rgba(255, 255, 255, 0.9490196078431372) !important;} .u-imageSpectrum .u-baseColor--iconDark .svgIcon,.u-imageSpectrum .u-baseColor--iconDark.svgIcon {fill: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .u-baseColor--textNormal {color: rgba(255, 255, 255, 0.9490196078431372) !important;} .u-imageSpectrum .u-baseColor--textNormal.u-baseColor--textDarken:hover {color: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .u-baseColor--textDark {color: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .u-baseColor--textDarker {color: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .u-baseColor--backgroundLight {background-color: rgba(255, 255, 255, 0.8980392156862745) !important;} .u-imageSpectrum .u-baseColor--backgroundNormal {background-color: rgba(255, 255, 255, 0.9490196078431372) !important;} .u-imageSpectrum .u-baseColor--backgroundDark {background-color: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .u-baseColor--buttonLight {border-color: rgba(255, 255, 255, 0.6980392156862745) !important; color: rgba(255, 255, 255, 0.8) !important;} .u-imageSpectrum .u-baseColor--buttonLight:hover {border-color: rgba(255, 255, 255, 0.6980392156862745) !important;} .u-imageSpectrum .u-baseColor--buttonLight .icon:before,.u-imageSpectrum .u-baseColor--buttonLight .svgIcon {color: rgba(255, 255, 255, 0.8) !important; fill: rgba(255, 255, 255, 0.8) !important;} .u-imageSpectrum .u-baseColor--buttonDark {border-color: rgba(255, 255, 255, 0.9490196078431372) !important; color: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .u-baseColor--buttonDark:hover {border-color: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .u-baseColor--buttonDark .icon:before,.u-imageSpectrum .u-baseColor--buttonDark .svgIcon {color: rgba(255, 255, 255, 1) !important; fill: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .u-baseColor--buttonNormal {border-color: rgba(255, 255, 255, 0.8980392156862745) !important; color: rgba(255, 255, 255, 0.9490196078431372) !important;} .u-imageSpectrum .u-baseColor--buttonNormal:hover {border-color: rgba(255, 255, 255, 0.9490196078431372) !important;} .u-imageSpectrum .u-baseColor--buttonNormal .icon:before,.u-imageSpectrum .u-baseColor--buttonNormal .svgIcon {color: rgba(255, 255, 255, 0.9490196078431372) !important; fill: rgba(255, 255, 255, 0.9490196078431372) !important;} .u-imageSpectrum .u-baseColor--buttonDark.button--filled,.u-imageSpectrum .u-baseColor--buttonDark.button--withChrome.is-active {background-color: rgba(255, 255, 255, 1) !important; border-color: rgba(255, 255, 255, 1) !important; color: rgba(0, 0, 0, 0.24705882352941178) !important; fill: rgba(0, 0, 0, 0.24705882352941178) !important;} .u-imageSpectrum .u-baseColor--buttonNormal.button--filled,.u-imageSpectrum .u-baseColor--buttonNormal.button--withChrome.is-active {background-color: rgba(255, 255, 255, 0.9490196078431372) !important; border-color: rgba(255, 255, 255, 0.9490196078431372) !important; color: rgba(0, 0, 0, 0.24705882352941178) !important; fill: rgba(0, 0, 0, 0.24705882352941178) !important;} .u-imageSpectrum .u-baseColor--link {color: rgba(255, 255, 255, 0.9490196078431372) !important;} .u-imageSpectrum .u-baseColor--link.link--darkenOnHover:hover {color: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .u-baseColor--link.link--darken:hover,.u-imageSpectrum .u-baseColor--link.link--darken:focus,.u-imageSpectrum .u-baseColor--link.link--darken:active {color: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .u-baseColor--link.link--dark {color: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .u-baseColor--link.link--dark.link--darken:hover,.u-imageSpectrum .u-baseColor--link.link--dark.link--darken:focus,.u-imageSpectrum .u-baseColor--link.link--dark.link--darken:active {color: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .u-baseColor--link.link--darker {color: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .u-baseColor--placeholderNormal ::-webkit-input-placeholder {color: rgba(255, 255, 255, 0.8);} .u-imageSpectrum .u-baseColor--placeholderNormal ::-moz-placeholder {color: rgba(255, 255, 255, 0.8);} .u-imageSpectrum .u-baseColor--placeholderNormal :-ms-input-placeholder {color: rgba(255, 255, 255, 0.8);} .u-imageSpectrum .ui-h1,.u-imageSpectrum .ui-h2,.u-imageSpectrum .ui-h3,.u-imageSpectrum .ui-h4,.u-imageSpectrum .ui-brand1,.u-imageSpectrum .ui-brand2,.u-imageSpectrum .ui-captionStrong {color: rgba(255, 255, 255, 1) !important; fill: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .ui-body,.u-imageSpectrum .ui-caps {color: rgba(255, 255, 255, 1) !important; fill: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .ui-summary,.u-imageSpectrum .ui-caption {color: rgba(255, 255, 255, 0.8) !important; fill: rgba(255, 255, 255, 0.8) !important;} .u-imageSpectrum .u-accentColor--borderLight {border-color: rgba(255, 255, 255, 0.6980392156862745) !important;} .u-imageSpectrum .u-accentColor--borderNormal {border-color: rgba(255, 255, 255, 0.8980392156862745) !important;} .u-imageSpectrum .u-accentColor--borderDark {border-color: rgba(255, 255, 255, 0.9490196078431372) !important;} .u-imageSpectrum .u-accentColor--iconLight .svgIcon,.u-imageSpectrum .u-accentColor--iconLight.svgIcon {fill: rgba(255, 255, 255, 0.8) !important;} .u-imageSpectrum .u-accentColor--iconNormal .svgIcon,.u-imageSpectrum .u-accentColor--iconNormal.svgIcon {fill: rgba(255, 255, 255, 0.9490196078431372) !important;} .u-imageSpectrum .u-accentColor--iconDark .svgIcon,.u-imageSpectrum .u-accentColor--iconDark.svgIcon {fill: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .u-accentColor--textNormal {color: rgba(255, 255, 255, 0.9490196078431372) !important;} .u-imageSpectrum .u-accentColor--hoverTextNormal:hover {color: rgba(255, 255, 255, 0.9490196078431372) !important;} .u-imageSpectrum .u-accentColor--textNormal.u-accentColor--textDarken:hover {color: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .u-accentColor--textDark {color: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .u-accentColor--backgroundLight {background-color: rgba(255, 255, 255, 0.8980392156862745) !important;} .u-imageSpectrum .u-accentColor--backgroundNormal {background-color: rgba(255, 255, 255, 0.9490196078431372) !important;} .u-imageSpectrum .u-accentColor--backgroundDark {background-color: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .u-accentColor--buttonDark {border-color: rgba(255, 255, 255, 0.9490196078431372) !important; color: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .u-accentColor--buttonDark:hover {border-color: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .u-accentColor--buttonDark .icon:before,.u-imageSpectrum .u-accentColor--buttonDark .svgIcon{color: rgba(255, 255, 255, 1) !important; fill: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .u-accentColor--buttonNormal:not(.clapButton--largePill) {border-color: rgba(255, 255, 255, 0.8980392156862745) !important; color: rgba(255, 255, 255, 0.9490196078431372) !important;} .u-imageSpectrum .u-accentColor--buttonNormal:hover {border-color: rgba(255, 255, 255, 0.9490196078431372) !important;} .u-imageSpectrum .u-accentColor--buttonNormal .icon:before,.u-imageSpectrum .u-accentColor--buttonNormal .svgIcon{color: rgba(255, 255, 255, 0.9490196078431372) !important; fill: rgba(255, 255, 255, 0.9490196078431372) !important;} .u-imageSpectrum .u-accentColor--buttonNormal.button--filled .icon:before,.u-imageSpectrum .u-accentColor--buttonNormal.button--filled .svgIcon{color: rgba(0, 0, 0, 0.24705882352941178) !important; fill: rgba(0, 0, 0, 0.24705882352941178) !important;} .u-imageSpectrum .u-accentColor--buttonDark.button--filled,.u-imageSpectrum .u-accentColor--buttonDark.button--withChrome.is-active,.u-imageSpectrum .u-accentColor--fillWhenActive.is-active {background-color: rgba(255, 255, 255, 1) !important; border-color: rgba(255, 255, 255, 1) !important; color: rgba(0, 0, 0, 0.24705882352941178) !important; fill: rgba(0, 0, 0, 0.24705882352941178) !important;} .u-imageSpectrum .u-accentColor--buttonNormal.button--filled:not(.clapButton--largePill),.u-imageSpectrum .u-accentColor--buttonNormal.button--withChrome.is-active:not(.clapButton--largePill) {background-color: rgba(255, 255, 255, 0.9490196078431372) !important; border-color: rgba(255, 255, 255, 0.9490196078431372) !important; color: rgba(0, 0, 0, 0.24705882352941178) !important; fill: rgba(0, 0, 0, 0.24705882352941178) !important;} .u-imageSpectrum .postArticle.is-withAccentColors .markup--user,.u-imageSpectrum .postArticle.is-withAccentColors .markup--query {color: rgba(255, 255, 255, 0.9490196078431372) !important;} .u-imageSpectrum .u-accentColor--highlightFaint {background-color: rgba(255, 255, 255, 0.2) !important;} .u-imageSpectrum .u-accentColor--highlightStrong.is-active .svgIcon {fill: rgba(255, 255, 255, 0.6) !important;} .postArticle.is-withAccentColors .u-imageSpectrum .markup--quote.is-other {background-color: rgba(255, 255, 255, 0.2) !important;} body.is-withMagicUnderlines .postArticle.is-withAccentColors .u-imageSpectrum .markup--quote.is-other {background-color: transparent !important; background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0.2));} .postArticle.is-withAccentColors .u-imageSpectrum .markup--quote.is-me {background-color: rgba(255, 255, 255, 0.4) !important;} body.is-withMagicUnderlines .postArticle.is-withAccentColors .u-imageSpectrum .markup--quote.is-me {background-color: transparent !important; background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.4), rgba(255, 255, 255, 0.4));} .postArticle.is-withAccentColors .u-imageSpectrum .markup--quote.is-targeted {background-color: rgba(255, 255, 255, 0.6) !important;} body.is-withMagicUnderlines .postArticle.is-withAccentColors .u-imageSpectrum .markup--quote.is-targeted {background-color: transparent !important; background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.6), rgba(255, 255, 255, 0.6));} .postArticle.is-withAccentColors .u-imageSpectrum .markup--quote.is-selected {background-color: rgba(255, 255, 255, 0.6) !important;} body.is-withMagicUnderlines .postArticle.is-withAccentColors .u-imageSpectrum .markup--quote.is-selected {background-color: transparent !important; background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.6), rgba(255, 255, 255, 0.6));} .postArticle.is-withAccentColors .u-imageSpectrum .markup--highlight {background-color: rgba(255, 255, 255, 0.6) !important;} body.is-withMagicUnderlines .postArticle.is-withAccentColors .u-imageSpectrum .markup--highlight {background-color: transparent !important; background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.6), rgba(255, 255, 255, 0.6));}.u-resetSpectrum .u-tintBgColor {background-color: rgba(255, 255, 255, 1) !important;}.u-resetSpectrum .u-tintBgColor .u-fadeLeft:before {background-image: linear-gradient(to right, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%) !important;}.u-resetSpectrum .u-tintBgColor .u-fadeRight:after {background-image: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 100%) !important;} .u-resetSpectrum .u-baseColor--borderLight {border-color: rgba(0, 0, 0, 0.2980392156862745) !important;} .u-resetSpectrum .u-baseColor--borderNormal {border-color: rgba(0, 0, 0, 0.4980392156862745) !important;} .u-resetSpectrum .u-baseColor--borderDark {border-color: rgba(0, 0, 0, 0.6) !important;} .u-resetSpectrum .u-baseColor--iconLight .svgIcon,.u-resetSpectrum .u-baseColor--iconLight.svgIcon {fill: rgba(0, 0, 0, 0.2980392156862745) !important;} .u-resetSpectrum .u-baseColor--iconNormal .svgIcon,.u-resetSpectrum .u-baseColor--iconNormal.svgIcon {fill: rgba(0, 0, 0, 0.4980392156862745) !important;} .u-resetSpectrum .u-baseColor--iconDark .svgIcon,.u-resetSpectrum .u-baseColor--iconDark.svgIcon {fill: rgba(0, 0, 0, 0.6) !important;} .u-resetSpectrum .u-baseColor--textNormal {color: rgba(0, 0, 0, 0.4980392156862745) !important;} .u-resetSpectrum .u-baseColor--textNormal.u-baseColor--textDarken:hover {color: rgba(0, 0, 0, 0.6) !important;} .u-resetSpectrum .u-baseColor--textDark {color: rgba(0, 0, 0, 0.6) !important;} .u-resetSpectrum .u-baseColor--textDarker {color: rgba(0, 0, 0, 0.8) !important;} .u-resetSpectrum .u-baseColor--backgroundLight {background-color: rgba(0, 0, 0, 0.09803921568627451) !important;} .u-resetSpectrum .u-baseColor--backgroundNormal {background-color: rgba(0, 0, 0, 0.2) !important;} .u-resetSpectrum .u-baseColor--backgroundDark {background-color: rgba(0, 0, 0, 0.2980392156862745) !important;} .u-resetSpectrum .u-baseColor--buttonLight {border-color: rgba(0, 0, 0, 0.2980392156862745) !important; color: rgba(0, 0, 0, 0.2980392156862745) !important;} .u-resetSpectrum .u-baseColor--buttonLight:hover {border-color: rgba(0, 0, 0, 0.2980392156862745) !important;} .u-resetSpectrum .u-baseColor--buttonLight .icon:before,.u-resetSpectrum .u-baseColor--buttonLight .svgIcon {color: rgba(0, 0, 0, 0.2980392156862745) !important; fill: rgba(0, 0, 0, 0.2980392156862745) !important;} .u-resetSpectrum .u-baseColor--buttonDark {border-color: rgba(0, 0, 0, 0.6) !important; color: rgba(0, 0, 0, 0.6) !important;} .u-resetSpectrum .u-baseColor--buttonDark:hover {border-color: rgba(0, 0, 0, 0.8) !important;} .u-resetSpectrum .u-baseColor--buttonDark .icon:before,.u-resetSpectrum .u-baseColor--buttonDark .svgIcon {color: rgba(0, 0, 0, 0.6) !important; fill: rgba(0, 0, 0, 0.6) !important;} .u-resetSpectrum .u-baseColor--buttonNormal {border-color: rgba(0, 0, 0, 0.4980392156862745) !important; color: rgba(0, 0, 0, 0.4980392156862745) !important;} .u-resetSpectrum .u-baseColor--buttonNormal:hover {border-color: rgba(0, 0, 0, 0.6) !important;} .u-resetSpectrum .u-baseColor--buttonNormal .icon:before,.u-resetSpectrum .u-baseColor--buttonNormal .svgIcon {color: rgba(0, 0, 0, 0.4980392156862745) !important; fill: rgba(0, 0, 0, 0.4980392156862745) !important;} .u-resetSpectrum .u-baseColor--buttonDark.button--filled,.u-resetSpectrum .u-baseColor--buttonDark.button--withChrome.is-active {background-color: rgba(0, 0, 0, 0.2980392156862745) !important; border-color: rgba(0, 0, 0, 0.2980392156862745) !important; color: rgba(255, 255, 255, 1) !important; fill: rgba(255, 255, 255, 1) !important;} .u-resetSpectrum .u-baseColor--buttonNormal.button--filled,.u-resetSpectrum .u-baseColor--buttonNormal.button--withChrome.is-active {background-color: rgba(0, 0, 0, 0.2) !important; border-color: rgba(0, 0, 0, 0.2) !important; color: rgba(255, 255, 255, 1) !important; fill: rgba(255, 255, 255, 1) !important;} .u-resetSpectrum .u-baseColor--link {color: rgba(0, 0, 0, 0.4980392156862745) !important;} .u-resetSpectrum .u-baseColor--link.link--darkenOnHover:hover {color: rgba(0, 0, 0, 0.6) !important;} .u-resetSpectrum .u-baseColor--link.link--darken:hover,.u-resetSpectrum .u-baseColor--link.link--darken:focus,.u-resetSpectrum .u-baseColor--link.link--darken:active {color: rgba(0, 0, 0, 0.6) !important;} .u-resetSpectrum .u-baseColor--link.link--dark {color: rgba(0, 0, 0, 0.6) !important;} .u-resetSpectrum .u-baseColor--link.link--dark.link--darken:hover,.u-resetSpectrum .u-baseColor--link.link--dark.link--darken:focus,.u-resetSpectrum .u-baseColor--link.link--dark.link--darken:active {color: rgba(0, 0, 0, 0.8) !important;} .u-resetSpectrum .u-baseColor--link.link--darker {color: rgba(0, 0, 0, 0.8) !important;} .u-resetSpectrum .u-baseColor--placeholderNormal ::-webkit-input-placeholder {color: rgba(0, 0, 0, 0.2980392156862745);} .u-resetSpectrum .u-baseColor--placeholderNormal ::-moz-placeholder {color: rgba(0, 0, 0, 0.2980392156862745);} .u-resetSpectrum .u-baseColor--placeholderNormal :-ms-input-placeholder {color: rgba(0, 0, 0, 0.2980392156862745);} .u-resetSpectrum .ui-h1,.u-resetSpectrum .ui-h2,.u-resetSpectrum .ui-h3,.u-resetSpectrum .ui-h4,.u-resetSpectrum .ui-brand1,.u-resetSpectrum .ui-brand2,.u-resetSpectrum .ui-captionStrong {color: rgba(0, 0, 0, 0.8) !important; fill: rgba(0, 0, 0, 0.8) !important;} .u-resetSpectrum .ui-body,.u-resetSpectrum .ui-caps {color: rgba(0, 0, 0, 0.6) !important; fill: rgba(0, 0, 0, 0.6) !important;} .u-resetSpectrum .ui-summary,.u-resetSpectrum .ui-caption {color: rgba(0, 0, 0, 0.2980392156862745) !important; fill: rgba(0, 0, 0, 0.2980392156862745) !important;} .u-resetSpectrum .u-accentColor--borderLight {border-color: rgba(26, 137, 23, 1) !important;} .u-resetSpectrum .u-accentColor--borderNormal {border-color: rgba(26, 137, 23, 1) !important;} .u-resetSpectrum .u-accentColor--borderDark {border-color: rgba(17, 128, 14, 1) !important;} .u-resetSpectrum .u-accentColor--iconLight .svgIcon,.u-resetSpectrum .u-accentColor--iconLight.svgIcon {fill: rgba(26, 137, 23, 1) !important;} .u-resetSpectrum .u-accentColor--iconNormal .svgIcon,.u-resetSpectrum .u-accentColor--iconNormal.svgIcon {fill: rgba(17, 128, 14, 1) !important;} .u-resetSpectrum .u-accentColor--iconDark .svgIcon,.u-resetSpectrum .u-accentColor--iconDark.svgIcon {fill: rgba(15, 115, 12, 1) !important;} .u-resetSpectrum .u-accentColor--textNormal {color: rgba(17, 128, 14, 1) !important;} .u-resetSpectrum .u-accentColor--hoverTextNormal:hover {color: rgba(17, 128, 14, 1) !important;} .u-resetSpectrum .u-accentColor--textNormal.u-accentColor--textDarken:hover {color: rgba(15, 115, 12, 1) !important;} .u-resetSpectrum .u-accentColor--textDark {color: rgba(15, 115, 12, 1) !important;} .u-resetSpectrum .u-accentColor--backgroundLight {background-color: rgba(26, 137, 23, 1) !important;} .u-resetSpectrum .u-accentColor--backgroundNormal {background-color: rgba(17, 128, 14, 1) !important;} .u-resetSpectrum .u-accentColor--backgroundDark {background-color: rgba(15, 115, 12, 1) !important;} .u-resetSpectrum .u-accentColor--buttonDark {border-color: rgba(17, 128, 14, 1) !important; color: rgba(15, 115, 12, 1) !important;} .u-resetSpectrum .u-accentColor--buttonDark:hover {border-color: rgba(15, 115, 12, 1) !important;} .u-resetSpectrum .u-accentColor--buttonDark .icon:before,.u-resetSpectrum .u-accentColor--buttonDark .svgIcon{color: rgba(15, 115, 12, 1) !important; fill: rgba(15, 115, 12, 1) !important;} .u-resetSpectrum .u-accentColor--buttonNormal:not(.clapButton--largePill) {border-color: rgba(26, 137, 23, 1) !important; color: rgba(17, 128, 14, 1) !important;} .u-resetSpectrum .u-accentColor--buttonNormal:hover {border-color: rgba(17, 128, 14, 1) !important;} .u-resetSpectrum .u-accentColor--buttonNormal .icon:before,.u-resetSpectrum .u-accentColor--buttonNormal .svgIcon{color: rgba(17, 128, 14, 1) !important; fill: rgba(17, 128, 14, 1) !important;} .u-resetSpectrum .u-accentColor--buttonNormal.button--filled .icon:before,.u-resetSpectrum .u-accentColor--buttonNormal.button--filled .svgIcon{color: rgba(255, 255, 255, 1) !important; fill: rgba(255, 255, 255, 1) !important;} .u-resetSpectrum .u-accentColor--buttonDark.button--filled,.u-resetSpectrum .u-accentColor--buttonDark.button--withChrome.is-active,.u-resetSpectrum .u-accentColor--fillWhenActive.is-active {background-color: rgba(15, 115, 12, 1) !important; border-color: rgba(15, 115, 12, 1) !important; color: rgba(255, 255, 255, 1) !important; fill: rgba(255, 255, 255, 1) !important;} .u-resetSpectrum .u-accentColor--buttonNormal.button--filled:not(.clapButton--largePill),.u-resetSpectrum .u-accentColor--buttonNormal.button--withChrome.is-active:not(.clapButton--largePill) {background-color: rgba(17, 128, 14, 1) !important; border-color: rgba(17, 128, 14, 1) !important; color: rgba(255, 255, 255, 1) !important; fill: rgba(255, 255, 255, 1) !important;} .u-resetSpectrum .postArticle.is-withAccentColors .markup--user,.u-resetSpectrum .postArticle.is-withAccentColors .markup--query {color: rgba(17, 128, 14, 1) !important;}</style><div class="js-collectionFooter u-tintBgColor u-hide"><div class="container u-maxWidth1040"><div class="u-marginTop10 u-paddingTop10 u-paddingBottom30 u-tintSpectrum"><div class="linkSet u-clearfix"><div class="u-floatRight u-textColorNormal u-baseColor--textNormal u-xs-floatLeft"><a class="button button--chromeless u-baseColor--buttonNormal u-marginLeft15 u-lineHeight35 u-xs-block u-xs-marginLeft0" href="https://shift.infinite.red/about" title="About Red Shift" aria-label="About Red Shift" data-collection-slug="infinite-red">About Red Shift</a><span class="middotDivider u-xs-hide"></span><a class="button button--chromeless u-baseColor--buttonNormal u-lineHeight35 u-xs-block" href="https://shift.infinite.red/latest" title="Latest Stories for Red Shift" aria-label="Latest Stories for Red Shift" data-collection-slug="infinite-red">Latest Stories</a><span class="middotDivider u-xs-hide"></span><a class="button button--chromeless u-baseColor--buttonNormal u-lineHeight35 u-xs-block" href="https://shift.infinite.red/archive" title="Archive for Red Shift" aria-label="Archive for Red Shift" data-collection-slug="infinite-red">Archive</a><span class="middotDivider u-xs-hide"></span><a class="button button--chromeless u-baseColor--buttonNormal u-lineHeight35 u-xs-block" href="https://medium.com/about">About Medium</a><span class="middotDivider u-xs-hide"></span><a class="button button--chromeless u-baseColor--buttonNormal u-lineHeight35 u-xs-block" href="https://policy.medium.com/medium-terms-of-service-9db0094a1e0f">Terms</a><span class="middotDivider u-xs-hide"></span><a class="button button--chromeless u-baseColor--buttonNormal u-lineHeight35 u-xs-block" href="https://policy.medium.com/medium-privacy-policy-f03bf92035c9">Privacy</a><span class="middotDivider u-xs-hide"></span><a class="button button--chromeless u-baseColor--buttonNormal u-lineHeight35 u-xs-block" href="https://medium.com/business">Teams</a></div></div></div></div></div></div></div></div><div class="loadingBar"></div><script>// <![CDATA[ window["obvInit"] = function (opt_embedded) {window["obvInit"]["embedded"] = opt_embedded; window["obvInit"]["ready"] = true;} // ]]></script><script>// <![CDATA[ var GLOBALS = {"audioUrl":"https://d1fcbxp97j4nb2.cloudfront.net","baseUrl":"https://shift.infinite.red","buildLabel":"20250402-1905-root","currentUser":{"userId":"lo_55326bb1abf0","isVerified":false,"subscriberEmail":"","hasPastMemberships":false,"isEnrolledInHightower":false,"isEligibleForHightower":true,"hightowerLastLockedAt":0,"isWriterProgramEnrolled":true,"isWriterProgramInvited":false,"isWriterProgramOptedOut":false,"writerProgramVersion":0,"writerProgramEnrolledAt":0,"friendLinkOnboarding":0,"hasAdditionalUnlocks":false,"hasApiAccess":false,"writerProgramDistributionSettingOptedIn":false,"isSuspended":false,"collectionOnboardingSeen":0,"atsQualifiedAt":0},"currentUserHasUnverifiedEmail":false,"isAuthenticated":false,"isCurrentUserVerified":false,"miroUrl":"https://cdn-images-1.medium.com","moduleUrls":{"base":"https://cdn-static-1.medium.com/_/fp/gen-js/main-base.bundle.3jm7g41XdQKykuw55h74Eg.12.js","common-async":"https://cdn-static-1.medium.com/_/fp/gen-js/main-common-async.bundle.JjSKBQ0hhx_sG-VK1QsfzA.12.js","hightower":"https://cdn-static-1.medium.com/_/fp/gen-js/main-hightower.bundle.Sbq5rN7mnRFFhd9663VgQg.12.js","home-screens":"https://cdn-static-1.medium.com/_/fp/gen-js/main-home-screens.bundle.P5DOvs33eZq2vtnRFa9tMw.12.js","misc-screens":"https://cdn-static-1.medium.com/_/fp/gen-js/main-misc-screens.bundle.a4yBK2pA9RcJNA3B-RBgQg.12.js","notes":"https://cdn-static-1.medium.com/_/fp/gen-js/main-notes.bundle.0ArgIQSby_HGH4M0I-mhIQ.12.js","payments":"https://cdn-static-1.medium.com/_/fp/gen-js/main-payments.bundle.QfTt0I9toSma5xqkGX8qjg.12.js","posters":"https://cdn-static-1.medium.com/_/fp/gen-js/main-posters.bundle.lGxyJtZlrs-PnBcznThhfA.12.js","power-readers":"https://cdn-static-1.medium.com/_/fp/gen-js/main-power-readers.bundle.awg6phvqmvH3Xt4l3v8d8A.12.js","pubs":"https://cdn-static-1.medium.com/_/fp/gen-js/main-pubs.bundle.mEsfSAsZEikaGiW06WHTQQ.12.js","stats":"https://cdn-static-1.medium.com/_/fp/gen-js/main-stats.bundle.kIgMxb5kGqZrzIpjXmhPMw.12.js"},"previewConfig":{"weightThreshold":1,"weightImageParagraph":0.51,"weightIframeParagraph":0.8,"weightTextParagraph":0.08,"weightEmptyParagraph":0,"weightP":0.003,"weightH":0.005,"weightBq":0.003,"minPTextLength":60,"truncateBoundaryChars":20,"detectTitle":true,"detectTitleLevThreshold":0.15},"productName":"Medium","supportsEdit":false,"termsUrl":"//policy.medium.com/medium-terms-of-service-9db0094a1e0f","textshotHost":"textshot.textshot-production.svc.cluster.local","transactionId":"1743623560308:bb3200f99d9c","useragent":{"browser":"ie","family":"ie","os":"windows","version":7,"supportsDesktopEdit":false,"supportsInteract":false,"supportsView":true,"isMobile":false,"isTablet":false,"isNative":false,"supportsFileAPI":false,"isTier1":false,"clientVersion":"","clientChannel":"","supportsRealScrollEvents":false,"supportsVhUnits":false,"ruinsViewportSections":false,"supportsHtml5Video":false,"supportsMagicUnderlines":false,"isWebView":false,"isFacebookWebView":false,"supportsProgressiveMedia":false,"supportsPromotedPosts":true,"isBot":false,"isNativeIphone":false,"supportsCssVariables":false,"supportsVideoSections":true,"emojiSupportLevel":1,"isSearchBot":false,"isSyndicationBot":false,"isNativeAndroid":false,"isNativeIos":false,"isSeoAuditBot":false,"isInternalApp":false,"supportsApplePay":false,"supportsScrollableMetabar":false},"variants":{"allow_access":true,"allow_signup":true,"allow_test_auth":"disallow","android_dense_post_preview":"control","android_enable_editor_new_publishing_flow":true,"android_enable_friend_links_creation":true,"android_enable_friend_links_postpage_banners":true,"android_enable_image_sharer":true,"android_enable_lists_v2":true,"android_enable_syntax_highlight":true,"android_enable_topic_portals":true,"android_rating_prompt_stories_read_threshold":2,"android_two_hour_refresh":true,"available_annual_plan":"2c754bcc2995","available_annual_premium_plan":"4a442ace1476","available_monthly_plan":"60e220181034","available_monthly_premium_plan":"12a660186432","browsable_stream_config_bucket":"curated-topics","can_receive_tips_v0":true,"can_send_tips_v0":true,"coronavirus_topic_recirc":true,"disable_partner_program_enrollment":true,"disable_rex_pub_featuring_recirc":true,"enable_abandoned_cart_promotion_email":true,"enable_abandoned_paywall_promotion_email":true,"enable_android_dynamic_aspirational_paywall":true,"enable_android_dynamic_programming_paywall":true,"enable_android_miro_v2":true,"enable_android_offline_reading":true,"enable_android_verified_author":true,"enable_app_flirty_thirty":true,"enable_apple_sign_in":true,"enable_apple_webhook":true,"enable_aurora_pub_follower_page":true,"enable_author_cards":true,"enable_author_cards_byline":true,"enable_auto_follow_on_subscribe":true,"enable_automod":true,"enable_bg_post_post":true,"enable_boost_experiment":"control","enable_braintree_apple_pay":true,"enable_braintree_client":true,"enable_braintree_google_pay":true,"enable_braintree_integration":true,"enable_braintree_paypal":true,"enable_braintree_trial_membership":true,"enable_braintree_webhook":true,"enable_branch_io":true,"enable_cache_less_following_feed":true,"enable_cancellation_discount_v1_1":true,"enable_configure_pronouns":true,"enable_conversion_model_v2":"group_2","enable_conversion_ranker_v2":"control","enable_creator_welcome_email":true,"enable_deprecate_legacy_providers_v3":true,"enable_deviant_get_variant_flag_from_medium2":true,"enable_diversification_rex":true,"enable_engagement_service_publish_response":true,"enable_entities_to_follow_v2":true,"enable_eventstats_event_processing":true,"enable_footer_app_buttons":true,"enable_google_one_tap":true,"enable_google_webhook":true,"enable_group_gifting":true,"enable_homepage_featured_feed":true,"enable_hybrid_ranking_model":"experiment","enable_iceland_forced_android":true,"enable_inline_comments":true,"enable_intrinsic_automatic_actions":true,"enable_ios_autorefresh":true,"enable_ios_dynamic_paywall_aspiriational":true,"enable_ios_dynamic_paywall_programming":true,"enable_ios_easy_resubscribe":true,"enable_ios_offline_reading":true,"enable_legacy_feed_in_iceland":true,"enable_lite_archive_page":true,"enable_lite_continue_this_thread":true,"enable_lite_homepage":true,"enable_lite_response_markup":true,"enable_lite_server_upstream_deadlines":true,"enable_lo_homepage":"control","enable_maim_the_meter":true,"enable_marketing_emails":true,"enable_mastodon_avatar_upload":true,"enable_mastodon_for_members":true,"enable_mastodon_for_members_username_selection":true,"enable_medium2_kbfd":true,"enable_medium_com_canonical_urls":true,"enable_members_only_audio":true,"enable_ml_rank_rex_anno":true,"enable_moc_load_processor_all_recs_surfaces":true,"enable_moc_load_processor_c":true,"enable_moc_load_processor_first_story":true,"enable_new_manage_membership_flow":true,"enable_new_stripe_customers":true,"enable_newsletter_lo_flow_custom_domains":true,"enable_pill_based_home_feed":true,"enable_post_bottom_responses":true,"enable_post_bottom_responses_input":true,"enable_post_bottom_responses_native":true,"enable_post_publish_permission_check":true,"enable_pp_country_expansion":true,"enable_pp_v4":true,"enable_pre_pp_v4":true,"enable_premium_tier":true,"enable_premium_tier_badge":true,"enable_pub_featuring":true,"enable_pub_featuring_notifications":true,"enable_pub_featuring_post_page_label":true,"enable_pub_featuring_stats":true,"enable_ranker_v10":"control","enable_recaptcha_enterprise":true,"enable_recirc_model":true,"enable_recommended_publishers_query":true,"enable_rex_aggregator_v2":true,"enable_rex_new_push_notification_endpoint":true,"enable_rex_reading_history":true,"enable_rito_upstream_deadlines":true,"enable_seamless_social_sharing":true,"enable_see_pronouns":true,"enable_sharer_create_post_share_key":true,"enable_sharer_validate_post_share_key":true,"enable_simplified_digest_v2_b":true,"enable_speechify_ios":true,"enable_speechify_widget":true,"enable_sprig":true,"enable_starspace":true,"enable_susi_redesign_android":true,"enable_susi_redesign_ios":true,"enable_switch_plan_premium_tier":true,"enable_tag_recs":true,"enable_tick_landing_page":true,"enable_tipping_v0_android":true,"enable_tipping_v0_ios":true,"enable_tribute_landing_page":true,"enable_trust_service_recaptcha":true,"enable_update_explore_wtf":true,"enable_update_topic_portals_wtf":true,"enable_updated_pub_recs_ui":true,"enable_user_profile_nofollow_attribute":true,"enable_verifications_service":true,"enable_winback_promotion_email":true,"get_highlights_from_engagement":true,"glyph_font_set":"m2-unbound-source-serif-pro","goliath_externalsearch_enable_comment_deindexation":true,"ios_display_paywall_after_onboarding":true,"ios_enable_friend_links_creation":true,"ios_enable_friend_links_postpage_banners":true,"ios_enable_home_post_menu":true,"ios_enable_lock_responses":true,"ios_enable_verified_book_author":true,"ios_iceland_nux":true,"ios_in_app_free_trial":true,"ios_remove_twitter_onboarding_step":true,"ios_social_share_sheet":true,"limit_post_referrers":true,"limit_user_follows":true,"mobile_custom_app_icon":true,"num_post_bottom_responses_to_show":3,"onboarding_tags_from_top_views":true,"reader_fair_distribution_non_qp":true,"redefined_top_posts":true,"reengagement_notification_duration":3,"rex_filter_presentation_count_increase":"experiment_b","rex_generator_max_candidates":1000,"signin_services":"twitter,facebook,google,email,google-fastidv,google-one-tap,apple","signup_services":"twitter,facebook,google,email,google-fastidv,google-one-tap,apple","skip_fs_cache_user_vals":true},"xsrfToken":"","iosAppId":"828256236","supportEmail":"yourfriends@medium.com","fp":{"/icons/monogram-mask.svg":"https://cdn-static-1.medium.com/_/fp/icons/monogram-mask.KPLCSFEZviQN0jQ7veN2RQ.12.svg","/icons/favicon-medium-editor.ico":"https://cdn-static-1.medium.com/_/fp/icons/favicon-medium-editor.PiakrZWB7Yb80quUVQWM6g.12.ico"},"authBaseUrl":"https://medium.com","imageUploadSizeMb":25,"isAuthDomainRequest":false,"domainCollectionSlug":"infinite-red","algoliaApiEndpoint":"https://MQ57UUUQZ2-dsn.algolia.net","algoliaAppId":"MQ57UUUQZ2","algoliaSearchOnlyApiKey":"394474ced050e3911ae2249ecc774921","iosAppStoreUrl":"https://itunes.apple.com/app/medium-everyones-stories/id828256236?pt=698524&mt=8","iosAppLinkBaseUrl":"medium:","algoliaIndexPrefix":"medium_","androidPlayStoreUrl":"https://play.google.com/store/apps/details?id=com.medium.reader","googleClientId":"216296035834-k1k6qe060s2tp2a2jam4ljdcms00sttg.apps.googleusercontent.com","androidPackage":"com.medium.reader","androidPlayStoreMarketScheme":"market://details?id=com.medium.reader","googleAuthUri":"https://accounts.google.com/o/oauth2/auth","androidScheme":"medium","layoutData":{"useDynamicScripts":false,"googleAnalyticsTrackingCode":"G-7JY7T788PK","jsShivUrl":"https://cdn-static-1.medium.com/_/fp/js/shiv.RI2ePTZ5gFmMgLzG5bEVAA.12.js","useDynamicCss":false,"faviconUrl":"https://miro.medium.com/v2/5d8de952517e8160e40ef9841c781cdc14a5db313057fa3c3de41c6f5b494b19","faviconImageId":"5d8de952517e8160e40ef9841c781cdc14a5db313057fa3c3de41c6f5b494b19","fontSets":[{"id":8,"url":"https://glyph.medium.com/css/e/sr/latin/e/ssr/latin/e/ssb/latin/m2-unbound-source-serif-pro.css"},{"id":11,"url":"https://glyph.medium.com/css/m2-unbound-source-serif-pro.css"},{"id":9,"url":"https://glyph.medium.com/css/mkt.css"}],"glyphUrl":"https://glyph.medium.com"},"authBaseUrlRev":"moc.muidem//:sptth","stripePublishableKey":"pk_live_7FReX44VnNIInZwrIIx6ghjl","archiveUploadSizeMb":100,"previewConfig2":{"weightThreshold":1,"weightImageParagraph":0.05,"raiseImage":true,"enforceHeaderHierarchy":true,"isImageInsetRight":true},"isAmp":false,"iosScheme":"medium","facebook":{"key":"542599432471018","namespace":"medium-com","scope":{"default":["public_profile","email"],"connect":["public_profile","email"],"login":["public_profile","email"],"share":["public_profile","email"]}},"memberContentTopicId":"13d7efd82fb2","audioContentTopicId":"3792abbd134","isDoNotAuth":false,"buggle":{"videoUrl":"https://cdn-videos-1.medium.com","audioUrl":"https://cdn-audio-1.medium.com"},"referrerType":5,"partnerProgramEmail":"partnerprogram@medium.com","recaptchaKey":"6Lfc37IUAAAAAKGGtC6rLS13R1Hrw_BqADfS1LRk","countryCode":"SG","bypassMeter":false,"branchKey":"key_live_ofxXr2qTrrU9NqURK8ZwEhknBxiI6KBm","paypal":{"clientMode":"production","oneYearGift":{"name":"Medium Membership (1 Year, Digital Gift Code)","description":"Unlimited access to the best and brightest stories on Medium. Gift codes can be redeemed at medium.com/redeem.","price":"50.00","currency":"USD","sku":"membership-gift-1-yr"}},"collectionConfig":{"mediumOwnedAndOperatedCollectionIds":["8a9336e5bb4","b7e45b22fec3","193b68bd4fba","8d6b8a439e32","54c98c43354d","3f6ecf56618","d944778ce714","92d2092dc598","ae2a65f35510","1285ba81cada","544c7006046e","fc8964313712","40187e704f1c","88d9857e584e","7b6769f2748b","bcc38c8f6edf","cef6983b292","cb8577c9149e","444d13b52878","713d7dbc99b0","ef8e90590e66","191186aaafa0","55760f21cdc5","9dc80918cc93","bdc4052bbdba","8ccfed20cbb2"]},"bypassMeterWithShareKey":false,"recaptcha3Key":"6Lf8R9wUAAAAABMI_85Wb8melS7Zj6ziuf99Yot5","braintreeClientKey":"production_zjkj96jm_m56f8fqpf7ngnrd4","cdcMessaging":[{"text":"For more information on the novel coronavirus and Covid-19, visit ","href":"","type":"text","start":0,"end":0},{"text":"cdc.gov","href":"https://www.cdc.gov/coronavirus/2019-nCoV","type":"link","start":66,"end":73},{"text":".","href":"","type":"text","start":0,"end":0}],"braintree":{"merchantId":"m56f8fqpf7ngnrd4"},"diagnostics":{},"domain":"medium.com"} // ]]></script><script charset="UTF-8" src="https://cdn-static-1.medium.com/_/fp/gen-js/main-base.bundle.3jm7g41XdQKykuw55h74Eg.12.js" async></script><script>// <![CDATA[ window["obvInit"]({"references":{"CollectionPromo":{"95053d0cabc":{"promoId":"95053d0cabc","collectionId":"fb597d020d1c","createdAt":1542827396831,"linkWithContentItem":{"url":"http://newsletter.infinite.red/","image":{"id":"1*xw-ZjJaGsMoTtxKeayBVeQ@2x.png","originalWidth":92,"originalHeight":67},"description":"Sign up for our newsletter — we promise no spam, just good stuff once a month.","buttonText":"Sign Up Now","tintColor":"#FFE93636","colorSpectrum":{"colorPoints":[{"color":"#FFE93636","point":0},{"color":"#FFF64D47","point":0.1},{"color":"#FFFF6158","point":0.2},{"color":"#FFFF7469","point":0.3},{"color":"#FFFF867A","point":0.4},{"color":"#FFFF988C","point":0.5},{"color":"#FFFFAA9E","point":0.6},{"color":"#FFFFBBB0","point":0.7},{"color":"#FFFFCCC2","point":0.8},{"color":"#FFFFDDD4","point":0.9},{"color":"#FFFFEEE7","point":1}],"backgroundColor":"#FFE93636"},"isLightText":true},"itemType":"linkWithContentItem","type":"CollectionPromo"}},"Collection":{"fb597d020d1c":{"id":"fb597d020d1c","name":"Red Shift","slug":"infinite-red","tags":["REACT NATIVE","REMOTE WORKING","DESIGN","DEVELOPMENT","REACT"],"creatorId":"4a1ccb16af26","description":"The official Infinite Red publication for React Native design & development. We’re a fully distributed team building world-class apps for over 20 years for clients all around the world.","shortDescription":"The official Infinite Red publication for React Native…","image":{"imageId":"1*w_Gqag3X7I1Zur39CsHUOA@2x.jpeg","filter":"","backgroundSize":"","originalWidth":2000,"originalHeight":2000,"strategy":"resample","height":0,"width":0},"metadata":{"followerCount":5413,"activeAt":1743022474864},"virtuals":{"permissions":{"canPublish":false,"canPublishAll":false,"canRepublish":false,"canRemove":false,"canManageAll":false,"canSubmit":false,"canEditPosts":false,"canAddWriters":false,"canViewStats":false,"canSendNewsletter":false,"canViewLockedPosts":false,"canViewCloaked":false,"canEditOwnPosts":false,"canBeAssignedAuthor":false,"canEnrollInHightower":false,"canLockPostsForMediumMembers":false,"canLockOwnPostsForMediumMembers":false,"canViewNewsletterV2Stats":false,"canCreateNewsletterV3":false},"isSubscribed":false,"isEnrolledInHightower":false,"isEligibleForHightower":false,"isSubscribedToCollectionEmails":false,"isMuted":false,"canToggleEmail":false,"isWriter":false},"logo":{"imageId":"1*QQB7dtbmya6b69JI2-1gnA.jpeg","filter":"","backgroundSize":"","originalWidth":1200,"originalHeight":1200,"strategy":"resample","height":0,"width":0},"twitterUsername":"infinite_red","facebookPageName":"infiniteredinc","publicEmail":"hello@infinite.red","collectionMastheadId":"5a93c61fc8c8","domain":"shift.infinite.red","sections":[{"type":2,"collectionHeaderMetadata":{"title":"Red Shift","description":"Sharing thoughts & experiences about design, development, and remote work at Infinite Red. From the desks of a fully distributed team across the U.S.","backgroundImage":{},"logoImage":{"id":"1*zFVOmQgOKF8oQAqNgaZbZA@2x.png","originalWidth":880,"originalHeight":882,"alt":"Red Shift"},"alignment":2,"layout":6}},{"type":1,"postListMetadata":{"source":1,"layout":4,"number":1,"postIds":[]}},{"type":1,"postListMetadata":{"source":1,"layout":4,"number":3,"postIds":[]}},{"type":3,"promoMetadata":{"sectionHeader":"","promoId":"95053d0cabc"}},{"type":1,"postListMetadata":{"source":1,"layout":4,"number":12,"postIds":[]}},{"type":3,"promoMetadata":{"sectionHeader":"","promoId":"623b0623145b"}},{"type":1,"postListMetadata":{"source":3,"layout":4,"number":24,"postIds":["3ac721c00514","a0ed4c2e6869"],"sectionHeader":"Remote Work: Advice from a fully distributed team"}},{"type":1,"postListMetadata":{"source":1,"layout":4,"number":24,"postIds":[]}}],"tintColor":"#FF180E0B","lightText":true,"favicon":{"imageId":"1*XPdxkr6f-60VVmmdUW7xwA.jpeg","filter":"","backgroundSize":"","originalWidth":440,"originalHeight":441,"strategy":"resample","height":0,"width":0},"colorPalette":{"defaultBackgroundSpectrum":{"colorPoints":[{"color":"#FF91807B","point":0},{"color":"#FF867773","point":0.1},{"color":"#FF7C6E6A","point":0.2},{"color":"#FF716561","point":0.3},{"color":"#FF665B58","point":0.4},{"color":"#FF5B524F","point":0.5},{"color":"#FF4F4845","point":0.6},{"color":"#FF443D3B","point":0.7},{"color":"#FF373230","point":0.8},{"color":"#FF2A2625","point":0.9},{"color":"#FF1C1918","point":1}],"backgroundColor":"#FFFFFFFF"},"tintBackgroundSpectrum":{"colorPoints":[{"color":"#FF180E0B","point":0},{"color":"#FF392E2A","point":0.1},{"color":"#FF554945","point":0.2},{"color":"#FF6E625E","point":0.3},{"color":"#FF857976","point":0.4},{"color":"#FF9B8F8C","point":0.5},{"color":"#FFAFA5A2","point":0.6},{"color":"#FFC3B9B7","point":0.7},{"color":"#FFD6CDCB","point":0.8},{"color":"#FFE9E1DF","point":0.9},{"color":"#FFFBF4F3","point":1}],"backgroundColor":"#FF180E0B"},"highlightSpectrum":{"colorPoints":[{"color":"#FFF8F1EF","point":0},{"color":"#FFF7EEEC","point":0.1},{"color":"#FFF6ECEA","point":0.2},{"color":"#FFF5EAE7","point":0.3},{"color":"#FFF3E8E5","point":0.4},{"color":"#FFF2E6E3","point":0.5},{"color":"#FFF1E4E0","point":0.6},{"color":"#FFF0E2DE","point":0.7},{"color":"#FFEEE0DB","point":0.8},{"color":"#FFEDDDD9","point":0.9},{"color":"#FFECDBD7","point":1}],"backgroundColor":"#FFFFFFFF"},"darkBackgroundSpectrum":{"colorPoints":[{"color":"#FFAA9893","point":0},{"color":"#FFB2A19C","point":0.1},{"color":"#FFB9A9A5","point":0.2},{"color":"#FFC1B2AE","point":0.3},{"color":"#FFC9BBB7","point":0.4},{"color":"#FFD0C3C0","point":0.5},{"color":"#FFD7CCC9","point":0.6},{"color":"#FFDFD4D1","point":0.7},{"color":"#FFE6DCDA","point":0.8},{"color":"#FFEDE4E2","point":0.9},{"color":"#FFF4EDEB","point":1}],"backgroundColor":"#FF000000"}},"navItems":[{"type":4,"title":"Development","url":"https://shift.infinite.red/development/home","topicId":"759897d7ccad","source":"topicId"},{"type":4,"title":"Design","url":"https://shift.infinite.red/ir-design/home","topicId":"5a790623826e","source":"topicId"},{"type":4,"title":"Remote Work","url":"https://shift.infinite.red/remote-work/home","topicId":"5d9b7e2c2218","source":"topicId"},{"type":5,"title":"All Stories","url":"https://shift.infinite.red/archive"},{"type":3,"title":"Got a project? Reach out","url":"https://infinite.red/contact"}],"colorBehavior":2,"collectionFeatures":[30],"ampLogo":{"imageId":"","filter":"","backgroundSize":"","originalWidth":0,"originalHeight":0,"strategy":"resample","height":0,"width":0},"header":{"title":"Red Shift","description":"Sharing thoughts & experiences about design, development, and remote work at Infinite Red. From the desks of a fully distributed team across the U.S.","backgroundImage":{},"logoImage":{"id":"1*zFVOmQgOKF8oQAqNgaZbZA@2x.png","originalWidth":880,"originalHeight":882,"alt":"Red Shift"},"alignment":2,"layout":6},"subscriberCount":5413,"tagline":"Thoughts about React Native from the team at Infinite Red","instagramUsername":"infinitered_designers","isOptedIntoAurora":false,"isCurationAllowedByDefault":false,"polarisCoverImage":{"imageId":"","filter":"","backgroundSize":"","originalWidth":0,"originalHeight":0,"strategy":"resample","height":0,"width":0},"ptsQualifiedAt":1616092905258,"type":"Collection"}},"User":{"4a1ccb16af26":{"userId":"4a1ccb16af26","name":"Jamon Holmgren","username":"jamonholmgren","createdAt":1376464921569,"imageId":"1*QzJ_IYOZ7i5cFstZwpjILw.jpeg","backgroundImageId":"","bio":"Co-founder & CTO @infinite_red. Lutheran, husband, dad to 4, React Native Radio podcast host, Twitch streamer, hockey goalie. Talking shop!","allowNotes":1,"mediumMemberAt":0,"isWriterProgramEnrolled":true,"isSuspended":false,"isMembershipTrialEligible":true,"optInToIceland":true,"subdomainCreatedAt":1620246765880,"hasCompletedProfile":false,"userDismissableFlags":[29,12,8,5,21,53,3,2,18,1,17,33],"hasSeenIcelandOnboarding":true,"postSubscribeMembershipUpsellShownAt":0,"languageCode":"en-us","type":"User"},"6ca0fe37eac1":{"userId":"6ca0fe37eac1","name":"Gant Laborde","username":"gantlaborde","createdAt":1431043994091,"imageId":"1*gnkCSbW1lhpdf6ZvaLEXHQ.png","backgroundImageId":"","bio":"Software Consultant, Adjunct Professor, Published Author, Award Winning Speaker, Mentor, Organizer and Immature Nerd :D — Lately full of React Native Tech","twitterScreenName":"GantLaborde","allowNotes":1,"mediumMemberAt":0,"isWriterProgramEnrolled":true,"isSuspended":false,"isMembershipTrialEligible":true,"facebookDisplayName":"Gant Laborde","optInToIceland":true,"subdomainCreatedAt":1604931495317,"hasCompletedProfile":false,"userDismissableFlags":[12,8,5,53,3,2,1],"hasSeenIcelandOnboarding":true,"postSubscribeMembershipUpsellShownAt":0,"languageCode":"en-us","type":"User"},"c936dc63a114":{"userId":"c936dc63a114","name":"Tyler","username":"coolsoftwaretyler","createdAt":1647363352482,"imageId":"0*13IyCZk9OY3HLe3-","backgroundImageId":"","bio":"Senior Software Engineer at Infinite Red. Maintainer MobX-State-Tree.","twitterScreenName":"","allowNotes":1,"mediumMemberAt":0,"isWriterProgramEnrolled":true,"isSuspended":false,"isMembershipTrialEligible":true,"facebookDisplayName":"","optInToIceland":true,"hasCompletedProfile":false,"userDismissableFlags":[8,53,12,2],"hasSeenIcelandOnboarding":false,"postSubscribeMembershipUpsellShownAt":0,"languageCode":"en-us","type":"User"},"cc923365de1a":{"userId":"cc923365de1a","name":"Harris Robin","username":"harrisrobin","createdAt":1420515410755,"imageId":"1*U8fWt2OiYL_ClqG0RCSzFA.jpeg","backgroundImageId":"","bio":"","twitterScreenName":"brunostmann","allowNotes":1,"mediumMemberAt":0,"isWriterProgramEnrolled":true,"isSuspended":false,"isMembershipTrialEligible":true,"facebookDisplayName":"Harris Robin Kalash","optInToIceland":true,"hasCompletedProfile":false,"userDismissableFlags":[12,44,8,6,3,2,1],"hasSeenIcelandOnboarding":false,"postSubscribeMembershipUpsellShownAt":0,"languageCode":"en-us","type":"User"},"d253a8f9a5c3":{"userId":"d253a8f9a5c3","name":"Mazen Chami","username":"mazenchami","createdAt":1581605658250,"imageId":"1*VhuPlB27BW_7TDHx4oSdhg.jpeg","backgroundImageId":"","bio":"🇱🇧 🇳🇬 👨‍💻 Senior Software Engineer @ Infinite Red 🎙 React Native Radio co-host ⚽️ NCFC Youth Soccer Coach - Former Assistant/GK Coach at LA Strikers FC","twitterScreenName":"mazenchami","allowNotes":1,"mediumMemberAt":1591814099000,"isWriterProgramEnrolled":true,"isSuspended":false,"firstOpenedIosApp":1608994457840,"isMembershipTrialEligible":true,"facebookDisplayName":"","optInToIceland":true,"hasCompletedProfile":false,"userDismissableFlags":[29,12,8,5,2,1,33],"hasSeenIcelandOnboarding":true,"postSubscribeMembershipUpsellShownAt":0,"languageCode":"en-us","type":"User"},"507ba24f42a2":{"userId":"507ba24f42a2","name":"Trevor Coleman","username":"trevor-coleman","createdAt":1527708862982,"imageId":"1*3GLdPG2e3-xZxkSx4fvLGQ.jpeg","backgroundImageId":"","bio":"Senior Software Engineer at Infinite Red. Co-creator of Muse: the brain sensing headband. Love CI, DX, design tokens and linter rules, but not weird about it.","twitterScreenName":"","allowNotes":1,"mediumMemberAt":0,"isWriterProgramEnrolled":true,"isSuspended":false,"isMembershipTrialEligible":true,"facebookDisplayName":"","optInToIceland":true,"subdomainCreatedAt":1703008851113,"hasCompletedProfile":false,"userDismissableFlags":[8,12],"hasSeenIcelandOnboarding":false,"postSubscribeMembershipUpsellShownAt":0,"languageCode":"en-us","type":"User"},"ffa47137badd":{"userId":"ffa47137badd","name":"Josh Yoes","username":"joshyoes","createdAt":1541487485545,"imageId":"1*TkQkYChxc_6sLIYfZ1d-XA.jpeg","backgroundImageId":"","bio":"Senior Software Engineer at Infinite Red. I like writing about the Javascript ecosystem, React Native, emerging tools, and how humans and technology intersect.","twitterScreenName":"JoshuaYoes","allowNotes":1,"mediumMemberAt":0,"isWriterProgramEnrolled":true,"isSuspended":false,"isMembershipTrialEligible":false,"facebookDisplayName":"","optInToIceland":true,"hasCompletedProfile":false,"userDismissableFlags":[2,29,33],"hasSeenIcelandOnboarding":true,"postSubscribeMembershipUpsellShownAt":0,"languageCode":"en-us","type":"User"}},"Post":{"db9eb36c5af6":{"id":"db9eb36c5af6","versionId":"a9f8bba25280","creatorId":"4a1ccb16af26","homeCollectionId":"fb597d020d1c","title":"React Native: 10 years 🎊","detectedLanguage":"en","latestVersion":"a9f8bba25280","latestPublishedVersion":"a9f8bba25280","hasUnpublishedEdits":false,"latestRev":1055,"createdAt":1742316424115,"updatedAt":1743024487029,"acceptedAt":0,"firstPublishedAt":1743022474785,"latestPublishedAt":1743022474785,"vote":false,"experimentalCss":"","displayAuthor":"","content":{"subtitle":"Today, March 26, 2025, is the 10 year anniversary of React Native being open sourced!","postDisplay":{"coverless":true}},"virtuals":{"statusForCollection":"APPROVED","allowNotes":true,"previewImage":{"imageId":"1*w0aoSYo_zgW3lbcVb9BNOA@2x.png","filter":"","backgroundSize":"","originalWidth":1298,"originalHeight":1068,"strategy":"resample","height":0,"width":0},"wordCount":1169,"imageCount":14,"readingTime":5.861320754716981,"subtitle":"Today, March 26, 2025, is the 10 year anniversary of React Native being open sourced!","publishedInCount":1,"usersBySocialRecommends":[],"noIndex":false,"recommends":16,"isBookmarked":false,"tags":[],"socialRecommendsCount":0,"responsesCreatedCount":3,"links":{"entries":[{"url":"https://jsx.github.io/doc/tutorial.html","alts":[],"httpStatus":200},{"url":"https://x.com/andy_matuschak/status/560511204867575808","alts":[],"httpStatus":400},{"url":"https://x.com/tomocchino?lang=en","alts":[],"httpStatus":400},{"url":"https://x.com/jlongster/status/561617797978275840","alts":[],"httpStatus":400},{"url":"https://x.com/jordwalke/status/581150303925366784","alts":[],"httpStatus":400},{"url":"https://reactnativenewsletter.com","alts":[],"httpStatus":200},{"url":"https://building.infinite.red","alts":[],"httpStatus":200},{"url":"https://rn-versions.github.io/","alts":[],"httpStatus":200},{"url":"https://dockyard.com/blog/2015/01/30/why-i-am-disappointed-in-react-native","alts":[],"httpStatus":200},{"url":"https://archive.jlongster.com/First-Impressions-using-React-Native","alts":[],"httpStatus":200},{"url":"https://expo.dev/","alts":[],"httpStatus":200},{"url":"https://www.theverge.com/2015/9/22/9370739/3d-touch-features-iphone-6s","alts":[],"httpStatus":200},{"url":"https://engineering.fb.com/2015/09/14/developer-tools/react-native-for-android-how-we-built-the-first-cross-platform-react-native-app/","alts":[],"httpStatus":200},{"url":"https://engineering.fb.com/2015/03/26/android/react-native-bringing-modern-web-techniques-to-mobile/","alts":[],"httpStatus":200},{"url":"https://youtube.infinite.red","alts":[{"type":2,"url":"vnd.youtube://www.youtube.com/channel/UCwpSzVt7QpLDbCnPXqR97-g"},{"type":3,"url":"https://www.youtube.com/channel/UCwpSzVt7QpLDbCnPXqR97-g?feature=applinks"}],"httpStatus":200},{"url":"https://www.apple.com/newsroom/2015/03/09Apple-Watch-Available-in-Nine-Countries-on-April-24/","alts":[],"httpStatus":200},{"url":"https://www.youtube.com/watch?v=KVZ-P-ZI6W4&t=1375s","alts":[],"httpStatus":200},{"url":"https://infinite.red/ignite","alts":[],"httpStatus":200},{"url":"https://infinite.red","alts":[],"httpStatus":200},{"url":"https://reactnativeradio.com","alts":[],"httpStatus":200},{"url":"https://reactnativeradio.com/","alts":[],"httpStatus":200},{"url":"https://infinite.red/react-native-radio/rnr-323-static-hermes-with-tzvetan-mikov","alts":[],"httpStatus":200}],"version":"0.3","generatedAt":1743022476365},"isLockedPreviewOnly":false,"metaDescription":"","totalClapCount":515,"sectionCount":2,"readingList":0,"topics":[{"topicId":"63c6f1f93ee","slug":"javascript","createdAt":1493945704961,"deletedAt":0,"image":{"id":"1*5UyyDJ1ESD11yQNd1UVAaQ@2x.jpeg","originalWidth":5472,"originalHeight":3648},"name":"Javascript","description":"An ode to code.","relatedTopics":[],"visibility":1,"relatedTags":[],"relatedTopicIds":[],"seoTitle":"Javascript News and Articles — Medium","type":"Topic"}]},"coverless":true,"slug":"react-native-10-years","translationSourcePostId":"","translationSourceCreatorId":"","isApprovedTranslation":false,"inResponseToPostId":"","inResponseToRemovedAt":0,"isTitleSynthesized":true,"allowResponses":true,"importedUrl":"","importedPublishedAt":0,"visibility":0,"uniqueSlug":"react-native-10-years-db9eb36c5af6","previewContent":{"bodyModel":{"paragraphs":[{"name":"previewImage","type":4,"text":"","layout":10,"metadata":{"id":"1*w0aoSYo_zgW3lbcVb9BNOA@2x.png","originalWidth":1298,"originalHeight":1068,"isFeatured":true}},{"name":"2354","type":3,"text":"React Native: 10 years 🎊","markups":[],"alignment":1},{"name":"d3d5","type":1,"text":"Today, March 26, 2025, is the 10 year anniversary of React Native being open sourced!","markups":[],"alignment":1}],"sections":[{"startIndex":0}]},"isFullContent":false,"subtitle":"Today, March 26, 2025, is the 10 year anniversary of React Native being open sourced!"},"license":0,"inResponseToMediaResourceId":"","canonicalUrl":"","approvedHomeCollectionId":"fb597d020d1c","isNewsletter":false,"newsletterId":"","webCanonicalUrl":"","mediumUrl":"","migrationId":"","notifyFollowers":true,"notifyTwitter":false,"notifyFacebook":false,"responseHiddenOnParentPostAt":0,"isSeries":false,"isSubscriptionLocked":false,"seriesLastAppendedAt":0,"audioVersionDurationSec":0,"sequenceId":"","isEligibleForRevenue":false,"isBlockedFromHightower":false,"deletedAt":0,"lockedPostSource":0,"hightowerMinimumGuaranteeStartsAt":0,"hightowerMinimumGuaranteeEndsAt":0,"featureLockRequestAcceptedAt":0,"mongerRequestType":1,"layerCake":0,"socialTitle":"","socialDek":"","editorialPreviewTitle":"","editorialPreviewDek":"","curationEligibleAt":0,"isProxyPost":false,"proxyPostFaviconUrl":"","proxyPostProviderName":"","proxyPostType":0,"isSuspended":false,"isLimitedState":false,"seoTitle":"","previewContent2":{"bodyModel":{"paragraphs":[{"name":"2354","type":3,"text":"React Native: 10 years 🎊","markups":[]},{"name":"e401","type":4,"text":"Jordan Walke’s tweet announcing Facebook open sourcing React Native","markups":[{"type":3,"start":0,"end":67,"href":"https://x.com/jordwalke/status/581150303925366784","title":"","rel":"","anchorType":0}],"layout":3,"metadata":{"id":"1*w0aoSYo_zgW3lbcVb9BNOA@2x.png","originalWidth":1298,"originalHeight":1068,"isFeatured":true}},{"name":"d3d5","type":1,"text":"Today, March 26, 2025, is the 10 year anniversary of React Native being open sourced!","markups":[]},{"name":"5043","type":1,"text":"Let’s go all the way back to 2015, just to set the scene. The iPhone 6s was released with “3D Touch” technology, Apple also released the first Apple Watch, and TikTok wouldn’t be invented until…","markups":[{"type":3,"start":62,"end":84,"href":"https://www.theverge.com/2015/9/22/9370739/3d-touch-features-iphone-6s","title":"","rel":"","anchorType":0},{"type":3,"start":124,"end":154,"href":"https://www.apple.com/newsroom/2015/03/09Apple-Watch-Available-in-Nine-Countries-on-April-24/","title":"","rel":"","anchorType":0},{"type":1,"start":0,"end":57}]}],"sections":[{"name":"cc68","startIndex":0}]},"isFullContent":false,"subtitle":"Today, March 26, 2025, is the 10 year anniversary of React Native being open sourced!"},"cardType":0,"isDistributionAlertDismissed":false,"isShortform":false,"shortformType":0,"responsesLocked":false,"isLockedResponse":false,"isPublishToEmail":false,"responseDistribution":0,"isMarkedPaywallOnly":false,"type":"Post"},"b1fffb0f0152":{"id":"b1fffb0f0152","versionId":"841dde711690","creatorId":"6ca0fe37eac1","homeCollectionId":"fb597d020d1c","title":"React Native vs Lynx JS","detectedLanguage":"en","latestVersion":"841dde711690","latestPublishedVersion":"841dde711690","hasUnpublishedEdits":false,"latestRev":910,"createdAt":1741711354003,"updatedAt":1741814952144,"acceptedAt":0,"firstPublishedAt":1741796599686,"latestPublishedAt":1741812806875,"vote":false,"experimentalCss":"","displayAuthor":"","content":{"subtitle":"What’s the difference? Why should I care?","postDisplay":{"coverless":true}},"virtuals":{"statusForCollection":"APPROVED","allowNotes":true,"previewImage":{"imageId":"1*hKQBNq-ouybBUiGBLSWvvQ.jpeg","filter":"","backgroundSize":"","originalWidth":2176,"originalHeight":544,"strategy":"resample","height":0,"width":0},"wordCount":1184,"imageCount":3,"readingTime":5.0179245283018865,"subtitle":"What’s the difference? Why should I care?","publishedInCount":1,"usersBySocialRecommends":[],"noIndex":false,"recommends":53,"isBookmarked":false,"tags":[{"slug":"react-native","name":"React Native","postCount":29493,"metadata":{"postCount":29493,"coverImage":{"id":"1*Sed3AMym26JAPV4TC2BKyQ.jpeg","originalWidth":744,"originalHeight":358,"isFeatured":true}},"type":"Tag"},{"slug":"lynx","name":"Lynx","postCount":216,"metadata":{"postCount":216,"coverImage":{"id":"1*Sed3AMym26JAPV4TC2BKyQ.jpeg","originalWidth":744,"originalHeight":358,"isFeatured":true}},"type":"Tag"},{"slug":"lynx-js","name":"Lynx Js","postCount":32,"metadata":{"postCount":32,"coverImage":{"id":"1*hKQBNq-ouybBUiGBLSWvvQ.jpeg","originalWidth":2176,"originalHeight":544,"isFeatured":true}},"type":"Tag"},{"slug":"react-native-development","name":"React Native Development","postCount":3595,"metadata":{"postCount":3595,"coverImage":{"id":"1*Fhm1nbOCRv1Vi7rpBMzIng.png","originalWidth":1500,"originalHeight":750,"isFeatured":true}},"type":"Tag"},{"slug":"lynx-vs-react-native","name":"React Native Vs Lynx","postCount":0,"metadata":{"postCount":0},"type":"Tag"}],"socialRecommendsCount":0,"responsesCreatedCount":5,"links":{"entries":[{"url":"https://vuejs.org/","alts":[],"httpStatus":200},{"url":"https://lynxjs.org/blog/lynx-unlock-native-for-more.html","alts":[],"httpStatus":200},{"url":"https://lynxjs.org/","alts":[],"httpStatus":200},{"url":"https://reactnative.dev/","alts":[],"httpStatus":200},{"url":"http://infinite.red/","alts":[],"httpStatus":200}],"version":"0.3","generatedAt":1741812807319},"isLockedPreviewOnly":false,"metaDescription":"","totalClapCount":921,"sectionCount":6,"readingList":0,"topics":[{"topicId":"63c6f1f93ee","slug":"javascript","createdAt":1493945704961,"deletedAt":0,"image":{"id":"1*5UyyDJ1ESD11yQNd1UVAaQ@2x.jpeg","originalWidth":5472,"originalHeight":3648},"name":"Javascript","description":"An ode to code.","relatedTopics":[],"visibility":1,"relatedTags":[],"relatedTopicIds":[],"seoTitle":"Javascript News and Articles — Medium","type":"Topic"},{"topicId":"decb52b64abf","slug":"programming","createdAt":1493934116328,"deletedAt":0,"image":{"id":"1*iPa136b1cGEO7lvoXg6uHQ@2x.jpeg","originalWidth":6016,"originalHeight":4016},"name":"Programming","description":"The good, the bad, the buggy.","relatedTopics":[],"visibility":1,"relatedTags":[],"relatedTopicIds":[],"seoTitle":"Programming News and Articles — Medium","type":"Topic"}]},"coverless":true,"slug":"react-native-vs-lynx-js","translationSourcePostId":"","translationSourceCreatorId":"","isApprovedTranslation":false,"inResponseToPostId":"","inResponseToRemovedAt":0,"isTitleSynthesized":true,"allowResponses":true,"importedUrl":"","importedPublishedAt":0,"visibility":0,"uniqueSlug":"react-native-vs-lynx-js-b1fffb0f0152","previewContent":{"bodyModel":{"paragraphs":[{"name":"previewImage","type":4,"text":"","layout":10,"metadata":{"id":"1*hKQBNq-ouybBUiGBLSWvvQ.jpeg","originalWidth":2176,"originalHeight":544,"isFeatured":true}},{"name":"feca","type":3,"text":"React Native vs Lynx JS","markups":[],"alignment":1},{"name":"4031","type":13,"text":"What’s the difference? Why should I care?","markups":[],"alignment":1}],"sections":[{"startIndex":0}]},"isFullContent":false,"subtitle":"What’s the difference? Why should I care?"},"license":0,"inResponseToMediaResourceId":"","canonicalUrl":"","approvedHomeCollectionId":"fb597d020d1c","isNewsletter":false,"newsletterId":"ff88ed1ad19d","webCanonicalUrl":"","mediumUrl":"","migrationId":"","notifyFollowers":true,"notifyTwitter":false,"notifyFacebook":false,"responseHiddenOnParentPostAt":0,"isSeries":false,"isSubscriptionLocked":false,"seriesLastAppendedAt":0,"audioVersionDurationSec":0,"sequenceId":"","isEligibleForRevenue":false,"isBlockedFromHightower":false,"deletedAt":0,"lockedPostSource":0,"hightowerMinimumGuaranteeStartsAt":0,"hightowerMinimumGuaranteeEndsAt":0,"featureLockRequestAcceptedAt":0,"mongerRequestType":1,"layerCake":6,"socialTitle":"","socialDek":"","editorialPreviewTitle":"","editorialPreviewDek":"","curationEligibleAt":0,"isProxyPost":false,"proxyPostFaviconUrl":"","proxyPostProviderName":"","proxyPostType":0,"isSuspended":false,"isLimitedState":false,"seoTitle":"","previewContent2":{"bodyModel":{"paragraphs":[{"name":"df2d","type":4,"text":"","markups":[],"layout":5,"metadata":{"id":"1*hKQBNq-ouybBUiGBLSWvvQ.jpeg","originalWidth":2176,"originalHeight":544,"isFeatured":true}},{"name":"feca","type":3,"text":"React Native vs Lynx JS","markups":[]},{"name":"4031","type":13,"text":"What’s the difference? Why should I care?","markups":[]},{"name":"e4ab","type":1,"text":"I got a message the other day. “Hey, is Lynx just React Native?” I was taken aback. WHAT THE HELL IS LYNX?","markups":[{"type":2,"start":84,"end":106}]},{"name":"579d","type":1,"text":"Well, they describe themselves as a “Similar Spirit” but different.","markups":[]},{"name":"3f40","type":1,"text":"In their blog post, they present the history of WEB as cross-platform. Which kind of implies that they…","markups":[]}],"sections":[{"name":"bee8","startIndex":0}]},"isFullContent":false,"subtitle":"What’s the difference? Why should I care?"},"cardType":0,"isDistributionAlertDismissed":false,"isShortform":false,"shortformType":0,"responsesLocked":false,"isLockedResponse":false,"isPublishToEmail":true,"responseDistribution":0,"isMarkedPaywallOnly":false,"type":"Post"},"d4d4b7a651cf":{"id":"d4d4b7a651cf","versionId":"310adf25d2f9","creatorId":"c936dc63a114","homeCollectionId":"fb597d020d1c","title":"Transitive Dependencies and React Native Autolinking","detectedLanguage":"en","latestVersion":"310adf25d2f9","latestPublishedVersion":"310adf25d2f9","hasUnpublishedEdits":false,"latestRev":304,"createdAt":1739553486334,"updatedAt":1741720992234,"acceptedAt":0,"firstPublishedAt":1741716259653,"latestPublishedAt":1741716259653,"vote":false,"experimentalCss":"","displayAuthor":"","content":{"subtitle":"Buckle up because it’s time to talk about one of the biggest hot-button topics in React Native tech.","postDisplay":{"coverless":true}},"virtuals":{"statusForCollection":"APPROVED","allowNotes":true,"previewImage":{"imageId":"0*UJMOpQn-ZAbariOF","filter":"","backgroundSize":"","originalWidth":800,"originalHeight":600,"strategy":"resample","height":0,"width":0},"wordCount":363,"imageCount":1,"readingTime":1.5698113207547169,"subtitle":"Buckle up because it’s time to talk about one of the biggest hot-button topics in React Native tech.","publishedInCount":1,"usersBySocialRecommends":[],"noIndex":false,"recommends":5,"isBookmarked":false,"tags":[{"slug":"react-native","name":"React Native","postCount":29493,"metadata":{"postCount":29493,"coverImage":{"id":"1*Sed3AMym26JAPV4TC2BKyQ.jpeg","originalWidth":744,"originalHeight":358,"isFeatured":true}},"type":"Tag"},{"slug":"software-engineering","name":"Software Engineering","postCount":125873,"metadata":{"postCount":125873,"coverImage":{"id":"0*HiRzU1QTuN2S0odN","originalWidth":1480,"originalHeight":833,"isFeatured":true}},"type":"Tag"},{"slug":"javascript","name":"JavaScript","postCount":294373,"metadata":{"postCount":294373,"coverImage":{"id":"1*XvPh_12m2uUzVsxrqGLpVQ.jpeg","originalWidth":5904,"originalHeight":3936,"isFeatured":true}},"type":"Tag"},{"slug":"npm","name":"NPM","postCount":6907,"metadata":{"postCount":6907,"coverImage":{"id":"1*GPUEP9tdJsRwFGoWsvxsfw.jpeg","originalWidth":1200,"originalHeight":800,"isFeatured":true}},"type":"Tag"},{"slug":"mobile-app-development","name":"Mobile App Development","postCount":101309,"metadata":{"postCount":101309,"coverImage":{"id":"1*4zeZF4WNijZvY58LhoPKOA.jpeg","originalWidth":1280,"originalHeight":720,"isFeatured":true}},"type":"Tag"}],"socialRecommendsCount":0,"responsesCreatedCount":0,"links":{"entries":[{"url":"https://medium.com/r?url=https%3A%2F%2Fgithub.com%2Freact-native-community%2Fcli%2Fissues%2F1347%23issuecomment-761657947","alts":[],"httpStatus":200},{"url":"https://docs.npmjs.com/cli/v9/configuring-npm/package-json#peerdependencies","alts":[],"httpStatus":200},{"url":"https://reactnative.dev/docs/turbo-native-modules-introduction","alts":[],"httpStatus":200},{"url":"https://github.com/react-native-community/cli/blob/main/docs/autolinking.md#autolinking","alts":[],"httpStatus":200}],"version":"0.3","generatedAt":1741716260263},"isLockedPreviewOnly":false,"metaDescription":"","totalClapCount":101,"sectionCount":1,"readingList":0,"topics":[{"topicId":"63c6f1f93ee","slug":"javascript","createdAt":1493945704961,"deletedAt":0,"image":{"id":"1*5UyyDJ1ESD11yQNd1UVAaQ@2x.jpeg","originalWidth":5472,"originalHeight":3648},"name":"Javascript","description":"An ode to code.","relatedTopics":[],"visibility":1,"relatedTags":[],"relatedTopicIds":[],"seoTitle":"Javascript News and Articles — Medium","type":"Topic"}]},"coverless":true,"slug":"transitive-dependencies-and-react-native-autolinking","translationSourcePostId":"","translationSourceCreatorId":"","isApprovedTranslation":false,"inResponseToPostId":"","inResponseToRemovedAt":0,"isTitleSynthesized":true,"allowResponses":true,"importedUrl":"","importedPublishedAt":0,"visibility":0,"uniqueSlug":"transitive-dependencies-and-react-native-autolinking-d4d4b7a651cf","previewContent":{"bodyModel":{"paragraphs":[{"name":"previewImage","type":4,"text":"","layout":10,"metadata":{"id":"0*UJMOpQn-ZAbariOF","originalWidth":800,"originalHeight":600,"isFeatured":true,"alt":"Buckle up sign, Florida Turnpike. Photo by Infrogmation. License Creative Commons Attribution-Share Alike 2.0 Generic License"}},{"name":"4e7d","type":3,"text":"Transitive Dependencies and React Native Autolinking","markups":[],"alignment":1}],"sections":[{"startIndex":0}]},"isFullContent":false,"subtitle":"Buckle up because it’s time to talk about one of the biggest hot-button topics in React Native tech."},"license":0,"inResponseToMediaResourceId":"","canonicalUrl":"","approvedHomeCollectionId":"fb597d020d1c","isNewsletter":false,"newsletterId":"","webCanonicalUrl":"","mediumUrl":"","migrationId":"","notifyFollowers":true,"notifyTwitter":false,"notifyFacebook":false,"responseHiddenOnParentPostAt":0,"isSeries":false,"isSubscriptionLocked":false,"seriesLastAppendedAt":0,"audioVersionDurationSec":0,"sequenceId":"","isEligibleForRevenue":false,"isBlockedFromHightower":false,"deletedAt":0,"lockedPostSource":0,"hightowerMinimumGuaranteeStartsAt":0,"hightowerMinimumGuaranteeEndsAt":0,"featureLockRequestAcceptedAt":0,"mongerRequestType":1,"layerCake":0,"socialTitle":"","socialDek":"","editorialPreviewTitle":"","editorialPreviewDek":"","curationEligibleAt":0,"isProxyPost":false,"proxyPostFaviconUrl":"","proxyPostProviderName":"","proxyPostType":0,"isSuspended":false,"isLimitedState":false,"seoTitle":"","previewContent2":{"bodyModel":{"paragraphs":[{"name":"4e7d","type":3,"text":"Transitive Dependencies and React Native Autolinking","markups":[]},{"name":"5b24","type":1,"text":"Buckle up because it’s time to talk about one of the biggest hot-button topics in React Native tech.","markups":[]},{"name":"7c58","type":4,"text":"","markups":[],"layout":1,"metadata":{"id":"0*UJMOpQn-ZAbariOF","originalWidth":800,"originalHeight":600,"isFeatured":true,"alt":"Buckle up sign, Florida Turnpike. Photo by Infrogmation. License Creative Commons Attribution-Share Alike 2.0 Generic License"}},{"name":"b581","type":1,"text":"You’re gonna want to read all the way to the end because everyone is buzzing about…","markups":[]},{"name":"a7c3","type":7,"text":"React Native autolinking and transitive dependencies?","markups":[]},{"name":"8e9d","type":1,"text":"Ok, so maybe this isn’t a groundbreaking think piece. But…","markups":[]}],"sections":[{"name":"9899","startIndex":0}]},"isFullContent":false,"subtitle":"Buckle up because it’s time to talk about one of the biggest hot-button topics in React Native tech."},"cardType":0,"isDistributionAlertDismissed":false,"isShortform":false,"shortformType":0,"responsesLocked":false,"isLockedResponse":false,"isPublishToEmail":false,"responseDistribution":0,"isMarkedPaywallOnly":false,"type":"Post"},"dcdf17963079":{"id":"dcdf17963079","versionId":"28c25164924b","creatorId":"cc923365de1a","homeCollectionId":"fb597d020d1c","title":"Automated EAS Updates in a bare React Native app with Multiple Flavors & Schemes.","detectedLanguage":"en","latestVersion":"28c25164924b","latestPublishedVersion":"28c25164924b","hasUnpublishedEdits":false,"latestRev":1222,"createdAt":1716829743423,"updatedAt":1733430496109,"acceptedAt":0,"firstPublishedAt":1733426029701,"latestPublishedAt":1733426029701,"vote":false,"experimentalCss":"","displayAuthor":"","content":{"subtitle":"Example repo: https://github.com/harrisrobin/bare-eas-updates-tutorial","postDisplay":{"coverless":true}},"virtuals":{"statusForCollection":"APPROVED","allowNotes":true,"previewImage":{"imageId":"1*6s9UZhBX29F_LBy9adnDFg.jpeg","filter":"","backgroundSize":"","originalWidth":1500,"originalHeight":750,"strategy":"resample","height":0,"width":0},"wordCount":4103,"imageCount":3,"readingTime":16.03301886792453,"subtitle":"Example repo: https://github.com/harrisrobin/bare-eas-updates-tutorial","publishedInCount":1,"usersBySocialRecommends":[],"noIndex":false,"recommends":17,"isBookmarked":false,"tags":[{"slug":"expo-updates","name":"Expo Updates","postCount":7,"metadata":{"postCount":7,"coverImage":{"id":"1*6s9UZhBX29F_LBy9adnDFg.jpeg","originalWidth":1500,"originalHeight":750,"isFeatured":true}},"type":"Tag"},{"slug":"expo","name":"Expo","postCount":3349,"metadata":{"postCount":3349,"coverImage":{"id":"1*XRc19DdNkJrImM8sihvsHg.png","originalWidth":768,"originalHeight":432,"isFeatured":true}},"type":"Tag"},{"slug":"react-native","name":"React Native","postCount":29493,"metadata":{"postCount":29493,"coverImage":{"id":"1*Sed3AMym26JAPV4TC2BKyQ.jpeg","originalWidth":744,"originalHeight":358,"isFeatured":true}},"type":"Tag"},{"slug":"react-native-codepush","name":"React Native Codepush","postCount":24,"metadata":{"postCount":24,"coverImage":{"id":"1*2KZ5c5wZlGHc53vRo3fsLA.png","originalWidth":867,"originalHeight":800,"isFeatured":true}},"type":"Tag"}],"socialRecommendsCount":0,"responsesCreatedCount":4,"links":{"entries":[{"url":"https://docs.expo.dev/versions/latest/sdk/updates/","alts":[],"httpStatus":200},{"url":"https://docs.expo.dev/bare/installing-updates/","alts":[],"httpStatus":200},{"url":"https://learn.microsoft.com/en-us/appcenter/retirement","alts":[],"httpStatus":200},{"url":"https://expo.dev","alts":[],"httpStatus":200},{"url":"https://github.com/yulolimum","alts":[],"httpStatus":200},{"url":"https://github.com/facebook/react-native/tree/main/packages/react-native/template","alts":[],"httpStatus":404},{"url":"https://github.com/harrisrobin/bare-eas-updates-tutorial/blob/main/app.config.ts","alts":[],"httpStatus":200},{"url":"http://community.infinite.red","alts":[],"httpStatus":200},{"url":"http://infinite.red","alts":[],"httpStatus":200},{"url":"https://github.com/infinitered/ignite","alts":[],"httpStatus":200},{"url":"https://github.com/harrisrobin/bare-eas-updates-tutorial/pull/4/files","alts":[],"httpStatus":200},{"url":"https://github.com/harrisrobin/bare-eas-updates-tutorial","alts":[],"httpStatus":200},{"url":"https://github.com/harrisrobin/bare-eas-updates-tutorial/pull/3/files","alts":[],"httpStatus":200},{"url":"https://github.com/harrisrobin/bare-eas-updates-tutorial/pull/1/files","alts":[],"httpStatus":200},{"url":"https://github.com/harrisrobin/bare-eas-updates-tutorial/pull/2/files","alts":[],"httpStatus":200},{"url":"https://github.com/harrisrobin/bare-eas-updates-tutorial/pull/5/files","alts":[],"httpStatus":200}],"version":"0.3","generatedAt":1733426031062},"isLockedPreviewOnly":false,"metaDescription":"","totalClapCount":354,"sectionCount":2,"readingList":0,"topics":[{"topicId":"63c6f1f93ee","slug":"javascript","createdAt":1493945704961,"deletedAt":0,"image":{"id":"1*5UyyDJ1ESD11yQNd1UVAaQ@2x.jpeg","originalWidth":5472,"originalHeight":3648},"name":"Javascript","description":"An ode to code.","relatedTopics":[],"visibility":1,"relatedTags":[],"relatedTopicIds":[],"seoTitle":"Javascript News and Articles — Medium","type":"Topic"}]},"coverless":true,"slug":"automated-eas-updates-in-a-bare-react-native-app-with-multiple-flavors-schemes","translationSourcePostId":"","translationSourceCreatorId":"","isApprovedTranslation":false,"inResponseToPostId":"","inResponseToRemovedAt":0,"isTitleSynthesized":true,"allowResponses":true,"importedUrl":"","importedPublishedAt":0,"visibility":0,"uniqueSlug":"automated-eas-updates-in-a-bare-react-native-app-with-multiple-flavors-schemes-dcdf17963079","previewContent":{"bodyModel":{"paragraphs":[{"name":"previewImage","type":4,"text":"","layout":10,"metadata":{"id":"1*6s9UZhBX29F_LBy9adnDFg.jpeg","originalWidth":1500,"originalHeight":750,"isFeatured":true}},{"name":"5c29","type":3,"text":"Automated EAS Updates in a bare React Native app with Multiple Flavors & Schemes.","markups":[],"alignment":1}],"sections":[{"startIndex":0}]},"isFullContent":false,"subtitle":"Example repo: https://github.com/harrisrobin/bare-eas-updates-tutorial"},"license":0,"inResponseToMediaResourceId":"","canonicalUrl":"","approvedHomeCollectionId":"fb597d020d1c","isNewsletter":false,"newsletterId":"","webCanonicalUrl":"","mediumUrl":"","migrationId":"","notifyFollowers":true,"notifyTwitter":false,"notifyFacebook":false,"responseHiddenOnParentPostAt":0,"isSeries":false,"isSubscriptionLocked":false,"seriesLastAppendedAt":0,"audioVersionDurationSec":0,"sequenceId":"","isEligibleForRevenue":false,"isBlockedFromHightower":false,"deletedAt":0,"lockedPostSource":0,"hightowerMinimumGuaranteeStartsAt":0,"hightowerMinimumGuaranteeEndsAt":0,"featureLockRequestAcceptedAt":0,"mongerRequestType":1,"layerCake":0,"socialTitle":"","socialDek":"","editorialPreviewTitle":"","editorialPreviewDek":"","curationEligibleAt":0,"isProxyPost":false,"proxyPostFaviconUrl":"","proxyPostProviderName":"","proxyPostType":0,"isSuspended":false,"isLimitedState":false,"seoTitle":"","previewContent2":{"bodyModel":{"paragraphs":[{"name":"5c29","type":3,"text":"Automated EAS Updates in a bare React Native app with Multiple Flavors & Schemes.","markups":[]},{"name":"8383","type":4,"text":"","markups":[],"layout":3,"metadata":{"id":"1*6s9UZhBX29F_LBy9adnDFg.jpeg","originalWidth":1500,"originalHeight":750,"isFeatured":true}},{"name":"9fb5","type":1,"text":"Example repo: https://github.com/harrisrobin/bare-eas-updates-tutorial","markups":[{"type":3,"start":14,"end":70,"href":"https://github.com/harrisrobin/bare-eas-updates-tutorial","title":"","rel":"noopener","anchorType":0},{"type":2,"start":0,"end":70}]},{"name":"cd45","type":1,"text":"With Microsoft sunsetting App Center and CodePush, many in the React Native community are seeking alternatives for over-the-air (OTA) updates. EAS Updates by Expo is a strong candidate, but existing guides often assume you’re using Expo and EAS. This guide will show you how to integrate EAS…","markups":[{"type":3,"start":5,"end":49,"href":"https://learn.microsoft.com/en-us/appcenter/retirement","title":"","rel":"","anchorType":0},{"type":1,"start":143,"end":154}]}],"sections":[{"name":"c5fb","startIndex":0}]},"isFullContent":false,"subtitle":"Example repo: https://github.com/harrisrobin/bare-eas-updates-tutorial"},"cardType":0,"isDistributionAlertDismissed":false,"isShortform":false,"shortformType":0,"responsesLocked":false,"isLockedResponse":false,"isPublishToEmail":false,"responseDistribution":0,"isMarkedPaywallOnly":false,"type":"Post"},"9ecde0b34d75":{"id":"9ecde0b34d75","versionId":"280d73312a23","creatorId":"6ca0fe37eac1","homeCollectionId":"fb597d020d1c","title":"What is Ignite X?","detectedLanguage":"en","latestVersion":"280d73312a23","latestPublishedVersion":"280d73312a23","hasUnpublishedEdits":false,"latestRev":402,"createdAt":1728600709562,"updatedAt":1731649582634,"acceptedAt":0,"firstPublishedAt":1728940089132,"latestPublishedAt":1729021556844,"vote":false,"experimentalCss":"","displayAuthor":"","content":{"subtitle":"Nearly a Decade of React Native — Here Comes X","postDisplay":{"coverless":true}},"virtuals":{"statusForCollection":"APPROVED","allowNotes":true,"previewImage":{"imageId":"1*6JYVtfpuChhdIEr_xGQJcw.jpeg","filter":"","backgroundSize":"","originalWidth":1648,"originalHeight":736,"strategy":"resample","height":0,"width":0},"wordCount":1410,"imageCount":4,"readingTime":6.020754716981132,"subtitle":"Nearly a Decade of React Native — Here Comes X","publishedInCount":1,"usersBySocialRecommends":[],"noIndex":false,"recommends":30,"isBookmarked":false,"tags":[{"slug":"ignite","name":"Ignite","postCount":367,"metadata":{"postCount":367,"coverImage":{"id":"1*3hlW5AR_SZXIAT6d8xPhSg.jpeg","originalWidth":1080,"originalHeight":1424,"isFeatured":true}},"type":"Tag"},{"slug":"ignite-react-native","name":"Ignite React Native","postCount":0,"metadata":{"postCount":0,"coverImage":{"id":"1*6JYVtfpuChhdIEr_xGQJcw.jpeg","originalWidth":1648,"originalHeight":736,"isFeatured":true}},"type":"Tag"},{"slug":"react-native","name":"React Native","postCount":29493,"metadata":{"postCount":29493,"coverImage":{"id":"1*Sed3AMym26JAPV4TC2BKyQ.jpeg","originalWidth":744,"originalHeight":358,"isFeatured":true}},"type":"Tag"},{"slug":"react-native-development","name":"React Native Development","postCount":3595,"metadata":{"postCount":3595,"coverImage":{"id":"1*Fhm1nbOCRv1Vi7rpBMzIng.png","originalWidth":1500,"originalHeight":750,"isFeatured":true}},"type":"Tag"},{"slug":"react-native-start","name":"React Native Start","postCount":5,"metadata":{"postCount":5,"coverImage":{"id":"1*6JYVtfpuChhdIEr_xGQJcw.jpeg","originalWidth":1648,"originalHeight":736,"isFeatured":true}},"type":"Tag"}],"socialRecommendsCount":0,"responsesCreatedCount":0,"links":{"entries":[{"url":"https://x.com/callstackio?ref_src=twsrc%5Egoogle%7Ctwcamp%5Eserp%7Ctwgr%5Eauthor","alts":[],"httpStatus":200},{"url":"https://x.com/mazenchami?lang=en","alts":[],"httpStatus":200},{"url":"https://twitter.com/GantLaborde","alts":[],"httpStatus":200},{"url":"https://docs.expo.dev/router/introduction/","alts":[],"httpStatus":200},{"url":"https://docs.expo.dev/workflow/continuous-native-generation/","alts":[],"httpStatus":200},{"url":"https://reactnativeradio.com/episodes/rnr-311-ignite-x","alts":[],"httpStatus":200},{"url":"https://ignitecookbook.com/","alts":[],"httpStatus":200},{"url":"https://github.com/Jpoliachik","alts":[],"httpStatus":200},{"url":"https://docs.expo.dev/config-plugins/introduction/","alts":[],"httpStatus":200},{"url":"https://github.com/lindboe","alts":[],"httpStatus":200},{"url":"https://docs.expo.dev/workflow/prebuild/","alts":[],"httpStatus":200},{"url":"https://docs.expo.dev/modules/config-plugin-and-native-module-tutorial/","alts":[],"httpStatus":200},{"url":"https://github.com/infinitered/ignite/releases/tag/v10.0.0","alts":[],"httpStatus":200},{"url":"https://github.com/fpena","alts":[],"httpStatus":200},{"url":"https://github.com/infinitered/ignite/issues","alts":[],"httpStatus":200},{"url":"https://github.com/markrickert","alts":[],"httpStatus":200},{"url":"https://github.com/infinitered/ignite/blob/master/docs/Guide.md","alts":[],"httpStatus":200},{"url":"https://github.com/infinitered/ignite/","alts":[],"httpStatus":200},{"url":"https://youtu.be/dNWkJOpD6YE?si=0AqJT99ELA8jXs39","alts":[],"httpStatus":200},{"url":"https://github.com/mrousavy/react-native-mmkv","alts":[],"httpStatus":200},{"url":"https://community.infinite.red/","alts":[],"httpStatus":200},{"url":"https://github.com/infinitered/ignite/pull/2641","alts":[],"httpStatus":200},{"url":"https://github.com/infinitered/ignite/pull/2740","alts":[],"httpStatus":200},{"url":"https://github.com/frankcalise","alts":[],"httpStatus":200},{"url":"http://infinite.red/","alts":[],"httpStatus":200},{"url":"https://github.com/infinitered/ignite/pull/2731/files","alts":[],"httpStatus":200},{"url":"https://infinite.red/","alts":[],"httpStatus":200},{"url":"https://github.com/infinitered/ignite/pull/2726","alts":[],"httpStatus":200},{"url":"https://github.com/infinitered/ignite/pull/2761","alts":[],"httpStatus":200},{"url":"https://github.com/infinitered/ignite/pull/2770","alts":[],"httpStatus":200},{"url":"https://github.com/infinitered/ignite/pull/2660","alts":[],"httpStatus":200},{"url":"https://github.com/infinitered/ignite/pull/2727","alts":[],"httpStatus":200},{"url":"https://github.com/infinitered/ignite/pull/2667","alts":[],"httpStatus":200},{"url":"https://github.com/infinitered/ignite/pull/2772","alts":[],"httpStatus":200},{"url":"https://medium.com/u/6ca0fe37eac1","alts":[{"type":2,"url":"medium://@gantlaborde"},{"type":3,"url":"medium://@gantlaborde"}],"httpStatus":200},{"url":"https://github.com/infinitered/ignite/pull/2722","alts":[],"httpStatus":200},{"url":"http://gantlaborde.com/","alts":[],"httpStatus":200},{"url":"https://github.com/infinitered/ignite/pull/2636","alts":[],"httpStatus":200},{"url":"https://github.com/infinitered/ignite/pull/2647","alts":[],"httpStatus":200}],"version":"0.3","generatedAt":1729021559085},"isLockedPreviewOnly":false,"metaDescription":"","totalClapCount":798,"sectionCount":1,"readingList":0,"topics":[{"topicId":"63c6f1f93ee","slug":"javascript","createdAt":1493945704961,"deletedAt":0,"image":{"id":"1*5UyyDJ1ESD11yQNd1UVAaQ@2x.jpeg","originalWidth":5472,"originalHeight":3648},"name":"Javascript","description":"An ode to code.","relatedTopics":[],"visibility":1,"relatedTags":[],"relatedTopicIds":[],"seoTitle":"Javascript News and Articles — Medium","type":"Topic"}]},"coverless":true,"slug":"what-is-ignite-x","translationSourcePostId":"","translationSourceCreatorId":"","isApprovedTranslation":false,"inResponseToPostId":"","inResponseToRemovedAt":0,"isTitleSynthesized":false,"allowResponses":true,"importedUrl":"","importedPublishedAt":0,"visibility":0,"uniqueSlug":"what-is-ignite-x-9ecde0b34d75","previewContent":{"bodyModel":{"paragraphs":[{"name":"previewImage","type":4,"text":"","layout":10,"metadata":{"id":"1*6JYVtfpuChhdIEr_xGQJcw.jpeg","originalWidth":1648,"originalHeight":736,"isFeatured":true}},{"name":"daf0","type":3,"text":"What is Ignite X?","markups":[],"alignment":1},{"name":"b3fc","type":13,"text":"Nearly a Decade of React Native — Here Comes X","markups":[],"alignment":1}],"sections":[{"startIndex":0}]},"isFullContent":false,"subtitle":"Nearly a Decade of React Native — Here Comes X"},"license":0,"inResponseToMediaResourceId":"","canonicalUrl":"","approvedHomeCollectionId":"fb597d020d1c","isNewsletter":false,"newsletterId":"72cb8b906c24","webCanonicalUrl":"","mediumUrl":"","migrationId":"","notifyFollowers":true,"notifyTwitter":false,"notifyFacebook":false,"responseHiddenOnParentPostAt":0,"isSeries":false,"isSubscriptionLocked":false,"seriesLastAppendedAt":0,"audioVersionDurationSec":0,"sequenceId":"","isEligibleForRevenue":false,"isBlockedFromHightower":false,"deletedAt":0,"lockedPostSource":0,"hightowerMinimumGuaranteeStartsAt":0,"hightowerMinimumGuaranteeEndsAt":0,"featureLockRequestAcceptedAt":0,"mongerRequestType":1,"layerCake":4,"socialTitle":"","socialDek":"","editorialPreviewTitle":"","editorialPreviewDek":"","curationEligibleAt":0,"isProxyPost":false,"proxyPostFaviconUrl":"","proxyPostProviderName":"","proxyPostType":0,"isSuspended":false,"isLimitedState":false,"seoTitle":"","previewContent2":{"bodyModel":{"paragraphs":[{"name":"daf0","type":3,"text":"What is Ignite X?","markups":[]},{"name":"b3fc","type":13,"text":"Nearly a Decade of React Native — Here Comes X","markups":[]},{"name":"eaef","type":4,"text":"","markups":[],"layout":3,"metadata":{"id":"1*6JYVtfpuChhdIEr_xGQJcw.jpeg","originalWidth":1648,"originalHeight":736,"isFeatured":true}},{"name":"4f02","type":1,"text":"This blog post has a companion episode of React Native Radio that will discuss Ignite X further. Click here to listen.","markups":[{"type":3,"start":97,"end":117,"href":"https://reactnativeradio.com/episodes/rnr-311-ignite-x","title":"","rel":"","anchorType":0}]},{"name":"fe8c","type":3,"text":"We all know what Ignite does for React Native.","markups":[]},{"name":"b4df","type":1,"text":"We hear about Ignite constantly. It’s been the stalwart of opinionated React Native boilerplates for years. With over 17,000 stars and growing, hundreds of contributors, and years of conference…","markups":[]}],"sections":[{"name":"6b3b","startIndex":0}]},"isFullContent":false,"subtitle":"Nearly a Decade of React Native — Here Comes X"},"cardType":0,"isDistributionAlertDismissed":false,"isShortform":false,"shortformType":0,"responsesLocked":false,"isLockedResponse":false,"isPublishToEmail":true,"responseDistribution":0,"isMarkedPaywallOnly":false,"type":"Post"},"1cae78fdee22":{"id":"1cae78fdee22","versionId":"62ba07cd2ef6","creatorId":"d253a8f9a5c3","homeCollectionId":"fb597d020d1c","title":"Top React Native Apps","detectedLanguage":"en","latestVersion":"62ba07cd2ef6","latestPublishedVersion":"62ba07cd2ef6","hasUnpublishedEdits":false,"latestRev":302,"createdAt":1717685059362,"updatedAt":1732359896915,"acceptedAt":0,"firstPublishedAt":1718300875549,"latestPublishedAt":1718304809632,"vote":false,"experimentalCss":"","displayAuthor":"","content":{"subtitle":"We get a lot of questions at Infinite Red about what apps use React Native. It’s a natural question! After all, if you’re going to invest a…","postDisplay":{"coverless":true}},"virtuals":{"statusForCollection":"APPROVED","allowNotes":true,"previewImage":{"imageId":"1*atoo57wKHpXrS6um65gaBQ.jpeg","filter":"","backgroundSize":"","originalWidth":1500,"originalHeight":750,"strategy":"resample","height":0,"width":0},"wordCount":666,"imageCount":1,"readingTime":2.7132075471698114,"subtitle":"We get a lot of questions at Infinite Red about what apps use React Native. It’s a natural question! After all, if you’re going to invest a…","publishedInCount":1,"usersBySocialRecommends":[],"noIndex":false,"recommends":19,"isBookmarked":false,"tags":[],"socialRecommendsCount":0,"responsesCreatedCount":1,"links":{"entries":[{"url":"mailto:topapps@infinite.red","alts":[],"httpStatus":0},{"url":"https://reactnative.dev/showcase","alts":[],"httpStatus":200},{"url":"https://chainreactconf.com/","alts":[],"httpStatus":200},{"url":"https://infinite.red/contact","alts":[],"httpStatus":200},{"url":"https://infinite.red/work/mercari","alts":[],"httpStatus":200},{"url":"https://infinite.red/work/gasbuddy","alts":[],"httpStatus":200},{"url":"https://infinite.red/team/yulian-glukhenko","alts":[],"httpStatus":200},{"url":"https://infinite.red/top-react-native-apps","alts":[],"httpStatus":200},{"url":"https://evanbacon.dev/blog/expo-2024","alts":[],"httpStatus":200},{"url":"https://www.eventbrite.com/e/chain-react-2024-the-us-react-native-conference-tickets-795740971667","alts":[{"type":3,"url":"com-eventbrite-attendee://event/795740971667/?referrer=eandurlxfbk&"}],"httpStatus":200}],"version":"0.3","generatedAt":1718304811066},"isLockedPreviewOnly":false,"metaDescription":"","totalClapCount":540,"sectionCount":1,"readingList":0,"topics":[{"topicId":"63c6f1f93ee","slug":"javascript","createdAt":1493945704961,"deletedAt":0,"image":{"id":"1*5UyyDJ1ESD11yQNd1UVAaQ@2x.jpeg","originalWidth":5472,"originalHeight":3648},"name":"Javascript","description":"An ode to code.","relatedTopics":[],"visibility":1,"relatedTags":[],"relatedTopicIds":[],"seoTitle":"Javascript News and Articles — Medium","type":"Topic"}]},"coverless":true,"slug":"top-react-native-apps","translationSourcePostId":"","translationSourceCreatorId":"","isApprovedTranslation":false,"inResponseToPostId":"","inResponseToRemovedAt":0,"isTitleSynthesized":true,"allowResponses":true,"importedUrl":"","importedPublishedAt":0,"visibility":0,"uniqueSlug":"top-react-native-apps-1cae78fdee22","previewContent":{"bodyModel":{"paragraphs":[{"name":"previewImage","type":4,"text":"","layout":10,"metadata":{"id":"1*atoo57wKHpXrS6um65gaBQ.jpeg","originalWidth":1500,"originalHeight":750,"isFeatured":true}},{"name":"10cb","type":3,"text":"Top React Native Apps","markups":[],"alignment":1},{"name":"2460","type":1,"text":"We get a lot of questions at Infinite Red about what apps use React Native. It’s a natural question! After all, if…","markups":[],"alignment":1}],"sections":[{"startIndex":0}]},"isFullContent":false,"subtitle":"We get a lot of questions at Infinite Red about what apps use React Native. It’s a natural question! After all, if you’re going to invest a…"},"license":0,"inResponseToMediaResourceId":"","canonicalUrl":"","approvedHomeCollectionId":"fb597d020d1c","isNewsletter":false,"newsletterId":"","webCanonicalUrl":"","mediumUrl":"","migrationId":"","notifyFollowers":true,"notifyTwitter":false,"notifyFacebook":false,"responseHiddenOnParentPostAt":0,"isSeries":false,"isSubscriptionLocked":false,"seriesLastAppendedAt":0,"audioVersionDurationSec":0,"sequenceId":"","isEligibleForRevenue":false,"isBlockedFromHightower":false,"deletedAt":0,"lockedPostSource":0,"hightowerMinimumGuaranteeStartsAt":0,"hightowerMinimumGuaranteeEndsAt":0,"featureLockRequestAcceptedAt":0,"mongerRequestType":1,"layerCake":4,"socialTitle":"","socialDek":"","editorialPreviewTitle":"","editorialPreviewDek":"","curationEligibleAt":0,"isProxyPost":false,"proxyPostFaviconUrl":"","proxyPostProviderName":"","proxyPostType":0,"isSuspended":false,"isLimitedState":false,"seoTitle":"","previewContent2":{"bodyModel":{"paragraphs":[{"name":"10cb","type":3,"text":"Top React Native Apps","markups":[]},{"name":"e399","type":4,"text":"","markups":[],"layout":1,"metadata":{"id":"1*atoo57wKHpXrS6um65gaBQ.jpeg","originalWidth":1500,"originalHeight":750,"isFeatured":true}},{"name":"2460","type":1,"text":"We get a lot of questions at Infinite Red about what apps use React Native. It’s a natural question! After all, if you’re going to invest a lot of time, money, and effort into a framework, you want to know if it’s working well for others.","markups":[]},{"name":"f679","type":1,"text":"So that’s why we…","markups":[{"type":3,"start":50,"end":71,"href":"https://infinite.red/top-react-native-apps","title":"","rel":"","anchorType":0}]}],"sections":[{"name":"e729","startIndex":0}]},"isFullContent":false,"subtitle":"We get a lot of questions at Infinite Red about what apps use React Native. It’s a natural question! After all, if you’re going to invest a…"},"cardType":0,"isDistributionAlertDismissed":false,"isShortform":false,"shortformType":0,"responsesLocked":false,"isLockedResponse":false,"isPublishToEmail":false,"responseDistribution":0,"isMarkedPaywallOnly":false,"type":"Post"},"c2a8786f971e":{"id":"c2a8786f971e","versionId":"1a0b85c9f857","creatorId":"4a1ccb16af26","homeCollectionId":"fb597d020d1c","title":"Microsoft is retiring App Center: Here’s what React Native developers should use instead","detectedLanguage":"en","latestVersion":"1a0b85c9f857","latestPublishedVersion":"1a0b85c9f857","hasUnpublishedEdits":false,"latestRev":990,"createdAt":1710540974848,"updatedAt":1732776320242,"acceptedAt":0,"firstPublishedAt":1713894225104,"latestPublishedAt":1713894225104,"vote":false,"experimentalCss":"","displayAuthor":"","content":{"subtitle":"Big bummer, React Native developers: Microsoft announced they are shutting down Visual Studio App Center on March 31, 2025.","postDisplay":{"coverless":true}},"virtuals":{"statusForCollection":"APPROVED","allowNotes":true,"previewImage":{"imageId":"1*_SzblnSLaZxbzG_PXjkIfQ.png","filter":"","backgroundSize":"","originalWidth":1200,"originalHeight":600,"strategy":"resample","height":0,"width":0},"wordCount":1908,"imageCount":1,"readingTime":7.4,"subtitle":"Big bummer, React Native developers: Microsoft announced they are shutting down Visual Studio App Center on March 31, 2025.","publishedInCount":1,"usersBySocialRecommends":[],"noIndex":false,"recommends":109,"isBookmarked":false,"tags":[],"socialRecommendsCount":0,"responsesCreatedCount":6,"links":{"entries":[{"url":"https://expo.dev/","alts":[],"httpStatus":200},{"url":"https://microsoft.github.io/react-native-windows/","alts":[],"httpStatus":200},{"url":"https://microsoft.github.io/rnx-kit/","alts":[],"httpStatus":200},{"url":"https://wix.github.io/Detox/","alts":[],"httpStatus":200},{"url":"https://docs.github.com/en/actions","alts":[],"httpStatus":200},{"url":"https://docs.expo.dev/versions/latest/sdk/updates/","alts":[],"httpStatus":200},{"url":"https://appcenter.ms/","alts":[],"httpStatus":200},{"url":"https://chainreactconf.com","alts":[],"httpStatus":200},{"url":"https://sentry.io/signup/","alts":[],"httpStatus":200},{"url":"https://develop.sentry.dev/self-hosted/","alts":[],"httpStatus":200},{"url":"https://docs.expo.dev/build/setup/","alts":[],"httpStatus":200},{"url":"https://circleci.com/","alts":[],"httpStatus":200},{"url":"https://docs.expo.dev/guides/using-sentry/","alts":[],"httpStatus":200},{"url":"https://ignitecookbook.com/docs/recipes/SampleYAMLCircleCI/","alts":[],"httpStatus":200},{"url":"https://sentry.io/welcome/","alts":[],"httpStatus":200},{"url":"https://ignitecookbook.com","alts":[],"httpStatus":200},{"url":"https://expo.dev/eas","alts":[],"httpStatus":200},{"url":"https://circleci.com","alts":[],"httpStatus":200},{"url":"https://eas.dev/","alts":[],"httpStatus":200},{"url":"https://docs.expo.dev/build-reference/local-builds/","alts":[],"httpStatus":200},{"url":"https://docs.expo.dev/submit/introduction/","alts":[],"httpStatus":200},{"url":"https://docs.expo.dev/eas-update/codepush/","alts":[],"httpStatus":200},{"url":"https://docs.expo.dev/build-reference/e2e-tests/","alts":[],"httpStatus":200},{"url":"https://docs.sentry.io/product/releases/","alts":[],"httpStatus":200},{"url":"https://github.com/gengjiawen/ci-sample/blob/master/.github/workflows/github-ci.yml","alts":[],"httpStatus":200},{"url":"https://docs.sentry.io/platforms/react-native/","alts":[],"httpStatus":200},{"url":"https://sentry.io/pricing/?","alts":[],"httpStatus":200},{"url":"https://expo.dev/pricing","alts":[],"httpStatus":200},{"url":"https://learn.microsoft.com/en-us/appcenter/retirement","alts":[],"httpStatus":200},{"url":"https://expo.dev/blog/how-to-replace-app-center-and-codepush","alts":[],"httpStatus":200},{"url":"https://github.com/infinitered/ignite/blob/master/boilerplate/app/utils/crashReporting.ts","alts":[],"httpStatus":200},{"url":"https://github.com/microsoft/react-native-test-app","alts":[],"httpStatus":200},{"url":"https://github.com/getsentry/sentry-react-native/","alts":[],"httpStatus":200},{"url":"https://github.com/facebook/react-native/releases","alts":[],"httpStatus":200},{"url":"https://infinite.red","alts":[],"httpStatus":200},{"url":"https://infinite.red/contact","alts":[],"httpStatus":200},{"url":"https://github.com/getsentry/sentry-react-native/issues/2703","alts":[],"httpStatus":200}],"version":"0.3","generatedAt":1713894226365},"isLockedPreviewOnly":false,"metaDescription":"","totalClapCount":1148,"sectionCount":2,"readingList":0,"topics":[{"topicId":"63c6f1f93ee","slug":"javascript","createdAt":1493945704961,"deletedAt":0,"image":{"id":"1*5UyyDJ1ESD11yQNd1UVAaQ@2x.jpeg","originalWidth":5472,"originalHeight":3648},"name":"Javascript","description":"An ode to code.","relatedTopics":[],"visibility":1,"relatedTags":[],"relatedTopicIds":[],"seoTitle":"Javascript News and Articles — Medium","type":"Topic"},{"topicId":"decb52b64abf","slug":"programming","createdAt":1493934116328,"deletedAt":0,"image":{"id":"1*iPa136b1cGEO7lvoXg6uHQ@2x.jpeg","originalWidth":6016,"originalHeight":4016},"name":"Programming","description":"The good, the bad, the buggy.","relatedTopics":[],"visibility":1,"relatedTags":[],"relatedTopicIds":[],"seoTitle":"Programming News and Articles — Medium","type":"Topic"}]},"coverless":true,"slug":"microsoft-is-retiring-app-center-heres-what-react-native-developers-should-use-instead","translationSourcePostId":"","translationSourceCreatorId":"","isApprovedTranslation":false,"inResponseToPostId":"","inResponseToRemovedAt":0,"isTitleSynthesized":true,"allowResponses":true,"importedUrl":"","importedPublishedAt":0,"visibility":0,"uniqueSlug":"microsoft-is-retiring-app-center-heres-what-react-native-developers-should-use-instead-c2a8786f971e","previewContent":{"bodyModel":{"paragraphs":[{"name":"previewImage","type":4,"text":"","layout":10,"metadata":{"id":"1*_SzblnSLaZxbzG_PXjkIfQ.png","originalWidth":1200,"originalHeight":600,"isFeatured":true}},{"name":"fe70","type":3,"text":"Microsoft is retiring App Center: Here’s what React Native developers should use instead","markups":[],"alignment":1}],"sections":[{"startIndex":0}]},"isFullContent":false,"subtitle":"Big bummer, React Native developers: Microsoft announced they are shutting down Visual Studio App Center on March 31, 2025."},"license":0,"inResponseToMediaResourceId":"","canonicalUrl":"","approvedHomeCollectionId":"fb597d020d1c","isNewsletter":false,"newsletterId":"","webCanonicalUrl":"","mediumUrl":"","migrationId":"","notifyFollowers":true,"notifyTwitter":false,"notifyFacebook":false,"responseHiddenOnParentPostAt":0,"isSeries":false,"isSubscriptionLocked":false,"seriesLastAppendedAt":0,"audioVersionDurationSec":0,"sequenceId":"","isEligibleForRevenue":false,"isBlockedFromHightower":false,"deletedAt":0,"lockedPostSource":0,"hightowerMinimumGuaranteeStartsAt":0,"hightowerMinimumGuaranteeEndsAt":0,"featureLockRequestAcceptedAt":0,"mongerRequestType":1,"layerCake":6,"socialTitle":"","socialDek":"","editorialPreviewTitle":"","editorialPreviewDek":"","curationEligibleAt":0,"isProxyPost":false,"proxyPostFaviconUrl":"","proxyPostProviderName":"","proxyPostType":0,"isSuspended":false,"isLimitedState":false,"seoTitle":"","previewContent2":{"bodyModel":{"paragraphs":[{"name":"fe70","type":3,"text":"Microsoft is retiring App Center: Here’s what React Native developers should use instead","markups":[]},{"name":"be57","type":4,"text":"Bye, App Center! Hello, EAS + Sentry + GitHub Actions!","markups":[],"layout":1,"metadata":{"id":"1*_SzblnSLaZxbzG_PXjkIfQ.png","originalWidth":1200,"originalHeight":600,"isFeatured":true}},{"name":"5e6c","type":1,"text":"Big bummer, React Native developers: Microsoft announced they are shutting down Visual Studio App Center on March 31, 2025.","markups":[{"type":3,"start":47,"end":56,"href":"https://learn.microsoft.com/en-us/appcenter/retirement","title":"","rel":"","anchorType":0},{"type":3,"start":80,"end":104,"href":"https://appcenter.ms/","title":"","rel":"","anchorType":0},{"type":1,"start":37,"end":123}]},{"name":"2177","type":1,"text":"We at Infinite Red have used App Center as a key part of many of our React Native consulting clients’ CI/CD pipeline and development workflow for years. It had a lot…","markups":[{"type":3,"start":6,"end":18,"href":"https://infinite.red","title":"","rel":"","anchorType":0}]}],"sections":[{"name":"2e86","startIndex":0}]},"isFullContent":false,"subtitle":"Big bummer, React Native developers: Microsoft announced they are shutting down Visual Studio App Center on March 31, 2025."},"cardType":0,"isDistributionAlertDismissed":false,"isShortform":false,"shortformType":0,"responsesLocked":false,"isLockedResponse":false,"isPublishToEmail":false,"responseDistribution":0,"isMarkedPaywallOnly":false,"type":"Post"},"3af461955109":{"id":"3af461955109","versionId":"53bb649056c9","creatorId":"4a1ccb16af26","homeCollectionId":"fb597d020d1c","title":"Why you don’t need Flipper in your React Native app … and how to get by without it","detectedLanguage":"en","latestVersion":"53bb649056c9","latestPublishedVersion":"53bb649056c9","hasUnpublishedEdits":false,"latestRev":1211,"createdAt":1709252381080,"updatedAt":1732966436198,"acceptedAt":0,"firstPublishedAt":1710278128625,"latestPublishedAt":1717692547243,"vote":false,"experimentalCss":"","displayAuthor":"","content":{"subtitle":"Let’s go through the tools that Flipper provides — and how you can replace them in your workflow.","postDisplay":{"coverless":true}},"virtuals":{"statusForCollection":"APPROVED","allowNotes":true,"previewImage":{"imageId":"0*OSnAl-E4FC8pLwqe.png","filter":"","backgroundSize":"","originalWidth":1666,"originalHeight":967,"strategy":"resample","height":0,"width":0},"wordCount":1325,"imageCount":21,"readingTime":6.8,"subtitle":"Let’s go through the tools that Flipper provides — and how you can replace them in your workflow.","publishedInCount":1,"usersBySocialRecommends":[],"noIndex":false,"recommends":142,"isBookmarked":false,"tags":[{"slug":"react-native","name":"React Native","postCount":29493,"metadata":{"postCount":29493,"coverImage":{"id":"1*Sed3AMym26JAPV4TC2BKyQ.jpeg","originalWidth":744,"originalHeight":358,"isFeatured":true}},"type":"Tag"},{"slug":"flipper","name":"Flipper","postCount":90,"metadata":{"postCount":90,"coverImage":{"id":"1*yg8nGNXf9Nr1uHjxOr92DA.png","originalWidth":900,"originalHeight":900,"isFeatured":true,"alt":"Flipper Logo"}},"type":"Tag"},{"slug":"debugging","name":"Debugging","postCount":7873,"metadata":{"postCount":7873,"coverImage":{"id":"1*7DsQClQ1Ya7M5Svsl6aSKw.png","originalWidth":1920,"originalHeight":1078,"isFeatured":true}},"type":"Tag"},{"slug":"react","name":"React","postCount":114875,"metadata":{"postCount":114875,"coverImage":{"id":"1*MlQZP5TahTokuNpj-HV1-A.jpeg","originalWidth":998,"originalHeight":1024}},"type":"Tag"},{"slug":"devtools","name":"Devtools","postCount":1496,"metadata":{"postCount":1496,"coverImage":{"id":"1*Sr0D-wlvUWg7SqRs-2WjdA.png","originalWidth":1024,"originalHeight":1024,"isFeatured":true}},"type":"Tag"}],"socialRecommendsCount":0,"responsesCreatedCount":8,"links":{"entries":[{"url":"https://reactnative.dev/docs/next/debugging?js-debugger=new-debugger#opening-the-debugger","alts":[],"httpStatus":200},{"url":"https://reactnative.dev/docs/debugging?js-debugger=hermes","alts":[],"httpStatus":200},{"url":"https://fbflipper.com/docs/getting-started/troubleshooting/react-native/","alts":[],"httpStatus":200},{"url":"https://results.stateofreactnative.com/debugging-and-profiling/","alts":[],"httpStatus":200},{"url":"https://stackoverflow.com/questions/39241339/where-is-my-sqlite-data-stored-in-ios-simulator","alts":[],"httpStatus":200},{"url":"https://fbflipper.com/docs/getting-started/react-native-android/","alts":[],"httpStatus":200},{"url":"https://sentry.io/welcome/","alts":[],"httpStatus":200},{"url":"https://fbflipper.com/docs/getting-started/react-native-ios/","alts":[],"httpStatus":200},{"url":"https://fbflipper.com/docs/features/plugins/navigation","alts":[],"httpStatus":200},{"url":"https://stackoverflow.com/a/52352741/204044","alts":[],"httpStatus":200},{"url":"https://stackoverflow.com/questions/1676938/easy-way-to-see-saved-nsuserdefaults","alts":[],"httpStatus":200},{"url":"https://reactnative.dev/blog/2020/03/26/version-0.62","alts":[],"httpStatus":200},{"url":"https://docs.infinite.red/reactotron/custom-commands/","alts":[],"httpStatus":200},{"url":"https://infinite.red/react-native-app-development-company","alts":[],"httpStatus":200},{"url":"https://github.com/infinitered/ignite/blob/b82f55d5945c48cb60490dc11a52e7f42f5b95a0/boilerplate/app/utils/crashReporting.ts","alts":[],"httpStatus":200},{"url":"https://infinite.red/react-native","alts":[],"httpStatus":200},{"url":"https://www.bugsnag.com/","alts":[],"httpStatus":200},{"url":"https://twitter.com/jamonholmgren/status/1763359155405074489","alts":[],"httpStatus":200},{"url":"https://github.com/react-native-community/discussions-and-proposals/blob/main/proposals/0641-decoupling-flipper-from-react-native-core.md","alts":[],"httpStatus":200},{"url":"https://github.com/infinitered/ignite","alts":[],"httpStatus":200},{"url":"https://github.com/react-native-async-storage/async-storage","alts":[],"httpStatus":200},{"url":"https://github.com/mrousavy/react-native-mmkv","alts":[],"httpStatus":200},{"url":"https://github.com/react-native-community/discussions-and-proposals/discussions/733","alts":[],"httpStatus":200},{"url":"https://reactotron.com","alts":[],"httpStatus":200},{"url":"https://firebase.google.com/products/crashlytics","alts":[],"httpStatus":200},{"url":"https://developer.android.com/studio/debug/logcat","alts":[],"httpStatus":200},{"url":"https://github.com/facebook/react/blob/main/packages/react-devtools/CHANGELOG.md#a-note-for-react-native-users","alts":[],"httpStatus":200}],"version":"0.3","generatedAt":1717692548768},"isLockedPreviewOnly":false,"metaDescription":"","totalClapCount":1257,"sectionCount":1,"readingList":0,"topics":[{"topicId":"63c6f1f93ee","slug":"javascript","createdAt":1493945704961,"deletedAt":0,"image":{"id":"1*5UyyDJ1ESD11yQNd1UVAaQ@2x.jpeg","originalWidth":5472,"originalHeight":3648},"name":"Javascript","description":"An ode to code.","relatedTopics":[],"visibility":1,"relatedTags":[],"relatedTopicIds":[],"seoTitle":"Javascript News and Articles — Medium","type":"Topic"}]},"coverless":true,"slug":"why-you-dont-need-flipper-in-your-react-native-app-and-how-to-get-by-without-it","translationSourcePostId":"","translationSourceCreatorId":"","isApprovedTranslation":false,"inResponseToPostId":"","inResponseToRemovedAt":0,"isTitleSynthesized":false,"allowResponses":true,"importedUrl":"","importedPublishedAt":0,"visibility":0,"uniqueSlug":"why-you-dont-need-flipper-in-your-react-native-app-and-how-to-get-by-without-it-3af461955109","previewContent":{"bodyModel":{"paragraphs":[{"name":"previewImage","type":4,"text":"","layout":10,"metadata":{"id":"0*OSnAl-E4FC8pLwqe.png","originalWidth":1666,"originalHeight":967,"isFeatured":true}},{"name":"68cf","type":3,"text":"Why you don’t need Flipper in your React Native app … and how to get by without it","markups":[],"alignment":1}],"sections":[{"startIndex":0}]},"isFullContent":false,"subtitle":"Let’s go through the tools that Flipper provides — and how you can replace them in your workflow."},"license":0,"inResponseToMediaResourceId":"","canonicalUrl":"","approvedHomeCollectionId":"fb597d020d1c","isNewsletter":false,"newsletterId":"010514f1efff","webCanonicalUrl":"","mediumUrl":"","migrationId":"","notifyFollowers":true,"notifyTwitter":false,"notifyFacebook":false,"responseHiddenOnParentPostAt":0,"isSeries":false,"isSubscriptionLocked":false,"seriesLastAppendedAt":0,"audioVersionDurationSec":0,"sequenceId":"","isEligibleForRevenue":false,"isBlockedFromHightower":false,"deletedAt":0,"lockedPostSource":0,"hightowerMinimumGuaranteeStartsAt":0,"hightowerMinimumGuaranteeEndsAt":0,"featureLockRequestAcceptedAt":0,"mongerRequestType":1,"layerCake":6,"socialTitle":"","socialDek":"","editorialPreviewTitle":"","editorialPreviewDek":"","curationEligibleAt":0,"isProxyPost":false,"proxyPostFaviconUrl":"","proxyPostProviderName":"","proxyPostType":0,"isSuspended":false,"isLimitedState":false,"seoTitle":"","previewContent2":{"bodyModel":{"paragraphs":[{"name":"68cf","type":3,"text":"Why you don’t need Flipper in your React Native app … and how to get by without it","markups":[]},{"name":"2f37","type":1,"text":"Since Flipper was introduced in version 0.62, it’s been a big part of React Native developers’ workflows. This was great news for React Native developers! We had wanted better debugging tools for a long time.","markups":[{"type":3,"start":18,"end":44,"href":"https://reactnative.dev/blog/2020/03/26/version-0.62","title":"","rel":"","anchorType":0}]},{"name":"d30e","type":4,"text":"Original Flipper Announcement","markups":[],"layout":1,"metadata":{"id":"1*IbBVFM9J3--fKJXdpPkUbQ@2x.png","originalWidth":1650,"originalHeight":880}},{"name":"abd8","type":1,"text":"But Flipper came with a cost: longer compilation times, had a slew…","markups":[{"type":3,"start":62,"end":77,"href":"https://fbflipper.com/docs/getting-started/troubleshooting/react-native/","title":"","rel":"","anchorType":0}]}],"sections":[{"name":"911a","startIndex":0}]},"isFullContent":false,"subtitle":"Let’s go through the tools that Flipper provides — and how you can replace them in your workflow."},"cardType":0,"isDistributionAlertDismissed":false,"isShortform":false,"shortformType":0,"responsesLocked":false,"isLockedResponse":false,"isPublishToEmail":true,"responseDistribution":0,"isMarkedPaywallOnly":false,"type":"Post"},"6f4b25f7a1a4":{"id":"6f4b25f7a1a4","versionId":"581fe2212cc7","creatorId":"507ba24f42a2","homeCollectionId":"fb597d020d1c","title":"Introducing docs.infinite.red — A New Home for Infinite Red’s Documentation","detectedLanguage":"en","latestVersion":"581fe2212cc7","latestPublishedVersion":"581fe2212cc7","hasUnpublishedEdits":false,"latestRev":314,"createdAt":1703007617537,"updatedAt":1703025233796,"acceptedAt":0,"firstPublishedAt":1703025227340,"latestPublishedAt":1703025227340,"vote":false,"experimentalCss":"","displayAuthor":"","content":{"subtitle":"I’m excited to share something I’ve been working on with the team at Infinite Red — a new documentation site that brings together all the…","postDisplay":{"coverless":true}},"virtuals":{"statusForCollection":"APPROVED","allowNotes":true,"previewImage":{"imageId":"1*k52Aebq3mcAx1hUQ-Of-tg.jpeg","filter":"","backgroundSize":"","originalWidth":2240,"originalHeight":1260,"strategy":"resample","height":0,"width":0},"wordCount":866,"imageCount":10,"readingTime":4.5179245283018865,"subtitle":"I’m excited to share something I’ve been working on with the team at Infinite Red — a new documentation site that brings together all the…","publishedInCount":1,"usersBySocialRecommends":[],"noIndex":false,"recommends":20,"isBookmarked":false,"tags":[{"slug":"open-source","name":"Open Source","postCount":54147,"metadata":{"postCount":54147,"coverImage":{"id":"1*g5xBVoUa3YRK7d18GnbLxg.png","originalWidth":1280,"originalHeight":720,"isFeatured":true}},"type":"Tag"},{"slug":"react-native","name":"React Native","postCount":29493,"metadata":{"postCount":29493,"coverImage":{"id":"1*Sed3AMym26JAPV4TC2BKyQ.jpeg","originalWidth":744,"originalHeight":358,"isFeatured":true}},"type":"Tag"},{"slug":"software-development","name":"Software Development","postCount":350984,"metadata":{"postCount":350984,"coverImage":{"id":"1*f-1HQQng85tbA7kwgECqoQ.png","originalWidth":2936,"originalHeight":1662,"isFeatured":true}},"type":"Tag"},{"slug":"mobile-app-development","name":"Mobile App Development","postCount":101309,"metadata":{"postCount":101309,"coverImage":{"id":"1*4zeZF4WNijZvY58LhoPKOA.jpeg","originalWidth":1280,"originalHeight":720,"isFeatured":true}},"type":"Tag"},{"slug":"foss","name":"Foss","postCount":477,"metadata":{"postCount":477,"coverImage":{"id":"1*fADowJIYHTxdAS2AgInMpw.png","originalWidth":1000,"originalHeight":997,"isFeatured":true}},"type":"Tag"}],"socialRecommendsCount":0,"responsesCreatedCount":0,"links":{"entries":[{"url":"infinite.red/contact","alts":[],"httpStatus":0},{"url":"https://docusaurus.io/","alts":[],"httpStatus":200},{"url":"https://twitter.com/trevorcoleman","alts":[],"httpStatus":400},{"url":"https://twitter.com/JoshuaYoes","alts":[],"httpStatus":400},{"url":"https://docs.infinite.red/ignite","alts":[],"httpStatus":404},{"url":"https://twitter.com/justinhuskey","alts":[],"httpStatus":400},{"url":"https://docs.infinite.red","alts":[],"httpStatus":200},{"url":"https://docs.infinite.red/","alts":[],"httpStatus":200},{"url":"https://circleci.com/developer/orbs/orb/infinitered/publish-docs","alts":[],"httpStatus":200},{"url":"https://twitter.com/frankcalise","alts":[],"httpStatus":400},{"url":"https://twitter.com/jamonholmgren","alts":[],"httpStatus":400},{"url":"https://twitter.com/jemfucci","alts":[],"httpStatus":400},{"url":"https://docs.infinite.red/reactotron","alts":[],"httpStatus":200},{"url":"https://docs.infinite.red/gluegun","alts":[],"httpStatus":200},{"url":"https://choosemuse.com/","alts":[],"httpStatus":200},{"url":"https://docs.infinite.red/react-native-mlkit","alts":[],"httpStatus":200},{"url":"https://en.wikipedia.org/wiki/Atari_8-bit_family#600XL_and_800XL","alts":[],"httpStatus":200},{"url":"https://community.infinite.red","alts":[],"httpStatus":200},{"url":"https://github.com/infinitered/apisauce","alts":[],"httpStatus":200},{"url":"https://infinite.red/team/mark-rickert","alts":[],"httpStatus":200},{"url":"https://infinite.red","alts":[],"httpStatus":200},{"url":"https://infinite.red/","alts":[],"httpStatus":200},{"url":"https://github.com/infinitered/nsfwjs","alts":[],"httpStatus":200},{"url":"https://github.com/infinitered/solidarity","alts":[],"httpStatus":200},{"url":"https://www.youtube.com/watch?v=b66d7sX4gVY","alts":[{"type":2,"url":"vnd.youtube://www.youtube.com/watch?v=b66d7sX4gVY&feature=applinks"},{"type":3,"url":"vnd.youtube://www.youtube.com/watch?v=b66d7sX4gVY&feature=applinks"}],"httpStatus":200},{"url":"https://www.youtube.com/watch?v=barWV7RWkq0","alts":[{"type":3,"url":"vnd.youtube://www.youtube.com/watch?v=barWV7RWkq0&feature=applinks"},{"type":2,"url":"vnd.youtube://www.youtube.com/watch?v=barWV7RWkq0&feature=applinks"}],"httpStatus":200},{"url":"https://www.youtube.com/watch?v=gbDostWXpcU","alts":[{"type":3,"url":"vnd.youtube://www.youtube.com/watch?v=gbDostWXpcU&feature=applinks"},{"type":2,"url":"vnd.youtube://www.youtube.com/watch?v=gbDostWXpcU&feature=applinks"}],"httpStatus":200}],"version":"0.3","generatedAt":1703025228228},"isLockedPreviewOnly":false,"metaDescription":"","totalClapCount":734,"sectionCount":3,"readingList":0,"topics":[{"topicId":"63c6f1f93ee","slug":"javascript","createdAt":1493945704961,"deletedAt":0,"image":{"id":"1*5UyyDJ1ESD11yQNd1UVAaQ@2x.jpeg","originalWidth":5472,"originalHeight":3648},"name":"Javascript","description":"An ode to code.","relatedTopics":[],"visibility":1,"relatedTags":[],"relatedTopicIds":[],"seoTitle":"Javascript News and Articles — Medium","type":"Topic"},{"topicId":"decb52b64abf","slug":"programming","createdAt":1493934116328,"deletedAt":0,"image":{"id":"1*iPa136b1cGEO7lvoXg6uHQ@2x.jpeg","originalWidth":6016,"originalHeight":4016},"name":"Programming","description":"The good, the bad, the buggy.","relatedTopics":[],"visibility":1,"relatedTags":[],"relatedTopicIds":[],"seoTitle":"Programming News and Articles — Medium","type":"Topic"}]},"coverless":true,"slug":"introducing-docs-infinite-red-a-new-home-for-infinite-reds-documentation","translationSourcePostId":"","translationSourceCreatorId":"","isApprovedTranslation":false,"inResponseToPostId":"","inResponseToRemovedAt":0,"isTitleSynthesized":false,"allowResponses":true,"importedUrl":"","importedPublishedAt":0,"visibility":0,"uniqueSlug":"introducing-docs-infinite-red-a-new-home-for-infinite-reds-documentation-6f4b25f7a1a4","previewContent":{"bodyModel":{"paragraphs":[{"name":"previewImage","type":4,"text":"","layout":10,"metadata":{"id":"1*k52Aebq3mcAx1hUQ-Of-tg.jpeg","originalWidth":2240,"originalHeight":1260,"isFeatured":true,"alt":"Screenshot of the new docs site’s home page."}},{"name":"247d","type":3,"text":"Introducing docs.infinite.red — A New Home for Infinite Red’s Documentation","markups":[],"alignment":1}],"sections":[{"startIndex":0}]},"isFullContent":false,"subtitle":"I’m excited to share something I’ve been working on with the team at Infinite Red — a new documentation site that brings together all the…"},"license":0,"inResponseToMediaResourceId":"","canonicalUrl":"","approvedHomeCollectionId":"fb597d020d1c","isNewsletter":false,"newsletterId":"","webCanonicalUrl":"","mediumUrl":"","migrationId":"","notifyFollowers":true,"notifyTwitter":false,"notifyFacebook":false,"responseHiddenOnParentPostAt":0,"isSeries":false,"isSubscriptionLocked":false,"seriesLastAppendedAt":0,"audioVersionDurationSec":0,"sequenceId":"","isEligibleForRevenue":false,"isBlockedFromHightower":false,"deletedAt":0,"lockedPostSource":0,"hightowerMinimumGuaranteeStartsAt":0,"hightowerMinimumGuaranteeEndsAt":0,"featureLockRequestAcceptedAt":0,"mongerRequestType":1,"layerCake":0,"socialTitle":"","socialDek":"","editorialPreviewTitle":"","editorialPreviewDek":"","curationEligibleAt":0,"isProxyPost":false,"proxyPostFaviconUrl":"","proxyPostProviderName":"","proxyPostType":0,"isSuspended":false,"isLimitedState":false,"seoTitle":"","previewContent2":{"bodyModel":{"paragraphs":[{"name":"247d","type":3,"text":"Introducing docs.infinite.red — A New Home for Infinite Red’s Documentation","markups":[]},{"name":"9ee0","type":1,"text":"I’m excited to share something I’ve been working on with the team at Infinite Red — a new documentation site that brings together all the resources for our open-source projects in one easy-to-navigate place: docs.infinite.red.","markups":[{"type":3,"start":208,"end":225,"href":"https://docs.infinite.red/","title":"","rel":"","anchorType":0},{"type":1,"start":208,"end":225}]},{"name":"a640","type":4,"text":"https://docs.infinite.red is the new home for Infinite Red’s Open Source","markups":[{"type":3,"start":0,"end":25,"href":"https://docs.infinite.red","title":"","rel":"noopener","anchorType":0}],"layout":3,"metadata":{"id":"1*k52Aebq3mcAx1hUQ-Of-tg.jpeg","originalWidth":2240,"originalHeight":1260,"isFeatured":true,"alt":"Screenshot of the new docs site’s home page."}},{"name":"d695","type":1,"text":"The goal was simple: to make it easier for you to find and use Infinite…","markups":[{"type":3,"start":117,"end":123,"href":"https://docs.infinite.red/ignite","title":"","rel":"","anchorType":0},{"type":3,"start":125,"end":135,"href":"https://docs.infinite.red/reactotron","title":"","rel":"","anchorType":0},{"type":3,"start":137,"end":155,"href":"https://docs.infinite.red/react-native-mlkit","title":"","rel":"","anchorType":0},{"type":3,"start":161,"end":168,"href":"https://docs.infinite.red/gluegun","title":"","rel":"","anchorType":0}]}],"sections":[{"name":"e548","startIndex":0}]},"isFullContent":false,"subtitle":"I’m excited to share something I’ve been working on with the team at Infinite Red — a new documentation site that brings together all the…"},"cardType":0,"isDistributionAlertDismissed":false,"isShortform":false,"shortformType":0,"responsesLocked":false,"isLockedResponse":false,"isPublishToEmail":false,"responseDistribution":0,"isMarkedPaywallOnly":false,"type":"Post"},"934b5a221bda":{"id":"934b5a221bda","versionId":"d82c60cfc74c","creatorId":"ffa47137badd","homeCollectionId":"fb597d020d1c","title":"Announcing Reactotron 3.0!","detectedLanguage":"en","latestVersion":"d82c60cfc74c","latestPublishedVersion":"d82c60cfc74c","hasUnpublishedEdits":false,"latestRev":132,"createdAt":1701734375405,"updatedAt":1702506622362,"acceptedAt":0,"firstPublishedAt":1701891690299,"latestPublishedAt":1701894098934,"vote":false,"experimentalCss":"","displayAuthor":"","content":{"subtitle":"Reactotron 3.0 is here! The latest evolution of our popular open-source desktop app used for inspecting and debugging React Native…","postDisplay":{"coverless":true}},"virtuals":{"statusForCollection":"APPROVED","allowNotes":true,"previewImage":{"imageId":"1*Q0QpaEJyaKjM63cNxqmthA.png","filter":"","backgroundSize":"","originalWidth":2498,"originalHeight":1402,"strategy":"resample","height":0,"width":0},"wordCount":1147,"imageCount":10,"readingTime":5.5783018867924525,"subtitle":"Reactotron 3.0 is here! The latest evolution of our popular open-source desktop app used for inspecting and debugging React Native…","publishedInCount":1,"usersBySocialRecommends":[],"noIndex":false,"recommends":33,"isBookmarked":false,"tags":[],"socialRecommendsCount":0,"responsesCreatedCount":0,"links":{"entries":[{"url":"https://www.typescriptlang.org/docs/handbook/release-notes/typescript-4-9.html#the-satisfies-operator","alts":[],"httpStatus":200},{"url":"https://reactnative.dev/blog/2023/06/21/package-exports-support#the-new-react-native-condition","alts":[],"httpStatus":200},{"url":"https://nx.dev/","alts":[],"httpStatus":200},{"url":"https://github.com/infinitered/ignite/blob/master/boilerplate/app/devtools/ReactotronConfig.ts","alts":[],"httpStatus":200},{"url":"https://github.com/infinitered/reactotron/","alts":[],"httpStatus":200},{"url":"https://community.infinite.red/","alts":[],"httpStatus":0},{"url":"https://github.com/infinitered/reactotron/issues","alts":[],"httpStatus":200},{"url":"https://github.com/infinitered/reactotron/issues?q=is%3Aissue+android+is%3Aclosed","alts":[],"httpStatus":200},{"url":"https://github.com/infinitered/reactotron/releases?q=reactotron-app&expanded=true","alts":[],"httpStatus":200}],"version":"0.3","generatedAt":1701894099478},"isLockedPreviewOnly":false,"metaDescription":"","totalClapCount":765,"sectionCount":2,"readingList":0,"topics":[{"topicId":"63c6f1f93ee","slug":"javascript","createdAt":1493945704961,"deletedAt":0,"image":{"id":"1*5UyyDJ1ESD11yQNd1UVAaQ@2x.jpeg","originalWidth":5472,"originalHeight":3648},"name":"Javascript","description":"An ode to code.","relatedTopics":[],"visibility":1,"relatedTags":[],"relatedTopicIds":[],"seoTitle":"Javascript News and Articles — Medium","type":"Topic"}]},"coverless":true,"slug":"announcing-reactotron-3-0","translationSourcePostId":"","translationSourceCreatorId":"","isApprovedTranslation":false,"inResponseToPostId":"","inResponseToRemovedAt":0,"isTitleSynthesized":true,"allowResponses":true,"importedUrl":"","importedPublishedAt":0,"visibility":0,"uniqueSlug":"announcing-reactotron-3-0-934b5a221bda","previewContent":{"bodyModel":{"paragraphs":[{"name":"previewImage","type":4,"text":"","layout":10,"metadata":{"id":"1*Q0QpaEJyaKjM63cNxqmthA.png","originalWidth":2498,"originalHeight":1402,"isFeatured":true}},{"name":"2970","type":3,"text":"Announcing Reactotron 3.0!","markups":[],"alignment":1},{"name":"4e30","type":1,"text":"Reactotron 3.0 is here! The latest evolution of our popular open-source desktop app used for inspecting and…","markups":[],"alignment":1}],"sections":[{"startIndex":0}]},"isFullContent":false,"subtitle":"Reactotron 3.0 is here! The latest evolution of our popular open-source desktop app used for inspecting and debugging React Native…"},"license":0,"inResponseToMediaResourceId":"","canonicalUrl":"","approvedHomeCollectionId":"fb597d020d1c","isNewsletter":false,"newsletterId":"","webCanonicalUrl":"","mediumUrl":"","migrationId":"","notifyFollowers":true,"notifyTwitter":false,"notifyFacebook":false,"responseHiddenOnParentPostAt":0,"isSeries":false,"isSubscriptionLocked":false,"seriesLastAppendedAt":0,"audioVersionDurationSec":0,"sequenceId":"","isEligibleForRevenue":false,"isBlockedFromHightower":false,"deletedAt":0,"lockedPostSource":0,"hightowerMinimumGuaranteeStartsAt":0,"hightowerMinimumGuaranteeEndsAt":0,"featureLockRequestAcceptedAt":0,"mongerRequestType":1,"layerCake":6,"socialTitle":"","socialDek":"","editorialPreviewTitle":"","editorialPreviewDek":"","curationEligibleAt":0,"isProxyPost":false,"proxyPostFaviconUrl":"","proxyPostProviderName":"","proxyPostType":0,"isSuspended":false,"isLimitedState":false,"seoTitle":"","previewContent2":{"bodyModel":{"paragraphs":[{"name":"2970","type":3,"text":"Announcing Reactotron 3.0!","markups":[]},{"name":"bae2","type":4,"text":"","markups":[],"layout":1,"metadata":{"id":"1*Q0QpaEJyaKjM63cNxqmthA.png","originalWidth":2498,"originalHeight":1402,"isFeatured":true}},{"name":"4e30","type":1,"text":"Reactotron 3.0 is here! The latest evolution of our popular open-source desktop app used for inspecting and debugging React Native applications.","markups":[]},{"name":"fc21","type":1,"text":"Our team has been hard at work, rewriting a large part of Reactotron’s core internals to bring you better performance, and a better debugging experience for your React and…","markups":[]}],"sections":[{"name":"a472","startIndex":0}]},"isFullContent":false,"subtitle":"Reactotron 3.0 is here! The latest evolution of our popular open-source desktop app used for inspecting and debugging React Native…"},"cardType":0,"isDistributionAlertDismissed":false,"isShortform":false,"shortformType":0,"responsesLocked":false,"isLockedResponse":false,"isPublishToEmail":false,"responseDistribution":0,"isMarkedPaywallOnly":false,"type":"Post"},"89ab5801937d":{"id":"89ab5801937d","versionId":"1223881ad20d","creatorId":"4a1ccb16af26","homeCollectionId":"fb597d020d1c","title":"Announcing Ignite 9.0: “Exp[ress]o”","detectedLanguage":"en","latestVersion":"1223881ad20d","latestPublishedVersion":"1223881ad20d","hasUnpublishedEdits":false,"latestRev":981,"createdAt":1699897324383,"updatedAt":1700198823098,"acceptedAt":0,"firstPublishedAt":1700172376705,"latestPublishedAt":1700172376705,"vote":false,"experimentalCss":"","displayAuthor":"","content":{"subtitle":"The newest version of Ignite CLI, the React Native starter kit, just got better!","postDisplay":{"coverless":true}},"virtuals":{"statusForCollection":"APPROVED","allowNotes":true,"previewImage":{"imageId":"1*kR71zc19B6mBGshXkGlQgg.jpeg","filter":"","backgroundSize":"","originalWidth":1853,"originalHeight":1042,"strategy":"resample","height":0,"width":0},"wordCount":1293,"imageCount":12,"readingTime":6.229245283018868,"subtitle":"The newest version of Ignite CLI, the React Native starter kit, just got better!","publishedInCount":1,"usersBySocialRecommends":[],"noIndex":false,"recommends":38,"isBookmarked":false,"tags":[{"slug":"react-native","name":"React Native","postCount":29493,"metadata":{"postCount":29493,"coverImage":{"id":"1*Sed3AMym26JAPV4TC2BKyQ.jpeg","originalWidth":744,"originalHeight":358,"isFeatured":true}},"type":"Tag"},{"slug":"typescript","name":"Typescript","postCount":41876,"metadata":{"postCount":41876,"coverImage":{"id":"1*XQEeQW6AR_MljGldKDivhw.png","originalWidth":1280,"originalHeight":720,"isFeatured":true}},"type":"Tag"},{"slug":"ignite","name":"Ignite","postCount":367,"metadata":{"postCount":367,"coverImage":{"id":"1*3hlW5AR_SZXIAT6d8xPhSg.jpeg","originalWidth":1080,"originalHeight":1424,"isFeatured":true}},"type":"Tag"},{"slug":"infinite-red","name":"Infinite Red","postCount":13,"metadata":{"postCount":13,"coverImage":{"id":"1*kR71zc19B6mBGshXkGlQgg.jpeg","originalWidth":1853,"originalHeight":1042,"isFeatured":true}},"type":"Tag"},{"slug":"expo","name":"Expo","postCount":3349,"metadata":{"postCount":3349,"coverImage":{"id":"1*XRc19DdNkJrImM8sihvsHg.png","originalWidth":768,"originalHeight":432,"isFeatured":true}},"type":"Tag"}],"socialRecommendsCount":0,"responsesCreatedCount":3,"links":{"entries":[{"url":"https://infinite.red/","alts":[],"httpStatus":200},{"url":"https://reactnative.dev/","alts":[],"httpStatus":200},{"url":"https://reactnativeradio.com/","alts":[],"httpStatus":200},{"url":"https://github.com/infinitered/ignite/issues/new","alts":[],"httpStatus":200},{"url":"https://reactnativeradio.com/episodes/rnr-276-announcing-ignite-v9-expresso","alts":[],"httpStatus":200},{"url":"https://docs.expo.dev/build/introduction/","alts":[],"httpStatus":200},{"url":"https://bun.sh/","alts":[],"httpStatus":200},{"url":"https://twitter.com/jamonholmgren/status/1144408644248752129","alts":[],"httpStatus":200},{"url":"https://reactnativeradio.com/episodes/rnr-191-advancements-in-expo-with-brent-vatne-kqiT4ZEC","alts":[],"httpStatus":200},{"url":"https://reactnativeradio.com/episodes/rnr-222-the-new-architecture-with-kevin-gozali-from-the-rn-core-team/transcript","alts":[],"httpStatus":200},{"url":"https://docs.expo.dev/workflow/continuous-native-generation/","alts":[],"httpStatus":200},{"url":"https://community.infinite.red","alts":[],"httpStatus":200},{"url":"https://github.com/infinitered/ignite/commit/d37e41e4de01b44dacba51c7c003ce8271b8a000","alts":[],"httpStatus":200},{"url":"https://github.com/infinitered/ignite/releases/tag/v9.0.0","alts":[],"httpStatus":200},{"url":"https://github.com/infinitered/ignite/blob/master/docs/Guide.md","alts":[],"httpStatus":200},{"url":"https://github.com/infinitered/ignite","alts":[],"httpStatus":200},{"url":"https://github.com/infinitered/ignite/","alts":[],"httpStatus":200},{"url":"https://expo.dev/","alts":[],"httpStatus":200},{"url":"https://reactnativeradio.com/episodes/rnr-245-shopifys-flashlist-with-talha-naqvi","alts":[],"httpStatus":200},{"url":"https://reactotron.com","alts":[],"httpStatus":200},{"url":"https://shift.infinite.red/why-infinite-red-uses-mobx-state-tree-instead-of-redux-d6c1407dead","alts":[{"type":3,"url":"medium://p/d6c1407dead"},{"type":2,"url":"medium://p/d6c1407dead"}],"httpStatus":200},{"url":"https://github.com/Shopify/flash-list/issues/544","alts":[],"httpStatus":200},{"url":"https://shift.infinite.red/announcing-ignite-8-0-maverick-fbbdafbb738e","alts":[{"type":3,"url":"medium://p/fbbdafbb738e"},{"type":2,"url":"medium://p/fbbdafbb738e"}],"httpStatus":200}],"version":"0.3","generatedAt":1700172377787},"isLockedPreviewOnly":false,"metaDescription":"","totalClapCount":816,"sectionCount":1,"readingList":0,"topics":[{"topicId":"63c6f1f93ee","slug":"javascript","createdAt":1493945704961,"deletedAt":0,"image":{"id":"1*5UyyDJ1ESD11yQNd1UVAaQ@2x.jpeg","originalWidth":5472,"originalHeight":3648},"name":"Javascript","description":"An ode to code.","relatedTopics":[],"visibility":1,"relatedTags":[],"relatedTopicIds":[],"seoTitle":"Javascript News and Articles — Medium","type":"Topic"}]},"coverless":true,"slug":"announcing-ignite-9-0-exp-ress-o","translationSourcePostId":"","translationSourceCreatorId":"","isApprovedTranslation":false,"inResponseToPostId":"","inResponseToRemovedAt":0,"isTitleSynthesized":false,"allowResponses":true,"importedUrl":"","importedPublishedAt":0,"visibility":0,"uniqueSlug":"announcing-ignite-9-0-exp-ress-o-89ab5801937d","previewContent":{"bodyModel":{"paragraphs":[{"name":"previewImage","type":4,"text":"","layout":10,"metadata":{"id":"1*kR71zc19B6mBGshXkGlQgg.jpeg","originalWidth":1853,"originalHeight":1042,"isFeatured":true}},{"name":"previewTitle","type":3,"text":"Announcing Ignite 9.0: “Exp[ress]o”","alignment":1},{"name":"previewSubtitle","type":13,"text":"The newest version of Ignite CLI, the React Native starter kit…","alignment":1}],"sections":[{"startIndex":0}]},"isFullContent":false,"subtitle":"The newest version of Ignite CLI, the React Native starter kit, just got better!"},"license":0,"inResponseToMediaResourceId":"","canonicalUrl":"","approvedHomeCollectionId":"fb597d020d1c","isNewsletter":false,"newsletterId":"e6a08a87a19c","webCanonicalUrl":"","mediumUrl":"","migrationId":"","notifyFollowers":true,"notifyTwitter":false,"notifyFacebook":false,"responseHiddenOnParentPostAt":0,"isSeries":false,"isSubscriptionLocked":false,"seriesLastAppendedAt":0,"audioVersionDurationSec":0,"sequenceId":"","isEligibleForRevenue":false,"isBlockedFromHightower":false,"deletedAt":0,"lockedPostSource":0,"hightowerMinimumGuaranteeStartsAt":0,"hightowerMinimumGuaranteeEndsAt":0,"featureLockRequestAcceptedAt":0,"mongerRequestType":1,"layerCake":0,"socialTitle":"","socialDek":"","editorialPreviewTitle":"","editorialPreviewDek":"","curationEligibleAt":0,"isProxyPost":false,"proxyPostFaviconUrl":"","proxyPostProviderName":"","proxyPostType":0,"isSuspended":false,"isLimitedState":false,"seoTitle":"","previewContent2":{"bodyModel":{"paragraphs":[{"name":"77ac","type":3,"text":"Announcing Ignite 9.0: “Exp[ress]o”","markups":[]},{"name":"aef6","type":13,"text":"From “Expo-friendly” to “Expo-focused”","markups":[]},{"name":"0c19","type":4,"text":"","markups":[],"layout":3,"metadata":{"id":"1*kR71zc19B6mBGshXkGlQgg.jpeg","originalWidth":1853,"originalHeight":1042,"isFeatured":true}},{"name":"b013","type":1,"text":"We’re really happy to announce that Ignite 9, code-named “Exp[ress]o”, is now released!","markups":[]},{"name":"0f4c","type":1,"text":"Why “Exp[ress]o”? It’s “Expo”, but with extra shots of caffeine mixed in!","markups":[{"type":3,"start":24,"end":28,"href":"https://expo.dev/","title":"","rel":"","anchorType":0},{"type":2,"start":0,"end":73}]},{"name":"191b","type":1,"text":"After 68 commits, 219 files changed, net -3,383 lines of code (less code!), and over a hundred developer-hours, Ignite 9 is coming to a project…","markups":[{"type":3,"start":157,"end":178,"href":"https://shift.infinite.red/announcing-ignite-8-0-maverick-fbbdafbb738e","title":"","rel":"noopener","anchorType":0},{"type":3,"start":218,"end":242,"href":"https://github.com/infinitered/ignite/releases/tag/v9.0.0","title":"","rel":"","anchorType":0},{"type":1,"start":195,"end":208},{"type":1,"start":269,"end":281}]}],"sections":[{"name":"1571","startIndex":0}]},"isFullContent":false,"subtitle":"The newest version of Ignite CLI, the React Native starter kit, just got better!"},"cardType":0,"isDistributionAlertDismissed":false,"isShortform":false,"shortformType":0,"responsesLocked":false,"isLockedResponse":false,"isPublishToEmail":true,"responseDistribution":0,"isMarkedPaywallOnly":false,"type":"Post"},"35d396932e28":{"id":"35d396932e28","versionId":"901554e01de","creatorId":"6ca0fe37eac1","homeCollectionId":"fb597d020d1c","title":"Building Connections with AI","detectedLanguage":"en","latestVersion":"901554e01de","latestPublishedVersion":"901554e01de","hasUnpublishedEdits":false,"latestRev":352,"createdAt":1686935468668,"updatedAt":1693372254248,"acceptedAt":0,"firstPublishedAt":1693322544895,"latestPublishedAt":1693322544895,"vote":false,"experimentalCss":"","displayAuthor":"","content":{"subtitle":"A short story of using AI to make custom stickers for the team","postDisplay":{"coverless":true}},"virtuals":{"statusForCollection":"APPROVED","allowNotes":true,"previewImage":{"imageId":"1*u2KewqfSqunTybw5UG8wHA.jpeg","filter":"","backgroundSize":"","originalWidth":4032,"originalHeight":3024,"strategy":"resample","height":0,"width":0},"wordCount":537,"imageCount":11,"readingTime":3.326415094339623,"subtitle":"A short story of using AI to make custom stickers for the team","publishedInCount":1,"usersBySocialRecommends":[],"noIndex":false,"recommends":16,"isBookmarked":false,"tags":[{"slug":"ai","name":"AI","postCount":513170,"metadata":{"postCount":513170,"coverImage":{"id":"1*TQrv3LNHRrNbSdNWSzKUfw.jpeg","originalWidth":1200,"originalHeight":800,"isFeatured":true,"alt":"Young woman on broken stairs to the sky"}},"type":"Tag"},{"slug":"creativeai","name":"Creative Ai","postCount":0,"metadata":{"postCount":0,"coverImage":{"id":"0*G-PMK7iSGXEHsg0S.png","originalWidth":1024,"originalHeight":512,"externalSrc":"https://blog.lobster.media/wp-content/uploads/2017/06/the-way-of-tea-6-1024x512.png","alt":"the way of tea (6)"}},"type":"Tag"},{"slug":"funai","name":"Fun Ai","postCount":0,"metadata":{"postCount":0},"type":"Tag"},{"slug":"team-building","name":"Team Building","postCount":16529,"metadata":{"postCount":16529,"coverImage":{"id":"1*9M_BPqUx-udLeymi2GLQPQ.png","originalWidth":1500,"originalHeight":750,"isFeatured":true}},"type":"Tag"},{"slug":"team-building-ai","name":"Team Building Ai","postCount":0,"metadata":{"postCount":0,"coverImage":{"id":"1*u2KewqfSqunTybw5UG8wHA.jpeg","originalWidth":4032,"originalHeight":3024,"isFeatured":true}},"type":"Tag"}],"socialRecommendsCount":0,"responsesCreatedCount":0,"links":{"entries":[{"url":"https://chat.openai.com/?model=gpt-4","alts":[],"httpStatus":403},{"url":"https://www.midjourney.com/home/","alts":[],"httpStatus":403},{"url":"https://infinite.red/","alts":[],"httpStatus":200},{"url":"http://infinite.red/","alts":[],"httpStatus":200},{"url":"https://twitter.com/GantLaborde","alts":[],"httpStatus":200},{"url":"https://www.stickermule.com/unlock?ref_id=4546370701&utm_medium=link&utm_source=invite","alts":[],"httpStatus":200},{"url":"https://elements.envato.com/","alts":[],"httpStatus":200},{"url":"https://gantlaborde.medium.com/im-not-cool-nfc-for-socials-9880683af7de","alts":[{"type":3,"url":"medium://p/9880683af7de"},{"type":2,"url":"medium://p/9880683af7de"}],"httpStatus":200},{"url":"https://medium.com/u/6ca0fe37eac1?source=post_page-----a1d0ab879cb9----------------------","alts":[{"type":2,"url":"medium://@gantlaborde"},{"type":3,"url":"medium://@gantlaborde"}],"httpStatus":200},{"url":"http://gantlaborde.com/","alts":[],"httpStatus":200}],"version":"0.3","generatedAt":1693322546785},"isLockedPreviewOnly":false,"metaDescription":"","totalClapCount":552,"sectionCount":1,"readingList":0,"topics":[{"topicId":"55321ac40456","slug":"design","createdAt":1536181929758,"deletedAt":0,"image":{"id":"1*1aLu20aptPeUTDg_E8KtmA@2x.jpeg","originalWidth":6016,"originalHeight":4016},"name":"Design","description":"Below the surface.","relatedTopics":[],"visibility":1,"relatedTags":[],"relatedTopicIds":[],"seoTitle":"Design Articles and News — Medium","type":"Topic"},{"topicId":"decb52b64abf","slug":"programming","createdAt":1493934116328,"deletedAt":0,"image":{"id":"1*iPa136b1cGEO7lvoXg6uHQ@2x.jpeg","originalWidth":6016,"originalHeight":4016},"name":"Programming","description":"The good, the bad, the buggy.","relatedTopics":[],"visibility":1,"relatedTags":[],"relatedTopicIds":[],"seoTitle":"Programming News and Articles — Medium","type":"Topic"}]},"coverless":true,"slug":"building-connections-with-ai","translationSourcePostId":"","translationSourceCreatorId":"","isApprovedTranslation":false,"inResponseToPostId":"","inResponseToRemovedAt":0,"isTitleSynthesized":true,"allowResponses":true,"importedUrl":"","importedPublishedAt":0,"visibility":0,"uniqueSlug":"building-connections-with-ai-35d396932e28","previewContent":{"bodyModel":{"paragraphs":[{"name":"previewImage","type":4,"text":"","layout":10,"metadata":{"id":"1*u2KewqfSqunTybw5UG8wHA.jpeg","originalWidth":4032,"originalHeight":3024,"isFeatured":true}},{"name":"186d","type":3,"text":"Building Connections with AI","markups":[],"alignment":1},{"name":"4e20","type":13,"text":"A short story of using AI to make custom stickers for the team","markups":[],"alignment":1}],"sections":[{"startIndex":0}]},"isFullContent":false,"subtitle":"A short story of using AI to make custom stickers for the team"},"license":0,"inResponseToMediaResourceId":"","canonicalUrl":"","approvedHomeCollectionId":"fb597d020d1c","isNewsletter":false,"newsletterId":"1ddca41c776e","webCanonicalUrl":"","mediumUrl":"","migrationId":"","notifyFollowers":true,"notifyTwitter":false,"notifyFacebook":false,"responseHiddenOnParentPostAt":0,"isSeries":false,"isSubscriptionLocked":false,"seriesLastAppendedAt":0,"audioVersionDurationSec":0,"sequenceId":"","isEligibleForRevenue":false,"isBlockedFromHightower":false,"deletedAt":0,"lockedPostSource":0,"hightowerMinimumGuaranteeStartsAt":0,"hightowerMinimumGuaranteeEndsAt":0,"featureLockRequestAcceptedAt":0,"mongerRequestType":1,"layerCake":0,"socialTitle":"","socialDek":"","editorialPreviewTitle":"","editorialPreviewDek":"","curationEligibleAt":0,"isProxyPost":false,"proxyPostFaviconUrl":"","proxyPostProviderName":"","proxyPostType":0,"isSuspended":false,"isLimitedState":false,"seoTitle":"","previewContent2":{"bodyModel":{"paragraphs":[{"name":"186d","type":3,"text":"Building Connections with AI","markups":[]},{"name":"4e20","type":13,"text":"A short story of using AI to make custom stickers for the team","markups":[]},{"name":"93b3","type":1,"text":"I love coming up with customized stuff. It’s not easy, and there are tons of tips and tricks to make unique, fun, and interesting customizations for your community. None of these come close to what I got with a little AI.","markups":[{"type":1,"start":165,"end":221}]},{"name":"e415","type":1,"text":"This is the story of how easily I got…","markups":[{"type":2,"start":0,"end":74}]}],"sections":[{"name":"15e5","startIndex":0}]},"isFullContent":false,"subtitle":"A short story of using AI to make custom stickers for the team"},"cardType":0,"isDistributionAlertDismissed":false,"isShortform":false,"shortformType":0,"responsesLocked":false,"isLockedResponse":false,"isPublishToEmail":true,"responseDistribution":0,"isMarkedPaywallOnly":false,"type":"Post"},"b7317319d34d":{"id":"b7317319d34d","versionId":"32b1a453df39","creatorId":"4a1ccb16af26","homeCollectionId":"fb597d020d1c","title":"The secret to React Native’s success","detectedLanguage":"en","latestVersion":"32b1a453df39","latestPublishedVersion":"32b1a453df39","hasUnpublishedEdits":false,"latestRev":104,"createdAt":1691446908217,"updatedAt":1692182450186,"acceptedAt":0,"firstPublishedAt":1691686570126,"latestPublishedAt":1691686570126,"vote":false,"experimentalCss":"","displayAuthor":"","content":{"subtitle":"We bet our company on it","postDisplay":{"coverless":true}},"virtuals":{"statusForCollection":"APPROVED","allowNotes":true,"previewImage":{"imageId":"1*6qb04u-wzYGtcRwpAXTNVg.jpeg","filter":"","backgroundSize":"","originalWidth":2400,"originalHeight":1200,"strategy":"resample","height":0,"width":0},"wordCount":341,"imageCount":1,"readingTime":1.4867924528301886,"subtitle":"We bet our company on it","publishedInCount":1,"usersBySocialRecommends":[],"noIndex":false,"recommends":52,"isBookmarked":false,"tags":[{"slug":"react-native","name":"React Native","postCount":29493,"metadata":{"postCount":29493,"coverImage":{"id":"1*Sed3AMym26JAPV4TC2BKyQ.jpeg","originalWidth":744,"originalHeight":358,"isFeatured":true}},"type":"Tag"},{"slug":"react-native-development","name":"React Native Development","postCount":3595,"metadata":{"postCount":3595,"coverImage":{"id":"1*Fhm1nbOCRv1Vi7rpBMzIng.png","originalWidth":1500,"originalHeight":750,"isFeatured":true}},"type":"Tag"},{"slug":"infinite-red","name":"Infinite Red","postCount":13,"metadata":{"postCount":13,"coverImage":{"id":"1*kR71zc19B6mBGshXkGlQgg.jpeg","originalWidth":1853,"originalHeight":1042,"isFeatured":true}},"type":"Tag"},{"slug":"mobile-app-development","name":"Mobile App Development","postCount":101309,"metadata":{"postCount":101309,"coverImage":{"id":"1*4zeZF4WNijZvY58LhoPKOA.jpeg","originalWidth":1280,"originalHeight":720,"isFeatured":true}},"type":"Tag"}],"socialRecommendsCount":0,"responsesCreatedCount":1,"links":{"entries":[{"url":"https://chainreactconf.com/","alts":[],"httpStatus":200},{"url":"https://react.dev/","alts":[],"httpStatus":200},{"url":"https://infinite.red","alts":[],"httpStatus":200},{"url":"https://infinite.red/react-native","alts":[],"httpStatus":200},{"url":"https://reactnativenewsletter.com/","alts":[],"httpStatus":200},{"url":"https://reactnativeradio.com/","alts":[],"httpStatus":200},{"url":"https://expo.dev/","alts":[],"httpStatus":200},{"url":"https://github.com/infinitered/ignite/","alts":[],"httpStatus":200}],"version":"0.3","generatedAt":1691686570626},"isLockedPreviewOnly":false,"metaDescription":"","totalClapCount":1025,"sectionCount":1,"readingList":0,"topics":[{"topicId":"63c6f1f93ee","slug":"javascript","createdAt":1493945704961,"deletedAt":0,"image":{"id":"1*5UyyDJ1ESD11yQNd1UVAaQ@2x.jpeg","originalWidth":5472,"originalHeight":3648},"name":"Javascript","description":"An ode to code.","relatedTopics":[],"visibility":1,"relatedTags":[],"relatedTopicIds":[],"seoTitle":"Javascript News and Articles — Medium","type":"Topic"},{"topicId":"decb52b64abf","slug":"programming","createdAt":1493934116328,"deletedAt":0,"image":{"id":"1*iPa136b1cGEO7lvoXg6uHQ@2x.jpeg","originalWidth":6016,"originalHeight":4016},"name":"Programming","description":"The good, the bad, the buggy.","relatedTopics":[],"visibility":1,"relatedTags":[],"relatedTopicIds":[],"seoTitle":"Programming News and Articles — Medium","type":"Topic"}]},"coverless":true,"slug":"the-secret-to-react-natives-success","translationSourcePostId":"","translationSourceCreatorId":"","isApprovedTranslation":false,"inResponseToPostId":"","inResponseToRemovedAt":0,"isTitleSynthesized":true,"allowResponses":true,"importedUrl":"","importedPublishedAt":0,"visibility":0,"uniqueSlug":"the-secret-to-react-natives-success-b7317319d34d","previewContent":{"bodyModel":{"paragraphs":[{"name":"previewImage","type":4,"text":"","layout":10,"metadata":{"id":"1*6qb04u-wzYGtcRwpAXTNVg.jpeg","originalWidth":2400,"originalHeight":1200,"isFeatured":true}},{"name":"f0e3","type":3,"text":"The secret to React Native’s success","markups":[],"alignment":1},{"name":"4306","type":13,"text":"We bet our company on it","markups":[],"alignment":1}],"sections":[{"startIndex":0}]},"isFullContent":false,"subtitle":"We bet our company on it"},"license":0,"inResponseToMediaResourceId":"","canonicalUrl":"","approvedHomeCollectionId":"fb597d020d1c","isNewsletter":false,"newsletterId":"","webCanonicalUrl":"","mediumUrl":"","migrationId":"","notifyFollowers":true,"notifyTwitter":false,"notifyFacebook":false,"responseHiddenOnParentPostAt":0,"isSeries":false,"isSubscriptionLocked":false,"seriesLastAppendedAt":0,"audioVersionDurationSec":0,"sequenceId":"","isEligibleForRevenue":false,"isBlockedFromHightower":false,"deletedAt":0,"lockedPostSource":0,"hightowerMinimumGuaranteeStartsAt":0,"hightowerMinimumGuaranteeEndsAt":0,"featureLockRequestAcceptedAt":0,"mongerRequestType":1,"layerCake":6,"socialTitle":"","socialDek":"","editorialPreviewTitle":"","editorialPreviewDek":"","curationEligibleAt":0,"isProxyPost":false,"proxyPostFaviconUrl":"","proxyPostProviderName":"","proxyPostType":0,"isSuspended":false,"isLimitedState":false,"seoTitle":"","previewContent2":{"bodyModel":{"paragraphs":[{"name":"f0e3","type":3,"text":"The secret to React Native’s success","markups":[]},{"name":"4306","type":13,"text":"We bet our company on it","markups":[]},{"name":"9d79","type":4,"text":"","markups":[],"layout":1,"metadata":{"id":"1*6qb04u-wzYGtcRwpAXTNVg.jpeg","originalWidth":2400,"originalHeight":1200,"isFeatured":true}},{"name":"f117","type":1,"text":"When we at Infinite Red decided to focus on React Native mobile app development and consulting in 2015, it wasn’t an obvious choice. There were a lot of other options and most companies were skeptical of “hybrid” solutions, having been bitten by Cordova and PhoneGap and others that just couldn’t…","markups":[{"type":3,"start":44,"end":56,"href":"https://infinite.red/react-native","title":"","rel":"","anchorType":0}]}],"sections":[{"name":"1699","startIndex":0}]},"isFullContent":false,"subtitle":"We bet our company on it"},"cardType":0,"isDistributionAlertDismissed":false,"isShortform":false,"shortformType":0,"responsesLocked":false,"isLockedResponse":false,"isPublishToEmail":false,"responseDistribution":0,"isMarkedPaywallOnly":false,"type":"Post"},"665a93883e4f":{"id":"665a93883e4f","versionId":"3dd77e38d705","creatorId":"6ca0fe37eac1","homeCollectionId":"fb597d020d1c","title":"Top Ten Reasons to go to Chain React","detectedLanguage":"en","latestVersion":"3dd77e38d705","latestPublishedVersion":"3dd77e38d705","hasUnpublishedEdits":false,"latestRev":2051,"createdAt":1676500026887,"updatedAt":1678128922962,"acceptedAt":0,"firstPublishedAt":1677778335084,"latestPublishedAt":1678128922962,"vote":false,"experimentalCss":"","displayAuthor":"","content":{"subtitle":"Why you need to go to the US React Native Conference in May","postDisplay":{"coverless":true}},"virtuals":{"statusForCollection":"APPROVED","allowNotes":true,"previewImage":{"imageId":"1*rVAaAx2V4uZAEMaoEd9j2Q.png","filter":"","backgroundSize":"","originalWidth":1600,"originalHeight":800,"strategy":"resample","height":0,"width":0},"wordCount":2071,"imageCount":24,"readingTime":9.76509433962264,"subtitle":"Why you need to go to the US React Native Conference in May","publishedInCount":1,"usersBySocialRecommends":[],"noIndex":false,"recommends":7,"isBookmarked":false,"tags":[{"slug":"react-native","name":"React Native","postCount":29493,"metadata":{"postCount":29493,"coverImage":{"id":"1*Sed3AMym26JAPV4TC2BKyQ.jpeg","originalWidth":744,"originalHeight":358,"isFeatured":true}},"type":"Tag"},{"slug":"react-native-conference","name":"React Native Conference","postCount":22,"metadata":{"postCount":22,"coverImage":{"id":"1*szbskHICwKHIr0eOISRMHA.jpeg","originalWidth":3024,"originalHeight":4032}},"type":"Tag"},{"slug":"chain-react-conference","name":"Chain React Conference","postCount":0,"metadata":{"postCount":0,"coverImage":{"id":"1*rVAaAx2V4uZAEMaoEd9j2Q.png","originalWidth":1600,"originalHeight":800,"isFeatured":true}},"type":"Tag"},{"slug":"mobile-app-development","name":"Mobile App Development","postCount":101309,"metadata":{"postCount":101309,"coverImage":{"id":"1*4zeZF4WNijZvY58LhoPKOA.jpeg","originalWidth":1280,"originalHeight":720,"isFeatured":true}},"type":"Tag"},{"slug":"us-react-native","name":"Us React Native","postCount":0,"metadata":{"postCount":0,"coverImage":{"id":"1*rVAaAx2V4uZAEMaoEd9j2Q.png","originalWidth":1600,"originalHeight":800,"isFeatured":true}},"type":"Tag"}],"socialRecommendsCount":0,"responsesCreatedCount":0,"links":{"entries":[{"url":"http://infinite.red/","alts":[],"httpStatus":200},{"url":"https://reactnativeradio.com/","alts":[],"httpStatus":200},{"url":"https://infinite.red/","alts":[],"httpStatus":200},{"url":"https://www.eventbrite.com/e/chain-react-2023-the-us-react-native-conference-tickets-439987673977","alts":[{"type":3,"url":"com-eventbrite-attendee://event/439987673977/?referrer=eandurlxfbk&"}],"httpStatus":200},{"url":"https://reactnativenewsletter.com/","alts":[],"httpStatus":200},{"url":"https://twitter.com/GantLaborde","alts":[],"httpStatus":200},{"url":"https://testdouble.com/","alts":[],"httpStatus":200},{"url":"https://link.testdouble.com/chain-react-code-coffee","alts":[],"httpStatus":200},{"url":"https://twitter.com/GantLaborde/status/1630970890459512832?s=20","alts":[],"httpStatus":200},{"url":"https://chainreactconf.com/","alts":[],"httpStatus":200},{"url":"https://www.deschutesbrewery.com/","alts":[],"httpStatus":200},{"url":"https://shift.infinite.red/convince-your-boss-react-native-chain-react-dce9b5cb3730","alts":[{"type":3,"url":"medium://p/dce9b5cb3730"},{"type":2,"url":"medium://p/dce9b5cb3730"}],"httpStatus":200},{"url":"https://www.marriott.com/event-reservations/reservation-link.mi?id=1663785945441&key=GRP&app=resvlink","alts":[],"httpStatus":200},{"url":"https://www.dezeen.com/2018/12/27/zgf-architects-expensify-office-portland/","alts":[{"type":1,"url":"https://cdn.ampproject.org/c/s/www.dezeen.com/2018/12/27/zgf-architects-expensify-office-portland/amp/"}],"httpStatus":200},{"url":"https://screendoorrestaurant.com/","alts":[],"httpStatus":200},{"url":"https://devilsfoodcatering.com/","alts":[],"httpStatus":200},{"url":"https://medium.com/u/6ca0fe37eac1?source=post_page-----a1d0ab879cb9----------------------","alts":[{"type":3,"url":"medium://@gantlaborde"},{"type":2,"url":"medium://@gantlaborde"}],"httpStatus":200},{"url":"http://gantlaborde.com/","alts":[],"httpStatus":200},{"url":"https://www.tripadvisor.com/Attractions-g52024-Activities-Portland_Oregon.html","alts":[{"type":2,"url":"tripadvisor://www.tripadvisor.com/Attractions-g52024-Activities-Portland_Oregon.html?m=33762"}],"httpStatus":200}],"version":"0.3","generatedAt":1678128924976},"isLockedPreviewOnly":false,"metaDescription":"","totalClapCount":353,"sectionCount":3,"readingList":0,"topics":[{"topicId":"63c6f1f93ee","slug":"javascript","createdAt":1493945704961,"deletedAt":0,"image":{"id":"1*5UyyDJ1ESD11yQNd1UVAaQ@2x.jpeg","originalWidth":5472,"originalHeight":3648},"name":"Javascript","description":"An ode to code.","relatedTopics":[],"visibility":1,"relatedTags":[],"relatedTopicIds":[],"seoTitle":"Javascript News and Articles — Medium","type":"Topic"},{"topicId":"decb52b64abf","slug":"programming","createdAt":1493934116328,"deletedAt":0,"image":{"id":"1*iPa136b1cGEO7lvoXg6uHQ@2x.jpeg","originalWidth":6016,"originalHeight":4016},"name":"Programming","description":"The good, the bad, the buggy.","relatedTopics":[],"visibility":1,"relatedTags":[],"relatedTopicIds":[],"seoTitle":"Programming News and Articles — Medium","type":"Topic"}]},"coverless":true,"slug":"top-ten-reasons-to-go-to-chain-react","translationSourcePostId":"","translationSourceCreatorId":"","isApprovedTranslation":false,"inResponseToPostId":"","inResponseToRemovedAt":0,"isTitleSynthesized":true,"allowResponses":true,"importedUrl":"","importedPublishedAt":0,"visibility":0,"uniqueSlug":"top-ten-reasons-to-go-to-chain-react-665a93883e4f","previewContent":{"bodyModel":{"paragraphs":[{"name":"previewImage","type":4,"text":"","layout":10,"metadata":{"id":"1*rVAaAx2V4uZAEMaoEd9j2Q.png","originalWidth":1600,"originalHeight":800,"isFeatured":true}},{"name":"83a4","type":3,"text":"Top Ten Reasons to go to Chain React","markups":[],"alignment":1},{"name":"5bc1","type":13,"text":"Why you need to go to the US React Native Conference in May","markups":[],"alignment":1}],"sections":[{"startIndex":0}]},"isFullContent":false,"subtitle":"Why you need to go to the US React Native Conference in May"},"license":0,"inResponseToMediaResourceId":"","canonicalUrl":"","approvedHomeCollectionId":"fb597d020d1c","isNewsletter":false,"newsletterId":"ab0e5437ad14","webCanonicalUrl":"","mediumUrl":"","migrationId":"","notifyFollowers":true,"notifyTwitter":false,"notifyFacebook":false,"responseHiddenOnParentPostAt":0,"isSeries":false,"isSubscriptionLocked":false,"seriesLastAppendedAt":0,"audioVersionDurationSec":0,"sequenceId":"","isEligibleForRevenue":false,"isBlockedFromHightower":false,"deletedAt":0,"lockedPostSource":0,"hightowerMinimumGuaranteeStartsAt":0,"hightowerMinimumGuaranteeEndsAt":0,"featureLockRequestAcceptedAt":0,"mongerRequestType":1,"layerCake":3,"socialTitle":"","socialDek":"","editorialPreviewTitle":"","editorialPreviewDek":"","curationEligibleAt":0,"primaryTopicId":"63c6f1f93ee","isProxyPost":false,"proxyPostFaviconUrl":"","proxyPostProviderName":"","proxyPostType":0,"isSuspended":false,"isLimitedState":false,"seoTitle":"","previewContent2":{"bodyModel":{"paragraphs":[{"name":"83a4","type":3,"text":"Top Ten Reasons to go to Chain React","markups":[]},{"name":"5bc1","type":13,"text":"Why you need to go to the US React Native Conference in May","markups":[]},{"name":"c270","type":4,"text":"","markups":[],"layout":1,"metadata":{"id":"1*rVAaAx2V4uZAEMaoEd9j2Q.png","originalWidth":1600,"originalHeight":800,"isFeatured":true}},{"name":"e60e","type":1,"text":"Ever since we announced Chain React 2023, members of the React Native community have been asking me to share why I’m so excited about it, so I said, ‘EZ! Consider it done!” and wrote up my top 10 reasons why Chain React is an epic conference.","markups":[]},{"name":"8026","type":1,"text":"Look, this blog post…","markups":[{"type":1,"start":28,"end":32},{"type":2,"start":0,"end":4}]}],"sections":[{"name":"4500","startIndex":0}]},"isFullContent":false,"subtitle":"Why you need to go to the US React Native Conference in May"},"cardType":0,"isDistributionAlertDismissed":false,"isShortform":false,"shortformType":0,"responsesLocked":false,"isLockedResponse":false,"isPublishToEmail":true,"responseDistribution":0,"isMarkedPaywallOnly":false,"type":"Post"},"dce9b5cb3730":{"id":"dce9b5cb3730","versionId":"273bf89cf173","creatorId":"6ca0fe37eac1","homeCollectionId":"fb597d020d1c","title":"Convince Your Boss + React Native = Chain React","detectedLanguage":"en","latestVersion":"273bf89cf173","latestPublishedVersion":"273bf89cf173","hasUnpublishedEdits":false,"latestRev":1082,"createdAt":1676327551126,"updatedAt":1676607358718,"acceptedAt":0,"firstPublishedAt":1676563363145,"latestPublishedAt":1676563363145,"vote":false,"experimentalCss":"","displayAuthor":"","content":{"subtitle":"The US React Native Conference is For You","postDisplay":{"coverless":true}},"virtuals":{"statusForCollection":"APPROVED","allowNotes":true,"previewImage":{"imageId":"1*lKDVmouipSDxO15GfNEDeQ.jpeg","filter":"","backgroundSize":"","originalWidth":2800,"originalHeight":1400,"strategy":"resample","height":0,"width":0},"wordCount":1078,"imageCount":18,"readingTime":5.717924528301888,"subtitle":"The US React Native Conference is For You","publishedInCount":1,"usersBySocialRecommends":[],"noIndex":false,"recommends":23,"isBookmarked":false,"tags":[{"slug":"react-native","name":"React Native","postCount":29493,"metadata":{"postCount":29493,"coverImage":{"id":"1*Sed3AMym26JAPV4TC2BKyQ.jpeg","originalWidth":744,"originalHeight":358,"isFeatured":true}},"type":"Tag"},{"slug":"mobile-app-development","name":"Mobile App Development","postCount":101309,"metadata":{"postCount":101309,"coverImage":{"id":"1*4zeZF4WNijZvY58LhoPKOA.jpeg","originalWidth":1280,"originalHeight":720,"isFeatured":true}},"type":"Tag"},{"slug":"react-native-conference","name":"React Native Conference","postCount":22,"metadata":{"postCount":22,"coverImage":{"id":"1*szbskHICwKHIr0eOISRMHA.jpeg","originalWidth":3024,"originalHeight":4032}},"type":"Tag"},{"slug":"chain-react","name":"Chain React","postCount":14,"metadata":{"postCount":14,"coverImage":{"id":"1*ba6la7gAHj-OmUM0RCfu-g.jpeg","originalWidth":4032,"originalHeight":3024,"isFeatured":true}},"type":"Tag"},{"slug":"react-native-developers","name":"React Native Developers","postCount":1444,"metadata":{"postCount":1444,"coverImage":{"id":"1*hBTQD5ol2Be53Z6GONEZiA.png","originalWidth":1536,"originalHeight":1024,"isFeatured":true}},"type":"Tag"}],"socialRecommendsCount":0,"responsesCreatedCount":0,"links":{"entries":[{"url":"https://chainreactconf.com/","alts":[],"httpStatus":200},{"url":"http://infinite.red/","alts":[],"httpStatus":200},{"url":"https://twitter.com/GantLaborde","alts":[],"httpStatus":200},{"url":"https://twitter.com/ChainReactConf","alts":[],"httpStatus":200},{"url":"https://s3.amazonaws.com/ir_public/media/CR-2023-Sponsorship.pdf","alts":[],"httpStatus":200},{"url":"https://bit.ly/chain-react-2023","alts":[],"httpStatus":200},{"url":"https://www.powells.com/","alts":[],"httpStatus":200},{"url":"https://www.dezeen.com/2018/12/27/zgf-architects-expensify-office-portland/","alts":[{"type":1,"url":"https://cdn.ampproject.org/c/s/www.dezeen.com/2018/12/27/zgf-architects-expensify-office-portland/amp/"}],"httpStatus":200},{"url":"https://medium.com/u/6ca0fe37eac1?source=post_page-----a1d0ab879cb9----------------------","alts":[{"type":2,"url":"medium://@gantlaborde"},{"type":3,"url":"medium://@gantlaborde"}],"httpStatus":200},{"url":"http://gantlaborde.com/","alts":[],"httpStatus":200},{"url":"https://www.eventbrite.com/e/chain-react-2023-the-us-react-native-conference-tickets-439987673977","alts":[{"type":3,"url":"com-eventbrite-attendee://event/439987673977/?referrer=eandurlxfbk&"}],"httpStatus":200}],"version":"0.3","generatedAt":1676563366219},"isLockedPreviewOnly":false,"metaDescription":"","totalClapCount":889,"sectionCount":2,"readingList":0,"topics":[{"topicId":"af49579e220a","slug":"work","createdAt":1487918186996,"deletedAt":0,"image":{"id":"1*knbAt5qCQCelKx0BDkzZpQ@2x.jpeg","originalWidth":5018,"originalHeight":3049},"name":"Work","description":"The meaning behind the meetings.","relatedTopics":[],"visibility":1,"relatedTags":[],"relatedTopicIds":[],"seoTitle":"Work Life: Articles and News — Medium","type":"Topic"}]},"coverless":true,"slug":"convince-your-boss-react-native-chain-react","translationSourcePostId":"","translationSourceCreatorId":"","isApprovedTranslation":false,"inResponseToPostId":"","inResponseToRemovedAt":0,"isTitleSynthesized":true,"allowResponses":true,"importedUrl":"","importedPublishedAt":0,"visibility":0,"uniqueSlug":"convince-your-boss-react-native-chain-react-dce9b5cb3730","previewContent":{"bodyModel":{"paragraphs":[{"name":"previewImage","type":4,"text":"","layout":10,"metadata":{"id":"1*lKDVmouipSDxO15GfNEDeQ.jpeg","originalWidth":2800,"originalHeight":1400,"isFeatured":true}},{"name":"f825","type":3,"text":"Convince Your Boss + React Native = Chain React","markups":[],"alignment":1},{"name":"9335","type":13,"text":"The US React Native Conference is For You","markups":[],"alignment":1}],"sections":[{"startIndex":0}]},"isFullContent":false,"subtitle":"The US React Native Conference is For You"},"license":0,"inResponseToMediaResourceId":"","canonicalUrl":"","approvedHomeCollectionId":"fb597d020d1c","isNewsletter":false,"newsletterId":"e98907657902","webCanonicalUrl":"","mediumUrl":"","migrationId":"","notifyFollowers":true,"notifyTwitter":false,"notifyFacebook":false,"responseHiddenOnParentPostAt":0,"isSeries":false,"isSubscriptionLocked":false,"seriesLastAppendedAt":0,"audioVersionDurationSec":0,"sequenceId":"","isEligibleForRevenue":false,"isBlockedFromHightower":false,"deletedAt":0,"lockedPostSource":0,"hightowerMinimumGuaranteeStartsAt":0,"hightowerMinimumGuaranteeEndsAt":0,"featureLockRequestAcceptedAt":0,"mongerRequestType":1,"layerCake":3,"socialTitle":"","socialDek":"","editorialPreviewTitle":"","editorialPreviewDek":"","curationEligibleAt":0,"primaryTopicId":"af49579e220a","isProxyPost":false,"proxyPostFaviconUrl":"","proxyPostProviderName":"","proxyPostType":0,"isSuspended":false,"isLimitedState":false,"seoTitle":"","previewContent2":{"bodyModel":{"paragraphs":[{"name":"f825","type":3,"text":"Convince Your Boss + React Native = Chain React","markups":[]},{"name":"9335","type":13,"text":"The US React Native Conference is For You","markups":[]},{"name":"eb27","type":4,"text":"","markups":[],"layout":1,"metadata":{"id":"1*lKDVmouipSDxO15GfNEDeQ.jpeg","originalWidth":2800,"originalHeight":1400,"isFeatured":true}},{"name":"2c9a","type":6,"text":"Hundreds of people ask us about Chain React, and it’s hard to condense why this is the highest positive impact React Native conference you can attend, but I’ll give it a shot.","markups":[]},{"name":"0c03","type":1,"text":"The acclaimed Chain React — the US React Native conference will return to Portland, Oregon on May 17…","markups":[]}],"sections":[{"name":"c724","startIndex":0}]},"isFullContent":false,"subtitle":"The US React Native Conference is For You"},"cardType":0,"isDistributionAlertDismissed":false,"isShortform":false,"shortformType":0,"responsesLocked":false,"isLockedResponse":false,"isPublishToEmail":true,"responseDistribution":0,"isMarkedPaywallOnly":false,"type":"Post"},"4451885bac9c":{"id":"4451885bac9c","versionId":"24c973b748c5","creatorId":"6ca0fe37eac1","homeCollectionId":"fb597d020d1c","title":"React Native Radio Fake News","detectedLanguage":"en","latestVersion":"24c973b748c5","latestPublishedVersion":"24c973b748c5","hasUnpublishedEdits":false,"latestRev":292,"createdAt":1675190591012,"updatedAt":1675397742118,"acceptedAt":0,"firstPublishedAt":1675351014636,"latestPublishedAt":1675351014636,"vote":false,"experimentalCss":"","displayAuthor":"","content":{"subtitle":"An AI made this Podcast Episode","postDisplay":{"coverless":true}},"virtuals":{"statusForCollection":"APPROVED","allowNotes":true,"previewImage":{"imageId":"1*lQ0n31YD8SPqnGZrgOEs3Q.png","filter":"","backgroundSize":"","originalWidth":2400,"originalHeight":1200,"strategy":"resample","height":0,"width":0},"wordCount":492,"imageCount":8,"readingTime":2.989937106918239,"subtitle":"An AI made this Podcast Episode","publishedInCount":1,"usersBySocialRecommends":[],"noIndex":false,"recommends":4,"isBookmarked":false,"tags":[{"slug":"ai","name":"AI","postCount":513170,"metadata":{"postCount":513170,"coverImage":{"id":"1*TQrv3LNHRrNbSdNWSzKUfw.jpeg","originalWidth":1200,"originalHeight":800,"isFeatured":true,"alt":"Young woman on broken stairs to the sky"}},"type":"Tag"},{"slug":"artificial-intelligence","name":"Artificial Intelligence","postCount":516346,"metadata":{"postCount":516346,"coverImage":{"id":"1*gAn_BSffVBcwCIR6bDgK1g.jpeg"}},"type":"Tag"},{"slug":"sound-cloning","name":"Sound Cloning","postCount":0,"metadata":{"postCount":0,"coverImage":{"id":"1*lQ0n31YD8SPqnGZrgOEs3Q.png","originalWidth":2400,"originalHeight":1200,"isFeatured":true}},"type":"Tag"},{"slug":"react-native","name":"React Native","postCount":29493,"metadata":{"postCount":29493,"coverImage":{"id":"1*Sed3AMym26JAPV4TC2BKyQ.jpeg","originalWidth":744,"originalHeight":358,"isFeatured":true}},"type":"Tag"},{"slug":"entertainment","name":"Entertainment","postCount":95430,"metadata":{"postCount":95430,"coverImage":{"id":"0*QspSeR2sPAygzVz4","originalWidth":1024,"originalHeight":1024,"isFeatured":true}},"type":"Tag"}],"socialRecommendsCount":0,"responsesCreatedCount":0,"links":{"entries":[{"url":"https://infinite.red/","alts":[],"httpStatus":200},{"url":"http://infinite.red/","alts":[],"httpStatus":200},{"url":"https://reactnativeradio.com/","alts":[],"httpStatus":200},{"url":"https://twitter.com/GantLaborde","alts":[],"httpStatus":200},{"url":"https://twitter.com/GantLaborde/status/1592585795520827392?s=20&t=tlQ6B-i0_MCxRD-A2ieL_g","alts":[],"httpStatus":200},{"url":"https://beta.elevenlabs.io/","alts":[],"httpStatus":200},{"url":"https://www.youtube.com/watch?v=2o4QgRiuvjw","alts":[{"type":2,"url":"vnd.youtube://www.youtube.com/watch?v=2o4QgRiuvjw&feature=applinks"},{"type":3,"url":"vnd.youtube://www.youtube.com/watch?v=2o4QgRiuvjw&feature=applinks"}],"httpStatus":200},{"url":"https://medium.com/u/6ca0fe37eac1?source=post_page-----a1d0ab879cb9----------------------","alts":[{"type":2,"url":"medium://@gantlaborde"},{"type":3,"url":"medium://@gantlaborde"}],"httpStatus":200},{"url":"https://amzn.to/3dR3vpY","alts":[],"httpStatus":200},{"url":"http://gantlaborde.com/","alts":[],"httpStatus":200}],"version":"0.3","generatedAt":1675351017754},"isLockedPreviewOnly":false,"metaDescription":"","totalClapCount":102,"sectionCount":2,"readingList":0,"topics":[{"topicId":"1af65db9c2f8","slug":"artificial-intelligence","createdAt":1487916832419,"deletedAt":0,"image":{"id":"1*A28aHchbaA8zNVXraBq0Ug@2x.jpeg","originalWidth":4866,"originalHeight":3244},"name":"Artificial Intelligence","description":"Born to be bot.","relatedTopics":[],"visibility":1,"relatedTags":[],"relatedTopicIds":[],"seoTitle":"AI News and Artificial Intelligence Articles — Medium","type":"Topic"},{"topicId":"decb52b64abf","slug":"programming","createdAt":1493934116328,"deletedAt":0,"image":{"id":"1*iPa136b1cGEO7lvoXg6uHQ@2x.jpeg","originalWidth":6016,"originalHeight":4016},"name":"Programming","description":"The good, the bad, the buggy.","relatedTopics":[],"visibility":1,"relatedTags":[],"relatedTopicIds":[],"seoTitle":"Programming News and Articles — Medium","type":"Topic"}]},"coverless":true,"slug":"react-native-radio-fake-news","translationSourcePostId":"","translationSourceCreatorId":"","isApprovedTranslation":false,"inResponseToPostId":"","inResponseToRemovedAt":0,"isTitleSynthesized":true,"allowResponses":true,"importedUrl":"","importedPublishedAt":0,"visibility":0,"uniqueSlug":"react-native-radio-fake-news-4451885bac9c","previewContent":{"bodyModel":{"paragraphs":[{"name":"previewImage","type":4,"text":"","layout":10,"metadata":{"id":"1*lQ0n31YD8SPqnGZrgOEs3Q.png","originalWidth":2400,"originalHeight":1200,"isFeatured":true}},{"name":"0b1a","type":3,"text":"React Native Radio Fake News","markups":[],"alignment":1},{"name":"87c7","type":13,"text":"An AI made this Podcast Episode","markups":[],"alignment":1}],"sections":[{"startIndex":0}]},"isFullContent":false,"subtitle":"An AI made this Podcast Episode"},"license":0,"inResponseToMediaResourceId":"","canonicalUrl":"","approvedHomeCollectionId":"fb597d020d1c","isNewsletter":false,"newsletterId":"c799650e7e3c","webCanonicalUrl":"","mediumUrl":"","migrationId":"","notifyFollowers":true,"notifyTwitter":false,"notifyFacebook":false,"responseHiddenOnParentPostAt":0,"isSeries":false,"isSubscriptionLocked":false,"seriesLastAppendedAt":0,"audioVersionDurationSec":0,"sequenceId":"","isEligibleForRevenue":false,"isBlockedFromHightower":false,"deletedAt":0,"lockedPostSource":0,"hightowerMinimumGuaranteeStartsAt":0,"hightowerMinimumGuaranteeEndsAt":0,"featureLockRequestAcceptedAt":0,"mongerRequestType":1,"layerCake":3,"socialTitle":"","socialDek":"","editorialPreviewTitle":"","editorialPreviewDek":"","curationEligibleAt":0,"primaryTopicId":"1af65db9c2f8","isProxyPost":false,"proxyPostFaviconUrl":"","proxyPostProviderName":"","proxyPostType":0,"isSuspended":false,"isLimitedState":false,"seoTitle":"","previewContent2":{"bodyModel":{"paragraphs":[{"name":"0b1a","type":3,"text":"React Native Radio Fake News","markups":[]},{"name":"87c7","type":13,"text":"An AI made this Podcast Episode","markups":[]},{"name":"3fc3","type":4,"text":"","markups":[],"layout":1,"metadata":{"id":"1*lQ0n31YD8SPqnGZrgOEs3Q.png","originalWidth":2400,"originalHeight":1200,"isFeatured":true}},{"name":"0212","type":1,"text":"If you haven’t seen it yet, I made a fictitious React Native Radio podcast episode for Infinite Red in record time using a new AI tool.","markups":[{"type":3,"start":48,"end":74,"href":"https://reactnativeradio.com/","title":"","rel":"","anchorType":0}]},{"name":"5d06","type":11,"text":"","markups":[],"layout":1,"iframe":{"mediaResourceId":"ced55195b09edb9cfee96b9b0560ff69","iframeWidth":854,"iframeHeight":480,"thumbnailUrl":"https://i.embed.ly/1/image?url=https%3A%2F%2Fi.ytimg.com%2Fvi%2FtoM63UDjtE0%2Fhqdefault.jpg&key=a19fcc184b9711e1b4764040d3dc5c07"}},{"name":"ef47","type":1,"text":"While React Native Radio is always known for being fun and funny, a lot of work goes into every episode… except the one…","markups":[{"type":3,"start":25,"end":64,"href":"https://www.youtube.com/watch?v=2o4QgRiuvjw","title":"","rel":"","anchorType":0}]}],"sections":[{"name":"add5","startIndex":0}]},"isFullContent":false,"subtitle":"An AI made this Podcast Episode"},"cardType":0,"isDistributionAlertDismissed":false,"isShortform":false,"shortformType":0,"responsesLocked":false,"isLockedResponse":false,"isPublishToEmail":true,"responseDistribution":0,"isMarkedPaywallOnly":false,"type":"Post"}}},"paging":{"path":"/_/api/collections/fb597d020d1c/stream","next":{"to":"1675351014636","ignoredIds":[],"page":5}},"collection":{"id":"fb597d020d1c","name":"Red Shift","slug":"infinite-red","tags":["REACT NATIVE","REMOTE WORKING","DESIGN","DEVELOPMENT","REACT"],"creatorId":"4a1ccb16af26","description":"The official Infinite Red publication for React Native design & development. We’re a fully distributed team building world-class apps for over 20 years for clients all around the world.","shortDescription":"The official Infinite Red publication for React Native…","image":{"imageId":"1*w_Gqag3X7I1Zur39CsHUOA@2x.jpeg","filter":"","backgroundSize":"","originalWidth":2000,"originalHeight":2000,"strategy":"resample","height":0,"width":0},"metadata":{"followerCount":5413,"activeAt":1743022474864},"virtuals":{"permissions":{"canPublish":false,"canPublishAll":false,"canRepublish":false,"canRemove":false,"canManageAll":false,"canSubmit":false,"canEditPosts":false,"canAddWriters":false,"canViewStats":false,"canSendNewsletter":false,"canViewLockedPosts":false,"canViewCloaked":false,"canEditOwnPosts":false,"canBeAssignedAuthor":false,"canEnrollInHightower":false,"canLockPostsForMediumMembers":false,"canLockOwnPostsForMediumMembers":false,"canViewNewsletterV2Stats":false,"canCreateNewsletterV3":false},"isSubscribed":false,"isEnrolledInHightower":false,"isEligibleForHightower":false,"isSubscribedToCollectionEmails":false,"isMuted":false,"canToggleEmail":false,"isWriter":false},"logo":{"imageId":"1*QQB7dtbmya6b69JI2-1gnA.jpeg","filter":"","backgroundSize":"","originalWidth":1200,"originalHeight":1200,"strategy":"resample","height":0,"width":0},"twitterUsername":"infinite_red","facebookPageName":"infiniteredinc","publicEmail":"hello@infinite.red","collectionMastheadId":"5a93c61fc8c8","domain":"shift.infinite.red","sections":[{"type":2,"collectionHeaderMetadata":{"title":"Red Shift","description":"Sharing thoughts & experiences about design, development, and remote work at Infinite Red. From the desks of a fully distributed team across the U.S.","backgroundImage":{},"logoImage":{"id":"1*zFVOmQgOKF8oQAqNgaZbZA@2x.png","originalWidth":880,"originalHeight":882,"alt":"Red Shift"},"alignment":2,"layout":6}},{"type":1,"postListMetadata":{"source":1,"layout":4,"number":1,"postIds":["db9eb36c5af6"]}},{"type":1,"postListMetadata":{"source":1,"layout":4,"number":3,"postIds":["b1fffb0f0152","d4d4b7a651cf","dcdf17963079"]}},{"type":3,"promoMetadata":{"sectionHeader":"","promoId":"95053d0cabc"}},{"type":1,"postListMetadata":{"source":1,"layout":4,"number":12,"postIds":["9ecde0b34d75","1cae78fdee22","c2a8786f971e","3af461955109","6f4b25f7a1a4","934b5a221bda","89ab5801937d","35d396932e28","b7317319d34d","665a93883e4f","dce9b5cb3730","4451885bac9c"]}},{"type":3,"promoMetadata":{"sectionHeader":"","promoId":"623b0623145b"}},{"type":1,"postListMetadata":{"source":3,"layout":4,"number":24,"postIds":["3ac721c00514","a0ed4c2e6869"],"sectionHeader":"Remote Work: Advice from a fully distributed team"}},{"type":1,"postListMetadata":{"source":1,"layout":4,"number":24,"postIds":[]}}],"tintColor":"#FF180E0B","lightText":true,"favicon":{"imageId":"1*XPdxkr6f-60VVmmdUW7xwA.jpeg","filter":"","backgroundSize":"","originalWidth":440,"originalHeight":441,"strategy":"resample","height":0,"width":0},"colorPalette":{"defaultBackgroundSpectrum":{"colorPoints":[{"color":"#FF91807B","point":0},{"color":"#FF867773","point":0.1},{"color":"#FF7C6E6A","point":0.2},{"color":"#FF716561","point":0.3},{"color":"#FF665B58","point":0.4},{"color":"#FF5B524F","point":0.5},{"color":"#FF4F4845","point":0.6},{"color":"#FF443D3B","point":0.7},{"color":"#FF373230","point":0.8},{"color":"#FF2A2625","point":0.9},{"color":"#FF1C1918","point":1}],"backgroundColor":"#FFFFFFFF"},"tintBackgroundSpectrum":{"colorPoints":[{"color":"#FF180E0B","point":0},{"color":"#FF392E2A","point":0.1},{"color":"#FF554945","point":0.2},{"color":"#FF6E625E","point":0.3},{"color":"#FF857976","point":0.4},{"color":"#FF9B8F8C","point":0.5},{"color":"#FFAFA5A2","point":0.6},{"color":"#FFC3B9B7","point":0.7},{"color":"#FFD6CDCB","point":0.8},{"color":"#FFE9E1DF","point":0.9},{"color":"#FFFBF4F3","point":1}],"backgroundColor":"#FF180E0B"},"highlightSpectrum":{"colorPoints":[{"color":"#FFF8F1EF","point":0},{"color":"#FFF7EEEC","point":0.1},{"color":"#FFF6ECEA","point":0.2},{"color":"#FFF5EAE7","point":0.3},{"color":"#FFF3E8E5","point":0.4},{"color":"#FFF2E6E3","point":0.5},{"color":"#FFF1E4E0","point":0.6},{"color":"#FFF0E2DE","point":0.7},{"color":"#FFEEE0DB","point":0.8},{"color":"#FFEDDDD9","point":0.9},{"color":"#FFECDBD7","point":1}],"backgroundColor":"#FFFFFFFF"},"darkBackgroundSpectrum":{"colorPoints":[{"color":"#FFAA9893","point":0},{"color":"#FFB2A19C","point":0.1},{"color":"#FFB9A9A5","point":0.2},{"color":"#FFC1B2AE","point":0.3},{"color":"#FFC9BBB7","point":0.4},{"color":"#FFD0C3C0","point":0.5},{"color":"#FFD7CCC9","point":0.6},{"color":"#FFDFD4D1","point":0.7},{"color":"#FFE6DCDA","point":0.8},{"color":"#FFEDE4E2","point":0.9},{"color":"#FFF4EDEB","point":1}],"backgroundColor":"#FF000000"}},"navItems":[{"type":4,"title":"Development","url":"https://shift.infinite.red/development/home","topicId":"759897d7ccad","source":"topicId"},{"type":4,"title":"Design","url":"https://shift.infinite.red/ir-design/home","topicId":"5a790623826e","source":"topicId"},{"type":4,"title":"Remote Work","url":"https://shift.infinite.red/remote-work/home","topicId":"5d9b7e2c2218","source":"topicId"},{"type":5,"title":"All Stories","url":"https://shift.infinite.red/archive"},{"type":3,"title":"Got a project? Reach out","url":"https://infinite.red/contact"}],"colorBehavior":2,"collectionFeatures":[30],"ampLogo":{"imageId":"","filter":"","backgroundSize":"","originalWidth":0,"originalHeight":0,"strategy":"resample","height":0,"width":0},"header":{"title":"Red Shift","description":"Sharing thoughts & experiences about design, development, and remote work at Infinite Red. From the desks of a fully distributed team across the U.S.","backgroundImage":{},"logoImage":{"id":"1*zFVOmQgOKF8oQAqNgaZbZA@2x.png","originalWidth":880,"originalHeight":882,"alt":"Red Shift"},"alignment":2,"layout":6},"subscriberCount":5413,"tagline":"Thoughts about React Native from the team at Infinite Red","instagramUsername":"infinitered_designers","isOptedIntoAurora":false,"isCurationAllowedByDefault":false,"polarisCoverImage":{"imageId":"","filter":"","backgroundSize":"","originalWidth":0,"originalHeight":0,"strategy":"resample","height":0,"width":0},"ptsQualifiedAt":1616092905258,"type":"Collection"},"header":{"title":"Red Shift","description":"Sharing thoughts & experiences about design, development, and remote work at Infinite Red. From the desks of a fully distributed team across the U.S.","backgroundImage":{},"logoImage":{"id":"1*zFVOmQgOKF8oQAqNgaZbZA@2x.png","originalWidth":880,"originalHeight":882,"alt":"Red Shift"},"alignment":2,"layout":6},"streamItems":[{"createdAt":1743623560393,"randomId":"cb60e325ccaf","section":{"items":[{"post":{"postId":"db9eb36c5af6"},"itemType":"post"}],"layout":4},"itemType":"section","type":"StreamItem"},{"createdAt":1743623560393,"randomId":"e20099e5aa46","section":{"items":[{"post":{"postId":"b1fffb0f0152"},"itemType":"post"},{"post":{"postId":"d4d4b7a651cf"},"itemType":"post"},{"post":{"postId":"dcdf17963079"},"itemType":"post"}],"layout":4},"itemType":"section","type":"StreamItem"},{"createdAt":1743623560393,"randomId":"2b0f0c2afd0d","section":{"items":[{"promo":{"promoId":"95053d0cabc"},"itemType":"promo"}],"layout":2},"itemType":"section","type":"StreamItem"},{"createdAt":1743623560393,"randomId":"effc02ea72be","section":{"items":[{"post":{"postId":"9ecde0b34d75"},"itemType":"post"},{"post":{"postId":"1cae78fdee22"},"itemType":"post"},{"post":{"postId":"c2a8786f971e"},"itemType":"post"},{"post":{"postId":"3af461955109"},"itemType":"post"},{"post":{"postId":"6f4b25f7a1a4"},"itemType":"post"},{"post":{"postId":"934b5a221bda"},"itemType":"post"},{"post":{"postId":"89ab5801937d"},"itemType":"post"},{"post":{"postId":"35d396932e28"},"itemType":"post"},{"post":{"postId":"b7317319d34d"},"itemType":"post"},{"post":{"postId":"665a93883e4f"},"itemType":"post"},{"post":{"postId":"dce9b5cb3730"},"itemType":"post"},{"post":{"postId":"4451885bac9c"},"itemType":"post"}],"layout":4},"itemType":"section","type":"StreamItem"}]}) // ]]></script></body></html>

Pages: 1 2 3 4 5 6 7 8 9 10