CINXE.COM

React Native Radio by Infinite Red - Exploring React Native Together

<!DOCTYPE html><!-- Last Published: Wed Mar 26 2025 18:19:47 GMT+0000 (Coordinated Universal Time) --><html data-wf-domain="infinite.red" data-wf-page="67b03242aed635590ce27548" data-wf-site="5e67db0c1e7a468249544a75" lang="en"><head><meta charset="utf-8"/><title>React Native Radio by Infinite Red - Exploring React Native Together</title><meta content="Hosted by Jamon Holmgren, Robin Heinze, and Mazen Chami from Infinite Red, React Native Radio features expert interviews, real-world examples, and actionable advice from the top minds in the React Native community." name="description"/><meta content="React Native Radio by Infinite Red - Exploring React Native Together" property="og:title"/><meta content="Hosted by Jamon Holmgren, Robin Heinze, and Mazen Chami from Infinite Red, React Native Radio features expert interviews, real-world examples, and actionable advice from the top minds in the React Native community." property="og:description"/><meta content="https://cdn.prod.website-files.com/5e67db0c1e7a468249544a75/67b8e860aa6988d25c575a1c_rnr-graphimage.jpg" property="og:image"/><meta content="React Native Radio by Infinite Red - Exploring React Native Together" property="twitter:title"/><meta content="Hosted by Jamon Holmgren, Robin Heinze, and Mazen Chami from Infinite Red, React Native Radio features expert interviews, real-world examples, and actionable advice from the top minds in the React Native community." property="twitter:description"/><meta content="https://cdn.prod.website-files.com/5e67db0c1e7a468249544a75/67b8e860aa6988d25c575a1c_rnr-graphimage.jpg" property="twitter:image"/><meta property="og:type" content="website"/><meta content="summary_large_image" name="twitter:card"/><meta content="width=device-width, initial-scale=1" name="viewport"/><meta content="google-site-verification=Jmms0_XFcgBIDl9Ly7pfogukm_9GOpVAM36Uu59c71k" name="google-site-verification"/><link href="https://cdn.prod.website-files.com/5e67db0c1e7a468249544a75/css/infinite-red-website.9c4de44fd.min.css" rel="stylesheet" type="text/css"/><link href="https://fonts.googleapis.com" rel="preconnect"/><link href="https://fonts.gstatic.com" rel="preconnect" crossorigin="anonymous"/><script src="https://ajax.googleapis.com/ajax/libs/webfont/1.6.26/webfont.js" type="text/javascript"></script><script type="text/javascript">WebFont.load({ google: { families: ["Montserrat:100,100italic,200,200italic,300,300italic,400,400italic,500,500italic,600,600italic,700,700italic,800,800italic,900,900italic","Droid Serif:400,400italic,700,700italic","Merriweather:300,300italic,400,400italic,700,700italic,900,900italic"] }});</script><script type="text/javascript">!function(o,c){var n=c.documentElement,t=" w-mod-";n.className+=t+"js",("ontouchstart"in o||o.DocumentTouch&&c instanceof DocumentTouch)&&(n.className+=t+"touch")}(window,document);</script><link href="https://cdn.prod.website-files.com/5e67db0c1e7a468249544a75/5e96204b6085211e0c7f48f2_favicon.png" rel="shortcut icon" type="image/x-icon"/><link href="https://cdn.prod.website-files.com/5e67db0c1e7a468249544a75/5e96204d92bbee4276b5761c_webclip.png" rel="apple-touch-icon"/><script async="" src="https://www.googletagmanager.com/gtag/js?id=UA-41822601-3"></script><script type="text/javascript">window.dataLayer = window.dataLayer || [];function gtag(){dataLayer.push(arguments);}gtag('js', new Date());gtag('config', 'UA-41822601-3', {'anonymize_ip': false});</script><style> .container-scroll { scrollbar-width: none; /* Firefox 64 */ -ms-overflow-style: none; /* Internet Explorer 11 */ } .container-scroll::-webkit-scrollbar { /** WebKit */ display: none; } .team__collection__list { display: flex; flex-flow: row wrap; justify-content: space-between; } .team__collection__list::after { content: ""; flex: auto; } </style> <meta property="og:image:width" content="1200" /> <meta property="og:image:height" content="630" /> <meta name="google-site-verification" content="PziDawbND-UbE8RPHIApiyKHqLwhQqNCzyAYEmFW-Tc" /> <!-- Global site tag (gtag.js) - Google Analytics --> <script async src="https://www.googletagmanager.com/gtag/js?id=UA-41822601-9"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'UA-41822601-9'); </script> <script type="text/javascript"> (function() { window._pa = window._pa || {}; // _pa.orderId = "myOrderId"; // OPTIONAL: attach unique conversion identifier to conversions // _pa.revenue = "19.99"; // OPTIONAL: attach dynamic purchase values to conversions // _pa.productId = "myProductId"; // OPTIONAL: Include product ID for use with dynamic ads var pa = document.createElement('script'); pa.type = 'text/javascript'; pa.async = true; pa.src = ('https:' == document.location.protocol ? 'https:' : 'http:') + "//tag.perfectaudience.com/serve/5dcb4b56acb1888586000015.js"; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(pa, s); })(); </script> <meta name="ahrefs-site-verification" content="b989772c57dd9a5233657e546e1671f8a09c12705f5bda677a2a437ada46bd23"> <style> .w-nav-link.w--current{ color: #e73536 !important; } .w__menu__link.w--current{ color: #e73536 !important; } .nav-dropdown__link.w--current{ color: #e73536 !important; } </style> </head><body><div data-animation="over-right" class="top-nav w-nav" data-easing2="ease" data-easing="ease" data-collapse="medium" data-w-id="48941a4f-8c15-7a61-3715-67421ac8b695" role="banner" data-no-scroll="1" data-duration="400" data-doc-height="1"><div class="top-nav-container"><div class="top-nav-wrapper"><a href="/" class="top-nav-brand w-inline-block"><div class="top-nav-brand-image w-embed"><?xml version="1.0" encoding="UTF-8"?> <svg width="93px" height="41px" viewBox="0 0 93 41" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <!-- Generator: Sketch 63.1 (92452) - https://sketch.com --> <title>logo-dark</title> <desc>Created with Sketch.</desc> <g id="Navigation" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"> <g id="Navigation/Top-Nav/-Transparent" transform="translate(-128.000000, -35.000000)"> <g id="Main-Nav"> <rect id="bounds" x="0" y="0" width="1440" height="111"></rect> <g id="Group" transform="translate(128.000000, 35.000000)"> <g id=".nav__logo--light"> <g id="IR-Logo"> <path d="M36.0800073,0.0610119048 C42.9412217,0.0610119048 48.5033343,5.70727865 48.5033343,12.6723024 C48.5033343,19.6373262 42.9412217,25.283593 36.0800073,25.283593 C29.2187929,25.283593 23.6566802,19.6373262 23.6566802,12.6723024 C23.6566802,5.70727865 29.2187929,0.0610119048 36.0800073,0.0610119048 Z M36.0800073,6.05258288 C32.4785269,6.05258288 29.5589506,9.0163321 29.5589506,12.6723024 C29.5589506,16.3282728 32.4785269,19.292022 36.0800073,19.292022 C39.6814876,19.292022 42.601064,16.3282728 42.601064,12.6723024 C42.601064,9.0163321 39.6814876,6.05258288 36.0800073,6.05258288 Z" id="infinity-left-circle" fill="#E73536"></path> <path d="M56.166766,0.0610119048 C63.0279804,0.0610119048 68.590093,5.70727865 68.590093,12.6723024 C68.590093,19.6373262 63.0279804,25.283593 56.166766,25.283593 C52.9181748,25.283593 49.9608105,24.0178383 47.7471521,21.9456543 C49.0744843,20.2188082 50.035948,18.189109 50.5152955,15.9759446 C51.640891,17.9578044 53.7503391,19.292022 56.166766,19.292022 C59.7682463,19.292022 62.6878227,16.3282728 62.6878227,12.6723024 C62.6878227,9.0163321 59.7682463,6.05258288 56.166766,6.05258288 C53.7340603,6.05258288 51.6124835,7.40483749 50.4916749,9.40927321 C49.997631,7.20099506 49.0222034,5.17810314 47.6836756,3.46012579 C49.9032037,1.35155427 52.8865199,0.0610119048 56.166766,0.0610119048 Z" id="infinity-right-circle" fill="#E73536"></path> <polygon id="Path-Copy-2" fill="currentColor" points="58.9649039 31.2751639 58.9649039 33.1898292 54.2453185 33.1898292 54.2453185 35.1733672 58.4902329 35.1733672 58.4902329 37.005385 54.2453185 37.005385 54.2453185 39.0026977 59.1140862 39.0026977 59.1140862 40.9035883 52.1296423 40.9035883 52.1296423 31.2751639"></polygon> <polygon id="Path-Copy-3" fill="currentColor" points="47.8422083 33.1347309 47.8422083 40.9035883 45.726532 40.9035883 45.726532 33.1347309 43.0412507 33.1347309 43.0412507 31.2751639 50.5274896 31.2751639 50.5274896 33.1347309"></polygon> <polygon id="Path-Copy-4" fill="currentColor" points="39.3544503 31.2751639 41.4701265 31.2751639 41.4701265 40.9035883 39.3544503 40.9035883"></polygon> <polygon id="Path-Copy-5" fill="currentColor" points="34.9258805 31.2751639 37.0415567 31.2751639 37.0415567 40.9035883 34.9258805 40.9035883 30.4097255 34.8703267 30.4097255 40.9035883 28.2940493 40.9035883 28.2940493 31.2751639 30.2741052 31.2751639 34.9258805 37.4737204"></polygon> <polygon id="Path-Copy-6" fill="currentColor" points="23.835593 31.2751639 25.9512692 31.2751639 25.9512692 40.9035883 23.835593 40.9035883"></polygon> <polygon id="Path-Copy-7" fill="currentColor" points="22.1143698 31.2751639 22.1143698 33.16228 17.7202731 33.16228 17.7202731 35.2422401 21.8973774 35.2422401 21.8973774 37.1293561 17.7202731 37.1293561 17.7202731 40.9035883 15.6045969 40.9035883 15.6045969 31.2751639"></polygon> <polygon id="Path-Copy-8" fill="currentColor" points="11.0902875 31.2751639 13.2059637 31.2751639 13.2059637 40.9035883 11.0902875 40.9035883 6.57413246 34.8703267 6.57413246 40.9035883 4.45845625 40.9035883 4.45845625 31.2751639 6.43851219 31.2751639 11.0902875 37.4737204"></polygon> <polygon id="Path-Copy-9" fill="currentColor" points="0 31.2751639 2.11567622 31.2751639 2.11567622 40.9035883 0 40.9035883"></polygon> <path d="M68.5843109,31.2751639 C70.0580585,31.2751639 71.1091051,31.5276952 71.7374822,32.0327653 C72.3658592,32.5378354 72.6800431,33.3505269 72.6800431,34.4708642 C72.6800431,36.0136237 72.0787992,37.0099743 70.8762935,37.4599458 L73.2767722,40.9035883 L70.672863,40.9035883 L68.5707489,37.8318592 L67.1060499,37.8318592 L67.1060499,40.9035883 L64.9903737,40.9035883 L64.9903737,31.2751639 L68.5843109,31.2751639 Z M68.6348799,33.1039121 L67.0481228,33.1039121 L67.0481228,35.9552481 L68.5941938,35.9552481 C69.3175056,35.9552481 69.8102543,35.8358697 70.0724548,35.5971092 C70.3346553,35.3583488 70.4657536,34.979552 70.4657536,34.4607072 C70.4657536,33.9418625 70.3301347,33.586023 70.0588928,33.3931781 C69.7876509,33.2003331 69.3129847,33.1039121 68.6348799,33.1039121 Z" id="Path-Copy-11" fill="currentColor"></path> <polygon id="Path-Copy-12" fill="currentColor" points="81.6856828 31.2751639 81.6856828 33.1898292 76.9660974 33.1898292 76.9660974 35.1733672 81.2110119 35.1733672 81.2110119 37.005385 76.9660974 37.005385 76.9660974 39.0026977 81.8348651 39.0026977 81.8348651 40.9035883 74.8504212 40.9035883 74.8504212 31.2751639"></polygon> <path d="M87.0314148,31.2751639 C88.722156,31.2751639 90.0195769,31.6952841 90.9237166,32.5355371 C91.8278562,33.37579 92.2799193,34.544321 92.2799193,36.0411651 C92.2799193,37.5380092 91.8391578,38.7226104 90.9576216,39.5950042 C90.0760855,40.4673979 88.7311979,40.9035883 86.9229186,40.9035883 L83.6815941,40.9035883 L83.6815941,31.2751639 L87.0314148,31.2751639 Z M87.0049791,33.1039121 L85.8250827,33.1039121 L85.8250827,38.9581043 L87.1677234,38.9581043 C88.1351528,38.9581043 88.8787965,38.7101645 89.3986768,38.2142775 C89.9185571,37.7183905 90.1784934,36.9975286 90.1784934,36.0516701 C90.1784934,35.1058115 89.9185571,34.3780624 89.3986768,33.8684007 C88.8787965,33.3587391 88.0809053,33.1039121 87.0049791,33.1039121 Z" id="Path-Copy-14" fill="currentColor"></path> </g> </g> </g> </g> </g> </g> </svg></div><div class="custom-js-right-click w-embed w-script"><script> document.addEventListener("DOMContentLoaded", (event) => { const topNavBrand = document.querySelector('.top-nav-brand'); if (!topNavBrand) return topNavBrand.addEventListener('contextmenu', function (ev) { ev.preventDefault(); window.location.href = "/brand-assets" return false; }, false); }); </script></div></a><nav role="navigation" class="top-nav-menu w-nav-menu"><a href="/" class="top-nav-menu-link w-nav-link">Home</a><a href="/react-native" class="top-nav-menu-link w-nav-link">React native</a><a href="/expo" class="top-nav-menu-link w-nav-link">EXPO</a><a href="/work" class="top-nav-menu-link w-nav-link">Work</a><a href="/about" class="top-nav-menu-link w-nav-link">company</a><div data-hover="false" data-delay="400" data-w-id="45f2be38-41d3-ac34-36b4-3d0a0dec342d" class="dropdown w-dropdown"><div class="dropdown-toggle w-dropdown-toggle"><div class="top-nav-menu-link">Community</div></div><nav data-w-id="45f2be38-41d3-ac34-36b4-3d0a0dec3432" class="dropdown-list w-dropdown-list"><a href="/community/building-community" class="top-nav-menu-link w-nav-link">Building community</a><a href="/community/open-source" class="top-nav-menu-link w-nav-link">Open Source</a><a href="/community/podcasts" class="top-nav-menu-link w-nav-link">Podcasts</a><a href="/community/newsletters" class="top-nav-menu-link w-nav-link">Newsletters</a><a href="https://chainreactconf.com/" class="top-nav-menu-link w-nav-link">Chain React Conf</a></nav></div><a id="top-nav-community-dropdown-trigger" href="/community/building-community" class="top-nav-menu-link-w-icon hide-on-mobile w-inline-block"><div class="top-nav-menu-link">Community</div><div data-w-id="c14198b8-6711-9603-8e2b-b484f797fe93" class="icon--sm top-nav-menu-link-icon-caret w-embed"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24"> <path stroke="currentColor" stroke-linecap="square" d="m18 10-5.98 5.98L6.03 10"/> </svg></div></a><a href="/contact?source=header" class="top-nav-menu-link w-nav-link">Contact us</a></nav></div><div data-w-id="c14198b8-6711-9603-8e2b-b484f797feb8" class="menu-button w-nav-button"><div class="menu-button-hamburger"><div data-w-id="c14198b8-6711-9603-8e2b-b484f797feba" class="menu-button-hamburger-line"></div><div data-w-id="c14198b8-6711-9603-8e2b-b484f797febc" class="menu-button-hamburger-line"></div><div data-w-id="c14198b8-6711-9603-8e2b-b484f797febb" class="menu-button-hamburger-line"></div></div></div></div><div id="top-nav-community-dropdown" data-w-id="53290218-fbdb-7f81-e737-5e8aa1c5677c" class="top-nav-dropdown hide-on-mobile"><div class="top-nav-wrapper"><div class="div-block-23"></div><div class="top-nav-menu"><a href="/community/building-community" class="top-nav-menu-link in-dropdown w-nav-link">Building community</a><a href="/community/open-source" class="top-nav-menu-link in-dropdown w-nav-link">Open Source</a><a href="/community/podcasts" class="top-nav-menu-link in-dropdown w-nav-link">Podcasts</a><a href="/community/talks" class="top-nav-menu-link in-dropdown w-nav-link">Talks</a><a href="/community/newsletters" class="top-nav-menu-link in-dropdown w-nav-link">Newsletters</a><a href="https://chainreactconf.com/" target="_blank" class="top-nav-menu-link-w-icon w-inline-block"><div class="top-nav-menu-link in-dropdown">Chain React Conf</div><div data-w-id="f15c6ff2-519f-6bb2-96d9-e0d8470998e8" class="icon--sm top-nav-menu-icon-link-external w-embed"><svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M7 17L17 7M17 7H8.53846M17 7V15.4615" stroke="currentColor" stroke-linecap="square" /> </svg></div></a></div></div></div><div class="top-nav-embed w-embed"><style> .top-nav-menu-link-w-icon > .icon--sm + .top-nav-menu-link { padding-left: 8px; padding-right: 0px; } .top-nav-menu-link-w-icon > .top-nav-menu-link:has(+ .icon--sm) { padding-right: 8px; padding-left: 0px; } .top-nav-menu-link-w-icon.w--current > .top-nav-menu-link, .top-nav-menu-link-w-icon.w--current > .icon--sm { color: var(--crimson) !important; } .top-nav .top-nav-menu > .top-nav-menu-link:hover, .top-nav .top-nav-menu > .top-nav-menu-link-w-icon:hover { opacity: 0.65; transition: opacity 200ms ease-in-out; } .top-nav:has(#top-nav-community-dropdown .w--current) #top-nav-community-dropdown { opacity: 1 !important; pointer-events: auto !important; } .top-nav #top-nav-community-dropdown { opacity: 0; transition: opacity 350ms ease-in-out 500ms; } .top-nav #top-nav-community-dropdown:not(.active) { pointer-events: none; } .top-nav:has(#top-nav-community-dropdown-trigger:hover) #top-nav-community-dropdown, .top-nav:has(#top-nav-community-dropdown:hover) #top-nav-community-dropdown { opacity: 1; transition-delay: 100ms; pointer-events: auto; } .top-nav .top-nav-brand-image { transition: color 350ms ease-in-out; } .top-nav:has(.menu-button.w--open) .top-nav-brand-image { color: var(--dark-slate) !important; } .top-nav:has(.menu-button.w--open) .nav-icon__bar, .top-nav:has(.menu-button.w--open) .menu-button-hamburger-line{ background: var(--dark-slate) !important; } .top-nav .nav-icon__bar, .top-nav .menu-button-hamburger-line { transition: background 350ms ease-in-out; } .top-nav:has(#top-nav-community-dropdown .w--current) #top-nav-community-dropdown-trigger * { color: var(--crimson) !important; } @media screen and (max-width: 991px) { .top-nav-menu-link { color: var(--dark-slate) !important; } .top-nav-menu-link.w--current { color: var(--crimson) !important; } } .nav-on-white .top-nav .top-nav-menu-link, .nav-on-white .top-nav .top-nav-brand-image, .nav-on-white .top-nav .icon--sm { color: var(--dark-slate); } .nav-on-white .top-nav .menu-button-hamburger-line { background: var(--dark-slate); } .nav-on-white .top-nav { background: rgba(255, 255, 255, 0.96); } .nav-on-white .top-nav .top-nav-dropdown { border-color: rgba(25, 16, 21, 0.1); background: rgba(255, 255, 255, 0.96); } </style></div><div class="top-nav-embed w-embed w-script"><script> const dropdownTargets = document.querySelectorAll("#top-nav-community-dropdown-trigger, #top-nav-community-dropdown") const dropdown = document.querySelector("#top-nav-community-dropdown") dropdownTargets.forEach(target => { let inactiveTimeout target.addEventListener("mouseover", ()=>{ clearTimeout(inactiveTimeout) dropdown.classList.add("active") }) target.addEventListener("mouseleave", ()=> { inactiveTimeout = setTimeout(()=>{ dropdown.classList.remove("active") },1500) }) }) </script></div></div><section class="podcast-hero"><div class="podcast-hero-gradient"></div><div class="w-layout-blockcontainer podcast-container w-container"><div class="podcast-hero-wrapper"><svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 807 355" class="podcast-hero-logo"><g id="rnrVertical--reversed" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"><path d="M403.1,0 C428.7,0 442.7,56.9 442.7,110.3 C442.7,163.7 428.8,220.5 403.1,220.5 C387,220.5 375.6,198.4 369.3,168.9 C363.3,170.8 357.6,172.3 352.1,173.5 C345.602712,174.993771 338.966014,175.798219 332.3,175.9 C320,175.9 311.6,172.4 307.6,165.4 C299.6,151.5 313,130.6 335.5,110.3 C313,90 299.6,69.1 307.6,55.2 C313.5,44.9 328.9,42.1 352.1,47 C357.912329,48.2210429 363.654106,49.7566344 369.3,51.6 C375.7,22 387.1,0 403.1,0 Z M403.1,154.9 C395.2,158.8 387.3,162.2 379.7,165.1 C385.6,193.3 395.3,209.3 403.1,209.3 C410.8,209.3 420.6,193.3 426.5,165.1 C418.9,162.2 411,158.8 403.1,154.9 Z M343.9,117.3 C322.3,136.5 313.3,153 317.2,159.7 C319.7,163.9 329.5,166.9 349.9,162.6 C355.800588,161.389965 361.613577,159.786382 367.3,157.8 C366,149.7 365,141.2 364.4,132.5 C357.2,127.6 350.3,122.5 343.9,117.3 Z M375.9,140 C376.4,144.9 377,149.6 377.7,154.1 C382,152.4 386.4,150.6 390.8,148.6 L390.8,148.6 L383.3,144.4 C380.8,143 378.3,141.5 375.9,140 Z M430.2,140 C427.7,141.5 425.3,143 422.8,144.4 C420.4,145.8 417.9,147.2 415.4,148.6 C419.8,150.6 424.1,152.4 428.4,154.1 C429.1,149.6 429.7,144.9 430.2,140 Z M403.1,77.6 C398.3,80 393.5,82.6 388.8,85.3 C383.9,88.1 379.3,91 374.9,93.8 C374.6,99.1 374.5,104.4 374.5,110.1 C374.5,115.8 374.6,121.2 374.9,126.4 C379.3,129.3 383.9,132.1 388.8,134.9 C393.5,137.6 398.3,140.2 403.1,142.5 C407.9,140 412.6,137.4 417.4,134.7 C422.2,132 426.8,129.1 431.3,126.2 C431.6,121 431.7,115.6 431.7,110 C431.7,104.4 431.6,99 431.3,93.8 C426.8,90.9 422.2,88 417.4,85.3 C412.6,82.6 407.8,80 403.1,77.6 Z M403.21,100.79 C408.456705,100.79 412.71,105.043295 412.71,110.29 C412.71,115.536705 408.456705,119.79 403.21,119.79 C397.963295,119.79 393.71,115.536705 393.71,110.29 C393.71,105.043295 397.963295,100.79 403.21,100.79 Z M363.6,101.5 C359.6,104.4 355.8,107.3 352.3,110.1 C355.8,113 359.6,115.8 363.6,118.7 C363.5,115.9 363.5,113 363.5,110.1 L363.5008,108.3704 C363.504,106.076 363.52,103.82 363.6,101.5 Z M349.9,57.7 C329.5,53.4 319.6,56.4 317.2,60.6 C313.3,67.3 322.3,83.8 343.9,103 C350.3,97.8 357.2,92.7 364.4,87.8 C365,79.2 366,70.6 367.3,62.5 C361.585168,60.6059112 355.777659,59.0038399 349.9,57.7 Z M377.7,66.2 C377,70.7 376.4,75.4 375.9,80.3 C378.4,78.8 380.8,77.4 383.3,75.9 C385.8,74.4 388.3,73.1 390.8,71.7 C386.4,69.7 382,67.9 377.7,66.2 Z M428.4,66.2 C424.2,67.9 419.8,69.7 415.4,71.7 C417.8,73.1 420.3,74.5 422.8,75.9 L422.8,75.9 C425.3,77.3 427.8,78.8 430.2,80.3 C429.7,75.3 429.1,70.7 428.4,66.2 Z M403.1,11 C395.3,11 385.5,27 379.7,55.2 C387.3,58.1 395.2,61.5 403.1,65.4 C411,61.5 418.9,58.1 426.5,55.2 C420.6,27 410.9,11 403.1,11 Z M508.5,88.7 C508.44869,87.9036915 508.082248,87.1606348 507.481722,86.6351745 C506.881196,86.1097143 506.096073,85.8451513 505.3,85.9 L499.3,86.3 C498.503691,86.35131 497.760635,86.7177517 497.235175,87.3182777 C496.709714,87.9188037 496.445151,88.7039274 496.5,89.5 C496.9,96.3 497.1,103.3 497.1,110.2 C497.1,117.1 496.9,123.8 496.6,130.5 C496.529249,132.143165 497.761985,133.552005 499.4,133.7 L505.4,134.1 C506.196073,134.154849 506.981196,133.890286 507.581722,133.364825 C508.182248,132.839365 508.54869,132.096309 508.6,131.3 C509,124.3 509.2,117.3 509.2,110.3 C509.1,103 508.9,95.8 508.5,88.7 Z M480.8,61.6 L474.9,62.4 C474.108443,62.4999192 473.392628,62.9204535 472.919997,63.5632328 C472.447365,64.206012 472.259375,65.0146527 472.4,65.8 C474.310235,80.4886657 475.245615,95.287714 475.2,110.1 C475.249065,124.779472 474.313633,139.445711 472.4,154 C472.214359,155.647274 473.361634,157.147556 475,157.4 L480.9,158.2 C481.696857,158.313466 482.505885,158.101965 483.14526,157.613032 C483.784634,157.124098 484.200718,156.398748 484.3,155.6 C486.246922,140.478242 487.215603,125.246568 487.2,110 C487.212162,94.6206098 486.24353,79.2560966 484.3,64 C483.877763,62.4513525 482.396757,61.4358061 480.8,61.6 Z M453.5,37.1 L447.7,38.7 C446.940138,38.8924249 446.289548,39.3822727 445.894589,40.0593438 C445.499631,40.736415 445.393474,41.543849 445.6,42.3 C450.6,62 453.2,85.4 453.2,110.2 C453.2,136 450.4,160.2 445,180.4 C444.5,182.4 443.9,184.4 443.3,186.3 C442.836807,187.843459 443.675722,189.477134 445.2,190 L450.9,191.9 C451.669053,192.149017 452.506056,192.077138 453.221392,191.700645 C453.936728,191.324152 454.469856,190.674911 454.7,189.9 C455.3,187.8 456,185.6 456.5,183.5 C462.1,162.3 465.1,137 465.1,110.2 C465.1,84.4 462.3,60 457.1,39.3 C456.932703,38.5202046 456.452689,37.8432472 455.772163,37.4273703 C455.091637,37.0114933 454.270248,36.8931487 453.5,37.1 Z M27.6,336.9 L13.7,336.9 L13.7,354.2 L0,354.2 L0,293.7 L26.3,293.7 C42.1,293.7 51.1,301.3 51.1,314.7 C51.1,324 47.1,330.8 39.8,334.2 L52.7,354.2 L37.2,354.2 L27.6,336.9 Z M26.3,325.5 C33.8,325.5 38.1,322 38.1,315.1 C38.1,308.4 33.8,305 26.3,305 L13.7,305 L13.7,325.5 L26.3,325.5 Z M104.6,335 L71.2,335 C72.8,340.9 77.3,344.3 83.2,344.3 C87.6302185,344.309793 91.8798674,342.545108 95,339.4 L102,346.5 C97.3,351.7 90.5,354.7 82.1,354.7 C67.2,354.7 57.8,345.2 57.8,331.1 C57.8,316.7 67.6,307.2 81.8,307.2 C98.1,307.3 105.7,318.1 104.6,335 Z M92.1,327.2 C91.9,321.1 88,317.1 81.8,317.1 C75.9,317.1 71.9,321.1 70.9,327.2 L92.1,327.2 Z M139.8,348.8 C136.7,352.7 131.7,354.9 125.2,354.9 C115.3,354.9 109.2,348.8 109.2,340.4 C109.2,331.7 115.5,326.5 126.9,326.4 L139.7,326.4 L139.7,325.5 C139.7,320.6 136.4,317.7 130,317.7 C125.1278,317.880728 120.380513,319.291154 116.2,321.8 L112,312.6 C118.9,309.1 124.9,307.2 133,307.2 C145.5,307.2 152.6,313.4 152.7,323.9 L152.8,354.2 L139.7,354.2 L139.7,348.8 L139.8,348.8 Z M139.7,338.3 L139.7,334.2 L129.2,334.2 C124.1,334.2 121.6,335.8 121.6,339.5 C121.6,343 124.4,345.4 128.9,345.4 C134.5,345.3 138.9,342.3 139.7,338.3 L139.7,338.3 Z M203.7,317 L194.7,323.5 C192.157836,320.26013 188.214966,318.437482 184.1,318.6 C177.6,318.6 173,323.6 173,331.1 C173,338.6 177.6,343.7 184.1,343.7 C188.9,343.7 192.6,341.9 194.9,338.3 L204.1,344.5 C200.2,351 192.9,354.8 183.4,354.8 C169.3,354.8 159.7,345.3 159.7,331.2 C159.7,316.9 169.3,307.3 183.6,307.3 C192.5,307.3 199.6,310.8 203.7,317 Z M240.6,351.6 C236.906251,353.682795 232.740469,354.78449 228.5,354.8 C220.2,354.8 213.9,350 213.9,340.4 L213.9,318.9 L207.4,318.9 L207.4,309.7 L213.9,309.7 L213.9,296.9 L227.1,296.9 L227.1,309.7 L239.7,309.7 L239.7,319 L227.1,319 L227.1,338.2 C227.1,342.1 228.7,343.6 231.6,343.6 C233.761804,343.467059 235.872719,342.88826 237.8,341.9 L240.6,351.6 Z M310.9,354.2 L281.6,315.4 L281.6,354.2 L268.5,354.2 L268.5,293.7 L281,293.7 L310.4,332.6 L310.4,293.7 L323.4,293.7 L323.4,354.2 L310.9,354.2 Z M362.7,348.8 C359.6,352.7 354.6,354.9 348.1,354.9 C338.2,354.9 332.1,348.8 332.1,340.4 C332.1,331.7 338.4,326.5 349.8,326.4 L362.6,326.4 L362.6,325.5 C362.6,320.6 359.3,317.7 352.9,317.7 C348.0278,317.880728 343.280513,319.291154 339.1,321.8 L334.9,312.6 C341.8,309.1 347.8,307.2 355.9,307.2 C368.4,307.2 375.5,313.4 375.6,323.9 L375.7,354.2 L362.7,354.2 L362.7,348.8 Z M362.6,338.3 L362.6,334.2 L352.1,334.2 C347,334.2 344.5,335.8 344.5,339.5 C344.5,343 347.3,345.4 351.8,345.4 C357.5,345.3 361.9,342.3 362.6,338.3 L362.6,338.3 Z M415.5,351.6 C411.806251,353.682795 407.640469,354.78449 403.4,354.8 C395.1,354.8 388.8,350 388.8,340.4 L388.8,318.9 L382.3,318.9 L382.3,309.7 L388.8,309.7 L388.8,296.9 L402,296.9 L402,309.7 L414.6,309.7 L414.6,319 L402,319 L402,338.2 C402,342.1 403.6,343.6 406.5,343.6 C408.661804,343.467059 410.772719,342.88826 412.7,341.9 L415.5,351.6 Z M436.7,294.5 C436.7,298.8 433.8,301.9 429.5,301.9 C427.537575,301.959355 425.640429,301.191848 424.271297,299.784684 C422.902164,298.377521 422.186913,296.460062 422.3,294.5 C422.3,290.2 425.2,287.1 429.5,287.1 C433.8,287.1 436.7,290.2 436.7,294.5 Z M422.9,354.2 L422.9,307.7 L436.2,307.7 L436.2,354.2 L422.9,354.2 Z M514.3,307.2 C530.6,307.3 538.2,318.1 537.1,335 L503.7,335 C505.3,340.9 509.8,344.3 515.7,344.3 C520.130218,344.309793 524.379867,342.545108 527.5,339.4 L534.5,346.5 C529.8,351.7 523,354.7 514.6,354.7 C499.7,354.7 490.3,345.2 490.3,331.1 C490.3,316.7 500.1,307.2 514.3,307.2 Z M490.5,307.7 L472.9,354.2 L459.4,354.2 L441.7,307.8 L455.4,307.7 L466.4,341.6 L477.3,307.7 L490.5,307.7 Z M514.4,317.1 C508.5,317.1 504.5,321.1 503.5,327.2 L524.7,327.2 C524.5,321.1 520.6,317.1 514.4,317.1 Z M593.4,336.9 L579.5,336.9 L579.5,354.2 L565.8,354.2 L565.8,293.7 L592.1,293.7 C607.9,293.7 616.9,301.3 616.9,314.7 C616.9,324 612.9,330.8 605.6,334.2 L618.5,354.2 L603,354.2 L593.4,336.9 Z M592.1,325.5 C599.6,325.5 603.9,322 603.9,315.1 C603.9,308.4 599.6,305 592.1,305 L579.5,305 L579.5,325.5 L592.1,325.5 Z M654.5,348.8 C651.4,352.7 646.4,354.9 639.9,354.9 C630,354.9 623.9,348.8 623.9,340.4 C623.9,331.7 630.2,326.5 641.6,326.4 L654.4,326.4 L654.4,325.5 C654.4,320.6 651.1,317.7 644.7,317.7 C639.8278,317.880728 635.080513,319.291154 630.9,321.8 L626.7,312.6 C633.6,309.1 639.6,307.2 647.7,307.2 C660.2,307.2 667.3,313.4 667.4,323.9 L667.5,354.2 L654.4,354.2 L654.4,348.8 L654.5,348.8 Z M654.4,338.3 L654.4,334.2 L643.9,334.2 C638.8,334.2 636.3,335.8 636.3,339.5 C636.3,343 639.1,345.4 643.6,345.4 C649.3,345.3 653.7,342.3 654.4,338.3 Z M724.4,354.2 L711.2,354.2 L711.2,347.4 C707.9,352.2 702.9,354.7 696.5,354.7 C683.3,354.7 674.5,345.1 674.5,330.8 C674.5,316.5 683.1,307.2 696.1,307.2 C702.7,307.2 707.8,309.8 711.1,314.5 L711.1,290 L724.3,290 L724.3,354.2 L724.4,354.2 Z M711.2,331.1 C711.2,323.5 706.4,318.2 699.6,318.2 C692.8,318.2 687.9,323.6 687.8,331.1 C687.9,338.7 692.6,344 699.6,344 C706.4,344 711.2,338.7 711.2,331.1 L711.2,331.1 Z M748.9,294.5 C748.9,298.8 746,301.9 741.7,301.9 C739.737575,301.959355 737.840429,301.191848 736.471297,299.784684 C735.102164,298.377521 734.386913,296.460062 734.5,294.5 C734.5,290.2 737.4,287.1 741.7,287.1 C746,287.1 748.9,290.2 748.9,294.5 Z M735.1,354.2 L735.1,307.7 L748.4,307.7 L748.4,354.2 L735.1,354.2 Z M806.5,331 C806.5,345.2 796.5,354.8 781.6,354.8 C766.7,354.8 756.6,345.2 756.6,331 C756.6,316.8 766.6,307.3 781.6,307.3 C796.6,307.3 806.5,316.7 806.5,331 Z M770,331.1 C770,338.7 774.7,343.9 781.6,343.9 C788.5,343.9 793.2,338.7 793.2,331.1 C793.2,323.5 788.4,318.3 781.6,318.3 C774.8,318.3 770,323.5 770,331.1 Z" id="Combined-Shape" fill="#FFFFFF" fill-rule="nonzero"></path></g></svg><h1 class="podcast-hero-h1">Exploring React Native Together</h1><a href="#" class="podcast-hero-button w-inline-block w-lightbox"><svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 24 24" fill="none" class="podcast-hero-button-icon"><path d="M21.2006 7.8535H3V4.21337C3 3.89157 3.12784 3.58294 3.35539 3.35539C3.58294 3.12784 3.89157 3 4.21337 3H19.9872C20.3091 3 20.6177 3.12784 20.8452 3.35539C21.0728 3.58294 21.2006 3.89157 21.2006 4.21337V7.8535Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"></path><path d="M3 10.2802V18.7739C3 19.0957 3.12784 19.4043 3.35539 19.6319C3.58294 19.8594 3.89157 19.9872 4.21337 19.9872H12.1003" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"></path><path d="M21.2007 12.1003V10.2802" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"></path><path d="M9.06689 3L7.85352 7.8535" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"></path><path d="M16.3472 3L15.1338 7.8535" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"></path><path d="M20.9063 16.9409L16.0188 14.0086C15.9267 13.9533 15.8217 13.9235 15.7143 13.9221C15.6069 13.9207 15.5011 13.9479 15.4077 14.0008C15.3143 14.0537 15.2365 14.1304 15.1824 14.2231C15.1284 14.3159 15.0999 14.4213 15.0999 14.5287V20.3934C15.0999 20.5007 15.1284 20.6062 15.1824 20.6989C15.2365 20.7917 15.3143 20.8684 15.4077 20.9213C15.5011 20.9742 15.6069 21.0013 15.7143 21C15.8217 20.9986 15.9267 20.9687 16.0188 20.9135L20.9063 17.9812C20.996 17.9273 21.0704 17.851 21.1219 17.7599C21.1735 17.6687 21.2006 17.5658 21.2006 17.461C21.2006 17.3563 21.1735 17.2533 21.1219 17.1622C21.0704 17.0711 20.996 16.9948 20.9063 16.9409Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"></path></svg><div class="podcast-hero-button-text">Play Trailer</div><script type="application/json" class="w-json">{ "items": [ { "url": "https://www.youtube.com/watch?v=2o4QgRiuvjw", "originalUrl": "https://www.youtube.com/watch?v=2o4QgRiuvjw", "width": 940, "height": 528, "thumbnailUrl": "https://i.ytimg.com/vi/2o4QgRiuvjw/hqdefault.jpg", "html": "<iframe class=\"embedly-embed\" src=\"//cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2F2o4QgRiuvjw%3Ffeature%3Doembed&display_name=YouTube&url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3D2o4QgRiuvjw&image=https%3A%2F%2Fi.ytimg.com%2Fvi%2F2o4QgRiuvjw%2Fhqdefault.jpg&type=text%2Fhtml&schema=youtube\" width=\"940\" height=\"528\" scrolling=\"no\" title=\"YouTube embed\" frameborder=\"0\" allow=\"autoplay; fullscreen; encrypted-media; picture-in-picture;\" allowfullscreen=\"true\"></iframe>", "type": "video" } ], "group": "" }</script></a></div></div><div class="podcast-hero-banner"><div class="podcast-hero-banner-label">Listen On:</div><a href="https://open.spotify.com/show/28hPRLml3FbP14FCYtlOvg" target="_blank" class="podcast-hero-banner-link w-inline-block"><div class="podcast-hero-banner-link-text">Spotify</div><svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 12 12" fill="none" class="podcast-hero-banner-link-icon"><path d="M1 11L11 1M11 1H2.53846M11 1V9.46154" stroke="#E73536" stroke-linecap="square"></path></svg></a><a href="https://podcasts.apple.com/us/podcast/react-native-radio/id1058647602" target="_blank" class="podcast-hero-banner-link w-inline-block"><div class="podcast-hero-banner-link-text">Apple</div><svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 12 12" fill="none" class="podcast-hero-banner-link-icon"><path d="M1 11L11 1M11 1H2.53846M11 1V9.46154" stroke="#E73536" stroke-linecap="square"></path></svg></a><a href="https://www.youtube.com/playlist?list=PLFHvL21g9bk0HKMhHLDtlMwxy2Qpv4GHg" target="_blank" class="podcast-hero-banner-link w-inline-block"><div class="podcast-hero-banner-link-text">YouTube</div><svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 12 12" fill="none" class="podcast-hero-banner-link-icon"><path d="M1 11L11 1M11 1H2.53846M11 1V9.46154" stroke="#E73536" stroke-linecap="square"></path></svg></a></div></section><section class="podcast-hosts"><div class="w-layout-blockcontainer podcast-container w-container"><div class="podcast-hosts-wrapper"><div class="podcast-hosts-h2-v-wrapper"><h2 class="podcast-hosts-h2">Meet your hosts, <br/></h2><div class="podcast-hosts-h2-h-wrapper"><h2 class="podcast-hosts-h2">three of the most <br/></h2><div class="podcast-hosts-h2-animated-wrapper"><h2 class="podcast-hosts-h2-animated">exhilarating<br/></h2><h2 class="podcast-hosts-h2-animated">thrilling<br/></h2><h2 class="podcast-hosts-h2-animated">brilliant<br/></h2><h2 class="podcast-hosts-h2-animated">remarkable<br/></h2><h2 class="podcast-hosts-h2-animated">mind-blowing<br/></h2><h2 class="podcast-hosts-h2-animated">insightful<br/></h2><h2 class="podcast-hosts-h2-animated">astounding<br/></h2><h2 class="podcast-hosts-h2-animated">captivating<br/></h2></div></div><h2 class="podcast-hosts-h2">React Native experts around.<br/></h2></div><div class="podcast-hosts-list"><div class="podcast-host"><img src="https://cdn.prod.website-files.com/5e67db0c1e7a468249544a75/67b49f3dc786260ded885d40_Rectangle%201924%402x.png" loading="lazy" sizes="(max-width: 502px) 100vw, 502px" srcset="https://cdn.prod.website-files.com/5e67db0c1e7a468249544a75/67b49f3dc786260ded885d40_Rectangle%201924%402x-p-500.png 500w, https://cdn.prod.website-files.com/5e67db0c1e7a468249544a75/67b49f3dc786260ded885d40_Rectangle%201924%402x.png 502w" alt="" class="podcast-host-photo"/><h4 class="podcast-host-name">Jamon Holmgren</h4><h4 class="podcast-host-title">Co-Founder &amp; CTO</h4><p class="podcast-host-bio">Jamon is Co-Founder and CTO of Infinite Red and one of the most recognizable voices in the React Native community. You may have seen him speak at various conferences around the world, but most know him from where he is just as likely to nerd out about React Native as he is to show pictures of his tractor. He lives in southwest Washington state with his family, plays recreational hockey as a goalie, and has a new granddaughter!</p><div class="podcast-socials"><a href="https://x.com/jamonholmgren?ref_src=twsrc%5Egoogle%7Ctwcamp%5Eserp%7Ctwgr%5Eauthor" target="_blank" class="podcast-socials-link w-inline-block"><svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 22 20" fill="none" class="podcast-socials-icon"><path d="M17.2439 0.25H20.5532L13.3251 8.50937L21.8282 19.75H15.172L9.95479 12.9344L3.99229 19.75H0.678223L8.40791 10.9141L0.256348 0.25H7.08135L11.7923 6.47969L17.2439 0.25ZM16.0813 17.7719H17.9142L6.08291 2.125H4.11416L16.0813 17.7719Z" fill="currentColor"></path></svg></a><a href="https://bsky.app/profile/did:plc:5vkq7pfuvk637ym5po732b3f" target="_blank" class="podcast-socials-link w-inline-block"><svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 24 22" fill="none" class="podcast-socials-icon"><path d="M5.24063 1.9156C7.97813 3.96404 10.9219 8.12654 12 10.3625C13.0781 8.13123 16.0219 3.96873 18.7594 1.9156C20.7328 0.434353 23.9297 -0.709398 23.9297 2.93748C23.9297 3.66404 23.5125 9.05467 23.2687 9.93123C22.4156 12.9687 19.3125 13.7469 16.5516 13.2734C21.375 14.0937 22.6031 16.8125 19.95 19.5312C14.9156 24.6969 12.7172 18.2375 12.1547 16.5828C12.075 16.3531 12.0328 16.2172 12 16.2172C11.9672 16.2172 11.925 16.3578 11.8453 16.5828C11.2828 18.2375 9.07969 24.6969 4.05 19.5312C1.40156 16.8125 2.625 14.0937 7.44844 13.2734C4.6875 13.7469 1.58438 12.9687 0.735937 9.92654C0.4875 9.04998 0.0703125 3.65935 0.0703125 2.93279C0.0703125 -0.714085 3.26719 0.429665 5.24063 1.91092V1.9156Z" fill="currentColor"></path></svg></a></div></div><div class="podcast-host"><img src="https://cdn.prod.website-files.com/5e67db0c1e7a468249544a75/67b49f3dc786260ded885d3b_Rectangle%201925%402x.png" loading="lazy" sizes="(max-width: 502px) 100vw, 502px" srcset="https://cdn.prod.website-files.com/5e67db0c1e7a468249544a75/67b49f3dc786260ded885d3b_Rectangle%201925%402x-p-500.png 500w, https://cdn.prod.website-files.com/5e67db0c1e7a468249544a75/67b49f3dc786260ded885d3b_Rectangle%201925%402x.png 502w" alt="" class="podcast-host-photo"/><h4 class="podcast-host-name">Robin Heinze</h4><h4 class="podcast-host-title">Director of Engineering</h4><p class="podcast-host-bio">Robin, the Director of Engineering at Infinite Red, leads our team of senior-level React Native engineers. She’s guided numerous high-profile clients on their journey to the App Store and is just as known for her engineering knowledge as her seemingly endless collection of “mom jokes” on the show. She lives near Portland, Oregon with her family and enjoys knitting and Formula One.</p><div class="podcast-socials"><a href="https://x.com/robinheinze" target="_blank" class="podcast-socials-link w-inline-block"><svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 22 20" fill="none" class="podcast-socials-icon"><path d="M17.2439 0.25H20.5532L13.3251 8.50937L21.8282 19.75H15.172L9.95479 12.9344L3.99229 19.75H0.678223L8.40791 10.9141L0.256348 0.25H7.08135L11.7923 6.47969L17.2439 0.25ZM16.0813 17.7719H17.9142L6.08291 2.125H4.11416L16.0813 17.7719Z" fill="currentColor"></path></svg></a><a href="https://web-cdn.bsky.app/profile/did:plc:2zllcdfexfvjj5yltaqddv64" target="_blank" class="podcast-socials-link w-inline-block"><svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 24 22" fill="none" class="podcast-socials-icon"><path d="M5.24063 1.9156C7.97813 3.96404 10.9219 8.12654 12 10.3625C13.0781 8.13123 16.0219 3.96873 18.7594 1.9156C20.7328 0.434353 23.9297 -0.709398 23.9297 2.93748C23.9297 3.66404 23.5125 9.05467 23.2687 9.93123C22.4156 12.9687 19.3125 13.7469 16.5516 13.2734C21.375 14.0937 22.6031 16.8125 19.95 19.5312C14.9156 24.6969 12.7172 18.2375 12.1547 16.5828C12.075 16.3531 12.0328 16.2172 12 16.2172C11.9672 16.2172 11.925 16.3578 11.8453 16.5828C11.2828 18.2375 9.07969 24.6969 4.05 19.5312C1.40156 16.8125 2.625 14.0937 7.44844 13.2734C4.6875 13.7469 1.58438 12.9687 0.735937 9.92654C0.4875 9.04998 0.0703125 3.65935 0.0703125 2.93279C0.0703125 -0.714085 3.26719 0.429665 5.24063 1.91092V1.9156Z" fill="currentColor"></path></svg></a></div></div><div class="podcast-host"><img src="https://cdn.prod.website-files.com/5e67db0c1e7a468249544a75/67b49f3cde618afb994f3c0e_Rectangle%201926%402x.png" loading="lazy" sizes="(max-width: 502px) 100vw, 502px" srcset="https://cdn.prod.website-files.com/5e67db0c1e7a468249544a75/67b49f3cde618afb994f3c0e_Rectangle%201926%402x-p-500.png 500w, https://cdn.prod.website-files.com/5e67db0c1e7a468249544a75/67b49f3cde618afb994f3c0e_Rectangle%201926%402x.png 502w" alt="" class="podcast-host-photo"/><h4 class="podcast-host-name">Mazen Chami</h4><h4 class="podcast-host-title">Senior Software Engineer</h4><p class="podcast-host-bio">Mazen’s smooth bass voice rounds out the trifecta of React Native Radio hosts. He’s one of the leading senior software engineers on the Infinite Red team. He’s spoken at tech conferences around the world, is on the React Native core release team, and is also our lead React Native workshop instructor. He lives in Durham, NC, and uses his former professional soccer (“football”) skills to play goalie for a local team.<br/></p><div class="podcast-socials"><a href="https://x.com/mazenchami?lang=kn" target="_blank" class="podcast-socials-link w-inline-block"><svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 22 20" fill="none" class="podcast-socials-icon"><path d="M17.2439 0.25H20.5532L13.3251 8.50937L21.8282 19.75H15.172L9.95479 12.9344L3.99229 19.75H0.678223L8.40791 10.9141L0.256348 0.25H7.08135L11.7923 6.47969L17.2439 0.25ZM16.0813 17.7719H17.9142L6.08291 2.125H4.11416L16.0813 17.7719Z" fill="currentColor"></path></svg></a><a href="https://bsky.app/profile/mazenchami.dev" target="_blank" class="podcast-socials-link w-inline-block"><svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 24 22" fill="none" class="podcast-socials-icon"><path d="M5.24063 1.9156C7.97813 3.96404 10.9219 8.12654 12 10.3625C13.0781 8.13123 16.0219 3.96873 18.7594 1.9156C20.7328 0.434353 23.9297 -0.709398 23.9297 2.93748C23.9297 3.66404 23.5125 9.05467 23.2687 9.93123C22.4156 12.9687 19.3125 13.7469 16.5516 13.2734C21.375 14.0937 22.6031 16.8125 19.95 19.5312C14.9156 24.6969 12.7172 18.2375 12.1547 16.5828C12.075 16.3531 12.0328 16.2172 12 16.2172C11.9672 16.2172 11.925 16.3578 11.8453 16.5828C11.2828 18.2375 9.07969 24.6969 4.05 19.5312C1.40156 16.8125 2.625 14.0937 7.44844 13.2734C4.6875 13.7469 1.58438 12.9687 0.735937 9.92654C0.4875 9.04998 0.0703125 3.65935 0.0703125 2.93279C0.0703125 -0.714085 3.26719 0.429665 5.24063 1.91092V1.9156Z" fill="currentColor"></path></svg></a></div></div></div></div></div><div class="podcast-tiled-background"><div class="podcast-tiled-background-tiles"></div><div class="podcast-tiled-radial"></div></div></section><section class="podcast-praise-top"><div class="custom-css-praise-marquee w-embed"><style> .praise-marquee-list-wrapper { display: none; } html.wf-design-mode .praise-marquee-list-wrapper { display: block; } </style></div><div class="praise-marquee-container"><div data-marquee-rows="1" class="praise-marquee-list-wrapper w-dyn-list"><div role="list" class="praise-marquee w-dyn-items"><div role="listitem" class="praise-item w-dyn-item"><a target="_blank" href="https://x.com/coolsoftwaredev/status/1624844574995755008" class="praise-item-wrapper w-inline-block"><div class="praise-item-header"><div class="praise-item-photos"><img src="https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b7c78e9ebc8fa59e3ee74c_avatar-photo.jpg" loading="lazy" alt="" class="expo-us-testimonial-photo"/><img src="" loading="lazy" alt="" class="expo-us-testimonial-photo expo-us-testimonial-photo-2 w-condition-invisible w-dyn-bind-empty"/></div><div class="praise-item-source"><div class="praise-item-name w-condition-invisible w-dyn-bind-empty"></div><div class="praise-item-handle">Tyler Williams (@coolsoftwaredev)</div></div><img src="https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b7c2752b04e2ee41fde92a_X-logo.jpg" loading="lazy" alt="" class="praise-item-platform"/></div><p class="praise-item-text">Hey @ReactNativeRdio , just want to say I really liked episode 258. I think Jamon&#x27;s analogy to excavation is really apt. AI assistance (and even autonomous coding eventually) is going to be a big step change and help get more yield from software overall -</p></a></div><div role="listitem" class="praise-item w-dyn-item"><a target="_blank" href="https://x.com/PnTX10/status/1538495664795049984" class="praise-item-wrapper w-inline-block"><div class="praise-item-header"><div class="praise-item-photos"><img src="https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b7c620071341ade2055e4c_avatar-photo.jpg" loading="lazy" alt="" class="expo-us-testimonial-photo"/><img src="" loading="lazy" alt="" class="expo-us-testimonial-photo expo-us-testimonial-photo-2 w-condition-invisible w-dyn-bind-empty"/></div><div class="praise-item-source"><div class="praise-item-name w-condition-invisible w-dyn-bind-empty"></div><div class="praise-item-handle">Just Patrick (@PnTX10)</div></div><img src="https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b7c2752b04e2ee41fde92a_X-logo.jpg" loading="lazy" alt="" class="praise-item-platform"/></div><p class="praise-item-text">Jumping into some @reactnative animations. Thanks @ReactNativeRdio for the episodes that educate and motivate me to get back to it.</p></a></div><div role="listitem" class="praise-item w-dyn-item"><a target="_blank" href="https://x.com/_ephraimjsmith/status/1413180583317024768" class="praise-item-wrapper w-inline-block"><div class="praise-item-header"><div class="praise-item-photos"><img src="https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b7c6ccccb047690e7e6669_avatar-photo.jpg" loading="lazy" alt="" class="expo-us-testimonial-photo"/><img src="" loading="lazy" alt="" class="expo-us-testimonial-photo expo-us-testimonial-photo-2 w-condition-invisible w-dyn-bind-empty"/></div><div class="praise-item-source"><div class="praise-item-name w-condition-invisible w-dyn-bind-empty"></div><div class="praise-item-handle"> Ephraim Smith (@_ephraimjsmith)</div></div><img src="https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b7c2752b04e2ee41fde92a_X-logo.jpg" loading="lazy" alt="" class="praise-item-platform"/></div><p class="praise-item-text">morning run jam track: @ReactNativeRdio ep.202 &quot;React.js to React Native&quot; was a good reminder that there&#x27;s no &#x27;fixed&#x27; path when learning tech. decide what you want, and just go get you some..</p></a></div><div role="listitem" class="praise-item w-dyn-item"><a target="_blank" href="https://x.com/jmeistrich/status/1662153533851066368" class="praise-item-wrapper w-inline-block"><div class="praise-item-header"><div class="praise-item-photos"><img src="https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b7c73d27e51a0d2cba7662_avatar-photo.jpg" loading="lazy" alt="" class="expo-us-testimonial-photo"/><img src="" loading="lazy" alt="" class="expo-us-testimonial-photo expo-us-testimonial-photo-2 w-condition-invisible w-dyn-bind-empty"/></div><div class="praise-item-source"><div class="praise-item-name w-condition-invisible w-dyn-bind-empty"></div><div class="praise-item-handle">Jay Meistrich (@jmeistrich)</div></div><img src="https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b7c2752b04e2ee41fde92a_X-logo.jpg" loading="lazy" alt="" class="praise-item-platform"/></div><p class="praise-item-text">I don&#x27;t usually enjoy tech podcasts but @jamonholmgren convinced me to listen to @ReactNativeRdio . I&#x27;m three episodes deep now and loving it. And it was extra fun to hear @colinta on there after meeting him last week at @ChainReactConf 😀</p></a></div><div role="listitem" class="praise-item w-dyn-item"><a target="_blank" href="https://x.com/mrousavy/status/1669971749289484289" class="praise-item-wrapper w-inline-block"><div class="praise-item-header"><div class="praise-item-photos"><img src="https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b7c84f6fb082fcc8c61a7d_avatar-photo.jpg" loading="lazy" alt="" class="expo-us-testimonial-photo"/><img src="" loading="lazy" alt="" class="expo-us-testimonial-photo expo-us-testimonial-photo-2 w-condition-invisible w-dyn-bind-empty"/></div><div class="praise-item-source"><div class="praise-item-name w-condition-invisible w-dyn-bind-empty"></div><div class="praise-item-handle">Marc (@mrousavy)</div></div><img src="https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b7c2752b04e2ee41fde92a_X-logo.jpg" loading="lazy" alt="" class="praise-item-platform"/></div><p class="praise-item-text">I&#x27;m on the React Native Radio podcast!!!! 🥳🤩 @ReactNativeRdio Wanna hear me talk about myself, VisionCamera, Margelo and a few other things? Check it out</p></a></div><div role="listitem" class="praise-item w-dyn-item"><a target="_blank" href="https://x.com/expo/status/1887990027692683732" class="praise-item-wrapper w-inline-block"><div class="praise-item-header"><div class="praise-item-photos"><img src="https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67a5303ffcac856660eb75ea_j5t0mY_I_400x400.jpg" loading="lazy" alt="" class="expo-us-testimonial-photo"/><img src="" loading="lazy" alt="" class="expo-us-testimonial-photo expo-us-testimonial-photo-2 w-condition-invisible w-dyn-bind-empty"/></div><div class="praise-item-source"><div class="praise-item-name w-condition-invisible w-dyn-bind-empty"></div><div class="praise-item-handle">Expo (@expo)</div></div><img src="https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b7c2752b04e2ee41fde92a_X-logo.jpg" loading="lazy" alt="" class="praise-item-platform"/></div><p class="praise-item-text">🖥️📲 Good convo about how to turn your web projects into native apps ⤵️</p></a></div><div role="listitem" class="praise-item w-dyn-item"><a target="_blank" href="https://x.com/mustafa01ali/status/1882176247964529036" class="praise-item-wrapper w-inline-block"><div class="praise-item-header"><div class="praise-item-photos"><img src="https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b7c441b4e3900141a9100e_avatar-photo.jpg" loading="lazy" alt="" class="expo-us-testimonial-photo"/><img src="" loading="lazy" alt="" class="expo-us-testimonial-photo expo-us-testimonial-photo-2 w-condition-invisible w-dyn-bind-empty"/></div><div class="praise-item-source"><div class="praise-item-name w-condition-invisible w-dyn-bind-empty"></div><div class="praise-item-handle">Mustafa Ali (@mustafa01ali)</div></div><img src="https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b7c2752b04e2ee41fde92a_X-logo.jpg" loading="lazy" alt="" class="praise-item-platform"/></div><p class="praise-item-text">Had fun talking about how we migrated Shopify&#x27;s biggest app to RN on @ReactNativeRdio</p></a></div><div role="listitem" class="praise-item w-dyn-item"><a target="_blank" href="https://x.com/Baconbrix/status/1887968372756988113" class="praise-item-wrapper w-inline-block"><div class="praise-item-header"><div class="praise-item-photos"><img src="https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b7c37ef284c01853000e6d_avatar-photo.jpg" loading="lazy" alt="" class="expo-us-testimonial-photo"/><img src="" loading="lazy" alt="" class="expo-us-testimonial-photo expo-us-testimonial-photo-2 w-condition-invisible w-dyn-bind-empty"/></div><div class="praise-item-source"><div class="praise-item-name w-condition-invisible w-dyn-bind-empty"></div><div class="praise-item-handle">Evan Bacon 🥓 (@Baconbrix)</div></div><img src="https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b7c2752b04e2ee41fde92a_X-logo.jpg" loading="lazy" alt="" class="praise-item-platform"/></div><p class="praise-item-text">Spoke with @jamonholmgren about the new “use dom” directive in Expo!</p></a></div><div role="listitem" class="praise-item w-dyn-item"><a target="_blank" href="https://x.com/expo/status/1867343053339656199" class="praise-item-wrapper w-inline-block"><div class="praise-item-header"><div class="praise-item-photos"><img src="https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67a5303ffcac856660eb75ea_j5t0mY_I_400x400.jpg" loading="lazy" alt="" class="expo-us-testimonial-photo"/><img src="" loading="lazy" alt="" class="expo-us-testimonial-photo expo-us-testimonial-photo-2 w-condition-invisible w-dyn-bind-empty"/></div><div class="praise-item-source"><div class="praise-item-name w-condition-invisible w-dyn-bind-empty"></div><div class="praise-item-handle">Expo (@expo)</div></div><img src="https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b7c2752b04e2ee41fde92a_X-logo.jpg" loading="lazy" alt="" class="praise-item-platform"/></div><p class="praise-item-text">💝 This is a uniquely open-hearted conversation about the evolution of debugging in React Native. Kudos to @cedric_dev , @huntie , and @jamonholmgren for honestly discussing the history and future of debugging react native apps.</p></a></div><div role="listitem" class="praise-item w-dyn-item"><a target="_blank" href="https://x.com/_atlj/status/1893072589917949971" class="praise-item-wrapper w-inline-block"><div class="praise-item-header"><div class="praise-item-photos"><img src="https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b906330a9db6941f2447ab_avatar.jpg" loading="lazy" alt="" class="expo-us-testimonial-photo"/><img src="" loading="lazy" alt="" class="expo-us-testimonial-photo expo-us-testimonial-photo-2 w-condition-invisible w-dyn-bind-empty"/></div><div class="praise-item-source"><div class="praise-item-name w-condition-invisible w-dyn-bind-empty"></div><div class="praise-item-handle">Burak Güner (@_atlj)</div></div><img src="https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b7c2752b04e2ee41fde92a_X-logo.jpg" loading="lazy" alt="" class="praise-item-platform"/></div><p class="praise-item-text">Thank you so much for having me! Don&#x27;t miss out if you&#x27;re interested in library dev👷‍♂️</p></a></div><div role="listitem" class="praise-item w-dyn-item"><a target="_blank" href="https://x.com/oliverloops/status/1729897445927129467" class="praise-item-wrapper w-inline-block"><div class="praise-item-header"><div class="praise-item-photos"><img src="https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b7c293b4e3900141a76974_avatar-photo.jpg" loading="lazy" alt="" class="expo-us-testimonial-photo"/><img src="" loading="lazy" alt="" class="expo-us-testimonial-photo expo-us-testimonial-photo-2 w-condition-invisible w-dyn-bind-empty"/></div><div class="praise-item-source"><div class="praise-item-name w-condition-invisible w-dyn-bind-empty"></div><div class="praise-item-handle">Oliver Lopez (@oliverloops)</div></div><img src="https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b7c2752b04e2ee41fde92a_X-logo.jpg" loading="lazy" alt="" class="praise-item-platform"/></div><p class="praise-item-text">So I think I found my favorite podcast show @ReactNativeRdio 🔥❤️</p></a></div><div role="listitem" class="praise-item w-dyn-item"><a target="_blank" href="https://x.com/jmeistrich/status/1897631155920531664" class="praise-item-wrapper w-inline-block"><div class="praise-item-header"><div class="praise-item-photos"><img src="https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b7c73d27e51a0d2cba7662_avatar-photo.jpg" loading="lazy" alt="" class="expo-us-testimonial-photo"/><img src="" loading="lazy" alt="" class="expo-us-testimonial-photo expo-us-testimonial-photo-2 w-condition-invisible w-dyn-bind-empty"/></div><div class="praise-item-source"><div class="praise-item-name w-condition-invisible w-dyn-bind-empty"></div><div class="praise-item-handle">Jay Meistrich (@jmeistrich)</div></div><img src="https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67cb7dde215f0dc879d38df6_x-icon.jpg" loading="lazy" alt="" class="praise-item-platform"/></div><p class="praise-item-text">This episode was as great as I expected it to be! I&#x27;d happily listen to you chat with @tmikov for 10 hours. I learned a lot and laughed a lot too</p></a></div><div role="listitem" class="praise-item w-dyn-item"><a target="_blank" href="https://x.com/kaileeagray/status/1886203909414293514" class="praise-item-wrapper w-inline-block"><div class="praise-item-header"><div class="praise-item-photos"><img src="https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b7c3e7963dc0387cd91533_avatar-photo.jpg" loading="lazy" alt="" class="expo-us-testimonial-photo"/><img src="" loading="lazy" alt="" class="expo-us-testimonial-photo expo-us-testimonial-photo-2 w-condition-invisible w-dyn-bind-empty"/></div><div class="praise-item-source"><div class="praise-item-name w-condition-invisible w-dyn-bind-empty"></div><div class="praise-item-handle">Kailee Gray (@kaileeagray)</div></div><img src="https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b7c2752b04e2ee41fde92a_X-logo.jpg" loading="lazy" alt="" class="praise-item-platform"/></div><p class="praise-item-text">ADHD diagnosis has changed my life! Love this conversation! #womenwithadhd #womenintech</p></a></div><div role="listitem" class="praise-item w-dyn-item"><a target="_blank" href="https://x.com/HMCodes/status/1770523212348105185" class="praise-item-wrapper w-inline-block"><div class="praise-item-header"><div class="praise-item-photos"><img src="https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b7c7f19ebc8fa59e3f5cea_avatar-photo.jpg" loading="lazy" alt="" class="expo-us-testimonial-photo"/><img src="" loading="lazy" alt="" class="expo-us-testimonial-photo expo-us-testimonial-photo-2 w-condition-invisible w-dyn-bind-empty"/></div><div class="praise-item-source"><div class="praise-item-name w-condition-invisible w-dyn-bind-empty"></div><div class="praise-item-handle">Hodeem (@HMCodes)</div></div><img src="https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b7c2752b04e2ee41fde92a_X-logo.jpg" loading="lazy" alt="" class="praise-item-platform"/></div><p class="praise-item-text">I picked up a few gems from the @ReactNativeRdio episode about the dev menu. I&#x27;m looking forward to more &quot;10 minutes long&quot; episodes.</p></a></div><div role="listitem" class="praise-item w-dyn-item"><a target="_blank" href="https://x.com/NayanJpg/status/1836466918603333798" class="praise-item-wrapper w-inline-block"><div class="praise-item-header"><div class="praise-item-photos"><img src="https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b7c5792e35cef00f36f2f8_avatar-photo.jpg" loading="lazy" alt="" class="expo-us-testimonial-photo"/><img src="" loading="lazy" alt="" class="expo-us-testimonial-photo expo-us-testimonial-photo-2 w-condition-invisible w-dyn-bind-empty"/></div><div class="praise-item-source"><div class="praise-item-name w-condition-invisible w-dyn-bind-empty"></div><div class="praise-item-handle">Nayan dey (@NayanJpg)</div></div><img src="https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b7c2752b04e2ee41fde92a_X-logo.jpg" loading="lazy" alt="" class="praise-item-platform"/></div><p class="praise-item-text">i know i’m late but i’m not skipping @ReactNativeRdio</p></a></div><div role="listitem" class="praise-item w-dyn-item"><a target="_blank" href="https://x.com/swmansion/status/1878830269316395329" class="praise-item-wrapper w-inline-block"><div class="praise-item-header"><div class="praise-item-photos"><img src="https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b7c49dddc7c1c7dd0b41cc_avatar-photo.jpg" loading="lazy" alt="" class="expo-us-testimonial-photo"/><img src="" loading="lazy" alt="" class="expo-us-testimonial-photo expo-us-testimonial-photo-2 w-condition-invisible w-dyn-bind-empty"/></div><div class="praise-item-source"><div class="praise-item-name w-condition-invisible w-dyn-bind-empty"></div><div class="praise-item-handle">Software Mansion (@swmansion)</div></div><img src="https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b7c2752b04e2ee41fde92a_X-logo.jpg" loading="lazy" alt="" class="praise-item-platform"/></div><p class="praise-item-text">Open source is a big part of what we do at Software Mansion. 🚀 Check out the latest episode of React Native Radio where @kacperkapusciak talks about how we maintain open-source libraries and why it’s such a focus for us. 😎</p></a></div><div role="listitem" class="praise-item w-dyn-item"><a target="_blank" href="https://x.com/oliverloops/status/1600188453475389440" class="praise-item-wrapper w-inline-block"><div class="praise-item-header"><div class="praise-item-photos"><img src="https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b7c293b4e3900141a76974_avatar-photo.jpg" loading="lazy" alt="" class="expo-us-testimonial-photo"/><img src="" loading="lazy" alt="" class="expo-us-testimonial-photo expo-us-testimonial-photo-2 w-condition-invisible w-dyn-bind-empty"/></div><div class="praise-item-source"><div class="praise-item-name w-condition-invisible w-dyn-bind-empty"></div><div class="praise-item-handle">Oliver Lopez (@oliverloops)</div></div><img src="https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b7c2752b04e2ee41fde92a_X-logo.jpg" loading="lazy" alt="" class="praise-item-platform"/></div><p class="praise-item-text">Excited to hear the bacon 🥓 again on the best React Native podcast 🔥</p></a></div></div></div></div></section><section class="podcast-episodes"><div class="w-layout-blockcontainer podcast-container w-container"><div class="podcast-episodes-wrapper"><div class="podcast-episodes-heading"><h2 class="podcast-episodes-heading-h2">Recent episodes</h2><div class="podcast-episodes-banner"><div class="podcast-episodes-banner-label">Listen On:</div><a href="https://open.spotify.com/show/28hPRLml3FbP14FCYtlOvg" target="_blank" class="podcast-episodes-banner-link w-inline-block"><div class="podcast-hero-banner-link-text">Spotify</div><svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 12 12" fill="none" class="podcast-hero-banner-link-icon"><path d="M1 11L11 1M11 1H2.53846M11 1V9.46154" stroke="#E73536" stroke-linecap="square"></path></svg></a><a href="https://podcasts.apple.com/us/podcast/react-native-radio/id1058647602" target="_blank" class="podcast-episodes-banner-link w-inline-block"><div class="podcast-hero-banner-link-text">Apple</div><svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 12 12" fill="none" class="podcast-hero-banner-link-icon"><path d="M1 11L11 1M11 1H2.53846M11 1V9.46154" stroke="#E73536" stroke-linecap="square"></path></svg></a><a href="https://www.youtube.com/playlist?list=PLFHvL21g9bk0HKMhHLDtlMwxy2Qpv4GHg" target="_blank" class="podcast-episodes-banner-link w-inline-block"><div class="podcast-hero-banner-link-text">YouTube</div><svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 12 12" fill="none" class="podcast-hero-banner-link-icon"><path d="M1 11L11 1M11 1H2.53846M11 1V9.46154" stroke="#E73536" stroke-linecap="square"></path></svg></a></div></div><div class="podcast-episodes-collection w-dyn-list"><div role="list" class="podcast-episodes-collection-list w-dyn-items"><div role="listitem" class="podcast-episodes-collection-item w-dyn-item"><a href="/react-native-radio/rnr-326-react-native-turns-10" target="_blank" class="podcast-episodes-collection-item-link w-inline-block"><img src="https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67e444a396b1704befe2a90d_rnr-20326.jpeg" loading="lazy" alt="RNR 326 - React Native Turns 10 🎉" class="podcast-episode-cover"/><div class="podcast-episode-info"><h6 class="podcast-episode-title">RNR 326 - React Native Turns 10 🎉</h6><p class="podcast-episode-description">React Native turns 10! 🎉 Jamon, Robin, and Mazen revisit its origins, biggest moments, and how it evolved over the last decade.</p><div class="podcast-episode-meta"><div class="podcast-episode-meta-text">March 26, 2025</div><div class="podcast-episode-meta-text">39:05</div><div class="podcast-episode-meta-text-combo"><div class="podcast-episode-meta-text">E</div><div class="podcast-episode-meta-text">326</div></div></div></div></a></div><div role="listitem" class="podcast-episodes-collection-item w-dyn-item"><a href="/react-native-radio/rnr-325-legend-list-with-jay-meistrich" target="_blank" class="podcast-episodes-collection-item-link w-inline-block"><img src="https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67d48816adc8ec826463ef93_rnr-20325.jpeg" loading="lazy" alt="RNR 325 - Legend List with Jay Meistrich" class="podcast-episode-cover"/><div class="podcast-episode-info"><h6 class="podcast-episode-title">RNR 325 - Legend List with Jay Meistrich</h6><p class="podcast-episode-description">Legend List is making scrolling smoother for React Native. Our hosts chat with Jay Meistrich about building a faster, more efficient list.</p><div class="podcast-episode-meta"><div class="podcast-episode-meta-text">March 14, 2025</div><div class="podcast-episode-meta-text">32:36</div><div class="podcast-episode-meta-text-combo"><div class="podcast-episode-meta-text">E</div><div class="podcast-episode-meta-text">325</div></div></div></div></a></div><div role="listitem" class="podcast-episodes-collection-item w-dyn-item"><a href="/react-native-radio/rnr-324-migrating-to-expo-with-alfred-lieth-are" target="_blank" class="podcast-episodes-collection-item-link w-inline-block"><img src="https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67cb7bd470cceb4626bc8c2f_rnr-20324.jpeg" loading="lazy" alt="RNR 324 - Migrating to Expo with Alfred Lieth Årøe" sizes="(max-width: 767px) 100vw, (max-width: 991px) 728px, 940px" srcset="https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67cb7bd470cceb4626bc8c2f_rnr-20324-p-500.jpeg 500w, https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67cb7bd470cceb4626bc8c2f_rnr-20324-p-800.jpeg 800w, https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67cb7bd470cceb4626bc8c2f_rnr-20324-p-1080.jpeg 1080w, https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67cb7bd470cceb4626bc8c2f_rnr-20324-p-1600.jpeg 1600w, https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67cb7bd470cceb4626bc8c2f_rnr-20324-p-2000.jpeg 2000w, https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67cb7bd470cceb4626bc8c2f_rnr-20324-p-2600.jpeg 2600w, https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67cb7bd470cceb4626bc8c2f_rnr-20324.jpeg 3000w" class="podcast-episode-cover"/><div class="podcast-episode-info"><h6 class="podcast-episode-title">RNR 324 - Migrating to Expo with Alfred Lieth Årøe</h6><p class="podcast-episode-description">Migrating to Expo in 4 days! Alfred Lieth Årøe shares how he pulled it off, the challenges he faced, and why it was the right move for his app.</p><div class="podcast-episode-meta"><div class="podcast-episode-meta-text">March 7, 2025</div><div class="podcast-episode-meta-text">30:50</div><div class="podcast-episode-meta-text-combo"><div class="podcast-episode-meta-text">E</div><div class="podcast-episode-meta-text">324</div></div></div></div></a></div><div role="listitem" class="podcast-episodes-collection-item w-dyn-item"><a href="/react-native-radio/rnr-323-static-hermes-with-tzvetan-mikov" target="_blank" class="podcast-episodes-collection-item-link w-inline-block"><img src="https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67c22143a2bad9c23388652f_rnr-20323.jpeg" loading="lazy" alt="RNR 323 - Static Hermes with Tzvetan Mikov" sizes="(max-width: 767px) 100vw, (max-width: 991px) 728px, 940px" srcset="https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67c22143a2bad9c23388652f_rnr-20323-p-500.jpeg 500w, https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67c22143a2bad9c23388652f_rnr-20323-p-800.jpeg 800w, https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67c22143a2bad9c23388652f_rnr-20323-p-1080.jpeg 1080w, https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67c22143a2bad9c23388652f_rnr-20323-p-1600.jpeg 1600w, https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67c22143a2bad9c23388652f_rnr-20323-p-2000.jpeg 2000w, https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67c22143a2bad9c23388652f_rnr-20323-p-2600.jpeg 2600w, https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67c22143a2bad9c23388652f_rnr-20323.jpeg 3000w" class="podcast-episode-cover"/><div class="podcast-episode-info"><h6 class="podcast-episode-title">RNR 323 - Static Hermes with Tzvetan Mikov</h6><p class="podcast-episode-description">Tzvetan Mikov joins Jamon, Robin, and Mazen to discuss Static Hermes—how it improves React Native performance through bytecode and native compilation. They dive into optimization strategies, the role of typing, and what this means for developers. Plus, insights into Hermes&#x27;s evolution and what’s next for JavaScript performance in React Native!</p><div class="podcast-episode-meta"><div class="podcast-episode-meta-text">February 28, 2025</div><div class="podcast-episode-meta-text">45:02</div><div class="podcast-episode-meta-text-combo"><div class="podcast-episode-meta-text">E</div><div class="podcast-episode-meta-text">323</div></div></div></div></a></div><div role="listitem" class="podcast-episodes-collection-item w-dyn-item"><a href="/react-native-radio/rnr-322-building-react-native-libraries-with-builder-bob-6g-7gnty" target="_blank" class="podcast-episodes-collection-item-link w-inline-block"><img src="https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b9002bb0a53dd4339d6ec7_rnr-20322.jpeg" loading="lazy" alt="RNR 322 - Building React Native Libraries With Builder Bob" sizes="(max-width: 767px) 100vw, (max-width: 991px) 728px, 940px" srcset="https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b9002bb0a53dd4339d6ec7_rnr-20322-p-500.jpeg 500w, https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b9002bb0a53dd4339d6ec7_rnr-20322-p-800.jpeg 800w, https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b9002bb0a53dd4339d6ec7_rnr-20322-p-1080.jpeg 1080w, https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b9002bb0a53dd4339d6ec7_rnr-20322-p-1600.jpeg 1600w, https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b9002bb0a53dd4339d6ec7_rnr-20322-p-2000.jpeg 2000w, https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b9002bb0a53dd4339d6ec7_rnr-20322-p-2600.jpeg 2600w, https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b9002bb0a53dd4339d6ec7_rnr-20322.jpeg 3000w" class="podcast-episode-cover"/><div class="podcast-episode-info"><h6 class="podcast-episode-title">RNR 322 - Building React Native Libraries With Builder Bob</h6><p class="podcast-episode-description">Burak Güner joins Robin and Mazen to discuss React Native Builder Bob and Create React Native Library—tools that streamline building and maintaining React Native libraries. Plus, insights on upcoming features and the future of library development!</p><div class="podcast-episode-meta"><div class="podcast-episode-meta-text">February 21, 2025</div><div class="podcast-episode-meta-text">29:13</div><div class="podcast-episode-meta-text-combo"><div class="podcast-episode-meta-text">E</div><div class="podcast-episode-meta-text">322</div></div></div></div></a></div><div role="listitem" class="podcast-episodes-collection-item w-dyn-item"><a href="/react-native-radio/rnr-321-expo-dom-with-evan-bacon" target="_blank" class="podcast-episodes-collection-item-link w-inline-block"><img src="https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b02706aad42eaf9b1d6eb5_rnr-20321.jpeg" loading="lazy" alt="RNR 321 - Expo DOM with Evan Bacon" sizes="(max-width: 767px) 100vw, (max-width: 991px) 728px, 940px" srcset="https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b02706aad42eaf9b1d6eb5_rnr-20321-p-500.jpeg 500w, https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b02706aad42eaf9b1d6eb5_rnr-20321-p-800.jpeg 800w, https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b02706aad42eaf9b1d6eb5_rnr-20321-p-1080.jpeg 1080w, https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b02706aad42eaf9b1d6eb5_rnr-20321-p-1600.jpeg 1600w, https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b02706aad42eaf9b1d6eb5_rnr-20321-p-2000.jpeg 2000w, https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b02706aad42eaf9b1d6eb5_rnr-20321-p-2600.jpeg 2600w, https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b02706aad42eaf9b1d6eb5_rnr-20321.jpeg 3000w" class="podcast-episode-cover"/><div class="podcast-episode-info"><h6 class="podcast-episode-title">RNR 321 - Expo DOM with Evan Bacon</h6><p class="podcast-episode-description">Expo&#x27;s Evan Bacon joins Jamon to dive into Expo’s new DOM components! Learn how they enable incremental web-to-native migration, when to use them, and why they’re a game-changer for React Native developers. Plus, fun insights into Evan’s past as a Lego artist!</p><div class="podcast-episode-meta"><div class="podcast-episode-meta-text">February 7, 2025</div><div class="podcast-episode-meta-text">40:23</div><div class="podcast-episode-meta-text-combo"><div class="podcast-episode-meta-text">E</div><div class="podcast-episode-meta-text">321</div></div></div></div></a></div><div role="listitem" class="podcast-episodes-collection-item w-dyn-item"><a href="/react-native-radio/rnr-320-silky-smooth-animations" target="_blank" class="podcast-episodes-collection-item-link w-inline-block"><img src="https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b02708268b2343e3ec9ecb_rnr-20320.jpeg" loading="lazy" alt="RNR 320 - Silky Smooth Animations" sizes="(max-width: 767px) 100vw, (max-width: 991px) 728px, 940px" srcset="https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b02708268b2343e3ec9ecb_rnr-20320-p-500.jpeg 500w, https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b02708268b2343e3ec9ecb_rnr-20320-p-800.jpeg 800w, https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b02708268b2343e3ec9ecb_rnr-20320-p-1080.jpeg 1080w, https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b02708268b2343e3ec9ecb_rnr-20320-p-1600.jpeg 1600w, https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b02708268b2343e3ec9ecb_rnr-20320-p-2000.jpeg 2000w, https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b02708268b2343e3ec9ecb_rnr-20320-p-2600.jpeg 2600w, https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b02708268b2343e3ec9ecb_rnr-20320.jpeg 3000w" class="podcast-episode-cover"/><div class="podcast-episode-info"><h6 class="podcast-episode-title">RNR 320 - Silky Smooth Animations</h6><p class="podcast-episode-description">Catlin Miron joins Jamon and Robin to dive into React Native animations! From reanimated and layout animations to interpolation and motion accessibility, Catlin shares expert insights and best practices to bring your UI to life. </p><div class="podcast-episode-meta"><div class="podcast-episode-meta-text">January 31, 2025</div><div class="podcast-episode-meta-text">36:17</div><div class="podcast-episode-meta-text-combo"><div class="podcast-episode-meta-text">E</div><div class="podcast-episode-meta-text">320</div></div></div></div></a></div><div role="listitem" class="podcast-episodes-collection-item w-dyn-item"><a href="/react-native-radio/rnr-319-shopify-goes-full-throttle-on-react-native-with-mustafa-ali" target="_blank" class="podcast-episodes-collection-item-link w-inline-block"><img src="https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b0270a9b9dc867b818cce9_rnr-20319.jpeg" loading="lazy" alt="RNR 319 - Shopify goes full throttle on React Native with Mustafa Ali" sizes="(max-width: 767px) 100vw, (max-width: 991px) 728px, 940px" srcset="https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b0270a9b9dc867b818cce9_rnr-20319-p-500.jpeg 500w, https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b0270a9b9dc867b818cce9_rnr-20319-p-800.jpeg 800w, https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b0270a9b9dc867b818cce9_rnr-20319-p-1080.jpeg 1080w, https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b0270a9b9dc867b818cce9_rnr-20319-p-1600.jpeg 1600w, https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b0270a9b9dc867b818cce9_rnr-20319-p-2000.jpeg 2000w, https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b0270a9b9dc867b818cce9_rnr-20319-p-2600.jpeg 2600w, https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b0270a9b9dc867b818cce9_rnr-20319.jpeg 3000w" class="podcast-episode-cover"/><div class="podcast-episode-info"><h6 class="podcast-episode-title">RNR 319 - Shopify goes full throttle on React Native with Mustafa Ali</h6><p class="podcast-episode-description">This week: Shopify’s Mustafa Ali joins Robin and Mazen to discuss Shopify’s React Native migration! Mustafa talks about how Shopify went all in on React Native, sharing how they improved performance, streamlined development, and boosted the open-source ecosystem!</p><div class="podcast-episode-meta"><div class="podcast-episode-meta-text">January 22, 2025</div><div class="podcast-episode-meta-text">35:49</div><div class="podcast-episode-meta-text-combo"><div class="podcast-episode-meta-text">E</div><div class="podcast-episode-meta-text">319</div></div></div></div></a></div><div role="listitem" class="podcast-episodes-collection-item w-dyn-item"><a href="/react-native-radio/rnr-318-maintaining-open-source-libraries-at-software-mansion" target="_blank" class="podcast-episodes-collection-item-link w-inline-block"><img src="https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b0270c9b9dc867b818cee7_rnr-20318.jpeg" loading="lazy" alt="RNR 318 - Maintaining Open Source Libraries at Software Mansion" sizes="(max-width: 767px) 100vw, (max-width: 991px) 728px, 940px" srcset="https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b0270c9b9dc867b818cee7_rnr-20318-p-500.jpeg 500w, https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b0270c9b9dc867b818cee7_rnr-20318-p-800.jpeg 800w, https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b0270c9b9dc867b818cee7_rnr-20318-p-1080.jpeg 1080w, https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b0270c9b9dc867b818cee7_rnr-20318-p-1600.jpeg 1600w, https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b0270c9b9dc867b818cee7_rnr-20318-p-2000.jpeg 2000w, https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b0270c9b9dc867b818cee7_rnr-20318-p-2600.jpeg 2600w, https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b0270c9b9dc867b818cee7_rnr-20318.jpeg 3000w" class="podcast-episode-cover"/><div class="podcast-episode-info"><h6 class="podcast-episode-title">RNR 318 - Maintaining Open Source Libraries at Software Mansion</h6><p class="podcast-episode-description">Kacper Kapuściak from Software Mansion joins Jamon and Mazen for a deep dive into the world of maintaining open source libraries for React Native—what it takes, why it matters, and how tools like Reanimated and Screens keep evolving. They also explore the impact of open source on the community and how developers can stay ahead.</p><div class="podcast-episode-meta"><div class="podcast-episode-meta-text">January 10, 2025</div><div class="podcast-episode-meta-text">28:36</div><div class="podcast-episode-meta-text-combo"><div class="podcast-episode-meta-text">E</div><div class="podcast-episode-meta-text">318</div></div></div></div></a></div><div role="listitem" class="podcast-episodes-collection-item w-dyn-item"><a href="/react-native-radio/rnr-317-react-native-rewind-2024" target="_blank" class="podcast-episodes-collection-item-link w-inline-block"><img src="https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b0270e7bc33b819bb10983_rnr-20317.jpeg" loading="lazy" alt="RNR 317 - React Native Rewind 2024" sizes="(max-width: 767px) 100vw, (max-width: 991px) 728px, 940px" srcset="https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b0270e7bc33b819bb10983_rnr-20317-p-500.jpeg 500w, https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b0270e7bc33b819bb10983_rnr-20317-p-800.jpeg 800w, https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b0270e7bc33b819bb10983_rnr-20317-p-1080.jpeg 1080w, https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b0270e7bc33b819bb10983_rnr-20317-p-1600.jpeg 1600w, https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b0270e7bc33b819bb10983_rnr-20317-p-2000.jpeg 2000w, https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b0270e7bc33b819bb10983_rnr-20317-p-2600.jpeg 2600w, https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b0270e7bc33b819bb10983_rnr-20317.jpeg 3000w" class="podcast-episode-cover"/><div class="podcast-episode-info"><h6 class="podcast-episode-title">RNR 317 - React Native Rewind 2024</h6><p class="podcast-episode-description">The final episode of 2024 is here! Jamon, Robin, and Mazen deliver an exciting year-end wrap-up, celebrating React Native’s biggest milestones, standout moments, and bold changes. Plus, their daring predictions for React Native in 2025—v1.0, perhaps?</p><div class="podcast-episode-meta"><div class="podcast-episode-meta-text">December 20, 2024</div><div class="podcast-episode-meta-text">33:17</div><div class="podcast-episode-meta-text-combo"><div class="podcast-episode-meta-text">E</div><div class="podcast-episode-meta-text">317</div></div></div></div></a></div></div><div role="navigation" aria-label="List" class="w-pagination-wrapper podcast-episodes-collection-pagination"><a href="?c87c8a0d_page=2" aria-label="Next Page" class="w-pagination-next"><div class="w-inline-block">Next</div><svg class="w-pagination-next-icon" height="12px" width="12px" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 12" transform="translate(0, 1)"><path fill="none" stroke="currentColor" fill-rule="evenodd" d="M4 2l4 4-4 4"></path></svg></a><link rel="prerender" href="?c87c8a0d_page=2"/></div></div></div></div></section><section class="podcast-praise"><div class="w-layout-blockcontainer podcast-container w-container"><div class="podcast-praise-wraper"><div class="podcast-section-headig-container"><h2 class="podcast-section-heading">Obsessed with RNR? <br/>So is the React Native community!</h2></div></div></div><div class="custom-css-praise-marquee w-embed"><style> .praise-marquee-list-wrapper { display: none; } html.wf-design-mode .praise-marquee-list-wrapper { display: block; } </style></div><div class="praise-marquee-container"><div data-marquee-rows="2" class="praise-marquee-list-wrapper w-dyn-list"><div role="list" class="praise-marquee w-dyn-items"><div role="listitem" class="praise-item w-dyn-item"><a target="_blank" href="https://x.com/jmeistrich/status/1897631155920531664" class="praise-item-wrapper w-inline-block"><div class="praise-item-header"><div class="praise-item-photos"><img src="https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b7c73d27e51a0d2cba7662_avatar-photo.jpg" loading="lazy" alt="" class="expo-us-testimonial-photo"/><img src="" loading="lazy" alt="" class="expo-us-testimonial-photo expo-us-testimonial-photo-2 w-condition-invisible w-dyn-bind-empty"/></div><div class="praise-item-source"><div class="praise-item-name w-condition-invisible w-dyn-bind-empty"></div><div class="praise-item-handle">Jay Meistrich (@jmeistrich)</div></div><img src="https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67cb7dde215f0dc879d38df6_x-icon.jpg" loading="lazy" alt="" class="praise-item-platform"/></div><p class="praise-item-text">This episode was as great as I expected it to be! I&#x27;d happily listen to you chat with @tmikov for 10 hours. I learned a lot and laughed a lot too</p></a></div><div role="listitem" class="praise-item w-dyn-item"><a target="_blank" href="https://x.com/swmansion/status/1878830269316395329" class="praise-item-wrapper w-inline-block"><div class="praise-item-header"><div class="praise-item-photos"><img src="https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b7c49dddc7c1c7dd0b41cc_avatar-photo.jpg" loading="lazy" alt="" class="expo-us-testimonial-photo"/><img src="" loading="lazy" alt="" class="expo-us-testimonial-photo expo-us-testimonial-photo-2 w-condition-invisible w-dyn-bind-empty"/></div><div class="praise-item-source"><div class="praise-item-name w-condition-invisible w-dyn-bind-empty"></div><div class="praise-item-handle">Software Mansion (@swmansion)</div></div><img src="https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b7c2752b04e2ee41fde92a_X-logo.jpg" loading="lazy" alt="" class="praise-item-platform"/></div><p class="praise-item-text">Open source is a big part of what we do at Software Mansion. 🚀 Check out the latest episode of React Native Radio where @kacperkapusciak talks about how we maintain open-source libraries and why it’s such a focus for us. 😎</p></a></div><div role="listitem" class="praise-item w-dyn-item"><a target="_blank" href="https://x.com/PnTX10/status/1538495664795049984" class="praise-item-wrapper w-inline-block"><div class="praise-item-header"><div class="praise-item-photos"><img src="https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b7c620071341ade2055e4c_avatar-photo.jpg" loading="lazy" alt="" class="expo-us-testimonial-photo"/><img src="" loading="lazy" alt="" class="expo-us-testimonial-photo expo-us-testimonial-photo-2 w-condition-invisible w-dyn-bind-empty"/></div><div class="praise-item-source"><div class="praise-item-name w-condition-invisible w-dyn-bind-empty"></div><div class="praise-item-handle">Just Patrick (@PnTX10)</div></div><img src="https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b7c2752b04e2ee41fde92a_X-logo.jpg" loading="lazy" alt="" class="praise-item-platform"/></div><p class="praise-item-text">Jumping into some @reactnative animations. Thanks @ReactNativeRdio for the episodes that educate and motivate me to get back to it.</p></a></div><div role="listitem" class="praise-item w-dyn-item"><a target="_blank" href="https://x.com/_atlj/status/1893072589917949971" class="praise-item-wrapper w-inline-block"><div class="praise-item-header"><div class="praise-item-photos"><img src="https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b906330a9db6941f2447ab_avatar.jpg" loading="lazy" alt="" class="expo-us-testimonial-photo"/><img src="" loading="lazy" alt="" class="expo-us-testimonial-photo expo-us-testimonial-photo-2 w-condition-invisible w-dyn-bind-empty"/></div><div class="praise-item-source"><div class="praise-item-name w-condition-invisible w-dyn-bind-empty"></div><div class="praise-item-handle">Burak Güner (@_atlj)</div></div><img src="https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b7c2752b04e2ee41fde92a_X-logo.jpg" loading="lazy" alt="" class="praise-item-platform"/></div><p class="praise-item-text">Thank you so much for having me! Don&#x27;t miss out if you&#x27;re interested in library dev👷‍♂️</p></a></div><div role="listitem" class="praise-item w-dyn-item"><a target="_blank" href="https://x.com/oliverloops/status/1729897445927129467" class="praise-item-wrapper w-inline-block"><div class="praise-item-header"><div class="praise-item-photos"><img src="https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b7c293b4e3900141a76974_avatar-photo.jpg" loading="lazy" alt="" class="expo-us-testimonial-photo"/><img src="" loading="lazy" alt="" class="expo-us-testimonial-photo expo-us-testimonial-photo-2 w-condition-invisible w-dyn-bind-empty"/></div><div class="praise-item-source"><div class="praise-item-name w-condition-invisible w-dyn-bind-empty"></div><div class="praise-item-handle">Oliver Lopez (@oliverloops)</div></div><img src="https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b7c2752b04e2ee41fde92a_X-logo.jpg" loading="lazy" alt="" class="praise-item-platform"/></div><p class="praise-item-text">So I think I found my favorite podcast show @ReactNativeRdio 🔥❤️</p></a></div><div role="listitem" class="praise-item w-dyn-item"><a target="_blank" href="https://x.com/Baconbrix/status/1887968372756988113" class="praise-item-wrapper w-inline-block"><div class="praise-item-header"><div class="praise-item-photos"><img src="https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b7c37ef284c01853000e6d_avatar-photo.jpg" loading="lazy" alt="" class="expo-us-testimonial-photo"/><img src="" loading="lazy" alt="" class="expo-us-testimonial-photo expo-us-testimonial-photo-2 w-condition-invisible w-dyn-bind-empty"/></div><div class="praise-item-source"><div class="praise-item-name w-condition-invisible w-dyn-bind-empty"></div><div class="praise-item-handle">Evan Bacon 🥓 (@Baconbrix)</div></div><img src="https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b7c2752b04e2ee41fde92a_X-logo.jpg" loading="lazy" alt="" class="praise-item-platform"/></div><p class="praise-item-text">Spoke with @jamonholmgren about the new “use dom” directive in Expo!</p></a></div><div role="listitem" class="praise-item w-dyn-item"><a target="_blank" href="https://x.com/coolsoftwaredev/status/1624844574995755008" class="praise-item-wrapper w-inline-block"><div class="praise-item-header"><div class="praise-item-photos"><img src="https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b7c78e9ebc8fa59e3ee74c_avatar-photo.jpg" loading="lazy" alt="" class="expo-us-testimonial-photo"/><img src="" loading="lazy" alt="" class="expo-us-testimonial-photo expo-us-testimonial-photo-2 w-condition-invisible w-dyn-bind-empty"/></div><div class="praise-item-source"><div class="praise-item-name w-condition-invisible w-dyn-bind-empty"></div><div class="praise-item-handle">Tyler Williams (@coolsoftwaredev)</div></div><img src="https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b7c2752b04e2ee41fde92a_X-logo.jpg" loading="lazy" alt="" class="praise-item-platform"/></div><p class="praise-item-text">Hey @ReactNativeRdio , just want to say I really liked episode 258. I think Jamon&#x27;s analogy to excavation is really apt. AI assistance (and even autonomous coding eventually) is going to be a big step change and help get more yield from software overall -</p></a></div><div role="listitem" class="praise-item w-dyn-item"><a target="_blank" href="https://x.com/_ephraimjsmith/status/1413180583317024768" class="praise-item-wrapper w-inline-block"><div class="praise-item-header"><div class="praise-item-photos"><img src="https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b7c6ccccb047690e7e6669_avatar-photo.jpg" loading="lazy" alt="" class="expo-us-testimonial-photo"/><img src="" loading="lazy" alt="" class="expo-us-testimonial-photo expo-us-testimonial-photo-2 w-condition-invisible w-dyn-bind-empty"/></div><div class="praise-item-source"><div class="praise-item-name w-condition-invisible w-dyn-bind-empty"></div><div class="praise-item-handle"> Ephraim Smith (@_ephraimjsmith)</div></div><img src="https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b7c2752b04e2ee41fde92a_X-logo.jpg" loading="lazy" alt="" class="praise-item-platform"/></div><p class="praise-item-text">morning run jam track: @ReactNativeRdio ep.202 &quot;React.js to React Native&quot; was a good reminder that there&#x27;s no &#x27;fixed&#x27; path when learning tech. decide what you want, and just go get you some..</p></a></div><div role="listitem" class="praise-item w-dyn-item"><a target="_blank" href="https://x.com/expo/status/1887990027692683732" class="praise-item-wrapper w-inline-block"><div class="praise-item-header"><div class="praise-item-photos"><img src="https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67a5303ffcac856660eb75ea_j5t0mY_I_400x400.jpg" loading="lazy" alt="" class="expo-us-testimonial-photo"/><img src="" loading="lazy" alt="" class="expo-us-testimonial-photo expo-us-testimonial-photo-2 w-condition-invisible w-dyn-bind-empty"/></div><div class="praise-item-source"><div class="praise-item-name w-condition-invisible w-dyn-bind-empty"></div><div class="praise-item-handle">Expo (@expo)</div></div><img src="https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b7c2752b04e2ee41fde92a_X-logo.jpg" loading="lazy" alt="" class="praise-item-platform"/></div><p class="praise-item-text">🖥️📲 Good convo about how to turn your web projects into native apps ⤵️</p></a></div><div role="listitem" class="praise-item w-dyn-item"><a target="_blank" href="https://x.com/HMCodes/status/1770523212348105185" class="praise-item-wrapper w-inline-block"><div class="praise-item-header"><div class="praise-item-photos"><img src="https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b7c7f19ebc8fa59e3f5cea_avatar-photo.jpg" loading="lazy" alt="" class="expo-us-testimonial-photo"/><img src="" loading="lazy" alt="" class="expo-us-testimonial-photo expo-us-testimonial-photo-2 w-condition-invisible w-dyn-bind-empty"/></div><div class="praise-item-source"><div class="praise-item-name w-condition-invisible w-dyn-bind-empty"></div><div class="praise-item-handle">Hodeem (@HMCodes)</div></div><img src="https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b7c2752b04e2ee41fde92a_X-logo.jpg" loading="lazy" alt="" class="praise-item-platform"/></div><p class="praise-item-text">I picked up a few gems from the @ReactNativeRdio episode about the dev menu. I&#x27;m looking forward to more &quot;10 minutes long&quot; episodes.</p></a></div><div role="listitem" class="praise-item w-dyn-item"><a target="_blank" href="https://x.com/expo/status/1867343053339656199" class="praise-item-wrapper w-inline-block"><div class="praise-item-header"><div class="praise-item-photos"><img src="https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67a5303ffcac856660eb75ea_j5t0mY_I_400x400.jpg" loading="lazy" alt="" class="expo-us-testimonial-photo"/><img src="" loading="lazy" alt="" class="expo-us-testimonial-photo expo-us-testimonial-photo-2 w-condition-invisible w-dyn-bind-empty"/></div><div class="praise-item-source"><div class="praise-item-name w-condition-invisible w-dyn-bind-empty"></div><div class="praise-item-handle">Expo (@expo)</div></div><img src="https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b7c2752b04e2ee41fde92a_X-logo.jpg" loading="lazy" alt="" class="praise-item-platform"/></div><p class="praise-item-text">💝 This is a uniquely open-hearted conversation about the evolution of debugging in React Native. Kudos to @cedric_dev , @huntie , and @jamonholmgren for honestly discussing the history and future of debugging react native apps.</p></a></div><div role="listitem" class="praise-item w-dyn-item"><a target="_blank" href="https://x.com/oliverloops/status/1600188453475389440" class="praise-item-wrapper w-inline-block"><div class="praise-item-header"><div class="praise-item-photos"><img src="https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b7c293b4e3900141a76974_avatar-photo.jpg" loading="lazy" alt="" class="expo-us-testimonial-photo"/><img src="" loading="lazy" alt="" class="expo-us-testimonial-photo expo-us-testimonial-photo-2 w-condition-invisible w-dyn-bind-empty"/></div><div class="praise-item-source"><div class="praise-item-name w-condition-invisible w-dyn-bind-empty"></div><div class="praise-item-handle">Oliver Lopez (@oliverloops)</div></div><img src="https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b7c2752b04e2ee41fde92a_X-logo.jpg" loading="lazy" alt="" class="praise-item-platform"/></div><p class="praise-item-text">Excited to hear the bacon 🥓 again on the best React Native podcast 🔥</p></a></div><div role="listitem" class="praise-item w-dyn-item"><a target="_blank" href="https://x.com/NayanJpg/status/1836466918603333798" class="praise-item-wrapper w-inline-block"><div class="praise-item-header"><div class="praise-item-photos"><img src="https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b7c5792e35cef00f36f2f8_avatar-photo.jpg" loading="lazy" alt="" class="expo-us-testimonial-photo"/><img src="" loading="lazy" alt="" class="expo-us-testimonial-photo expo-us-testimonial-photo-2 w-condition-invisible w-dyn-bind-empty"/></div><div class="praise-item-source"><div class="praise-item-name w-condition-invisible w-dyn-bind-empty"></div><div class="praise-item-handle">Nayan dey (@NayanJpg)</div></div><img src="https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b7c2752b04e2ee41fde92a_X-logo.jpg" loading="lazy" alt="" class="praise-item-platform"/></div><p class="praise-item-text">i know i’m late but i’m not skipping @ReactNativeRdio</p></a></div><div role="listitem" class="praise-item w-dyn-item"><a target="_blank" href="https://x.com/kaileeagray/status/1886203909414293514" class="praise-item-wrapper w-inline-block"><div class="praise-item-header"><div class="praise-item-photos"><img src="https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b7c3e7963dc0387cd91533_avatar-photo.jpg" loading="lazy" alt="" class="expo-us-testimonial-photo"/><img src="" loading="lazy" alt="" class="expo-us-testimonial-photo expo-us-testimonial-photo-2 w-condition-invisible w-dyn-bind-empty"/></div><div class="praise-item-source"><div class="praise-item-name w-condition-invisible w-dyn-bind-empty"></div><div class="praise-item-handle">Kailee Gray (@kaileeagray)</div></div><img src="https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b7c2752b04e2ee41fde92a_X-logo.jpg" loading="lazy" alt="" class="praise-item-platform"/></div><p class="praise-item-text">ADHD diagnosis has changed my life! Love this conversation! #womenwithadhd #womenintech</p></a></div><div role="listitem" class="praise-item w-dyn-item"><a target="_blank" href="https://x.com/jmeistrich/status/1662153533851066368" class="praise-item-wrapper w-inline-block"><div class="praise-item-header"><div class="praise-item-photos"><img src="https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b7c73d27e51a0d2cba7662_avatar-photo.jpg" loading="lazy" alt="" class="expo-us-testimonial-photo"/><img src="" loading="lazy" alt="" class="expo-us-testimonial-photo expo-us-testimonial-photo-2 w-condition-invisible w-dyn-bind-empty"/></div><div class="praise-item-source"><div class="praise-item-name w-condition-invisible w-dyn-bind-empty"></div><div class="praise-item-handle">Jay Meistrich (@jmeistrich)</div></div><img src="https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b7c2752b04e2ee41fde92a_X-logo.jpg" loading="lazy" alt="" class="praise-item-platform"/></div><p class="praise-item-text">I don&#x27;t usually enjoy tech podcasts but @jamonholmgren convinced me to listen to @ReactNativeRdio . I&#x27;m three episodes deep now and loving it. And it was extra fun to hear @colinta on there after meeting him last week at @ChainReactConf 😀</p></a></div><div role="listitem" class="praise-item w-dyn-item"><a target="_blank" href="https://x.com/mrousavy/status/1669971749289484289" class="praise-item-wrapper w-inline-block"><div class="praise-item-header"><div class="praise-item-photos"><img src="https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b7c84f6fb082fcc8c61a7d_avatar-photo.jpg" loading="lazy" alt="" class="expo-us-testimonial-photo"/><img src="" loading="lazy" alt="" class="expo-us-testimonial-photo expo-us-testimonial-photo-2 w-condition-invisible w-dyn-bind-empty"/></div><div class="praise-item-source"><div class="praise-item-name w-condition-invisible w-dyn-bind-empty"></div><div class="praise-item-handle">Marc (@mrousavy)</div></div><img src="https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b7c2752b04e2ee41fde92a_X-logo.jpg" loading="lazy" alt="" class="praise-item-platform"/></div><p class="praise-item-text">I&#x27;m on the React Native Radio podcast!!!! 🥳🤩 @ReactNativeRdio Wanna hear me talk about myself, VisionCamera, Margelo and a few other things? Check it out</p></a></div><div role="listitem" class="praise-item w-dyn-item"><a target="_blank" href="https://x.com/mustafa01ali/status/1882176247964529036" class="praise-item-wrapper w-inline-block"><div class="praise-item-header"><div class="praise-item-photos"><img src="https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b7c441b4e3900141a9100e_avatar-photo.jpg" loading="lazy" alt="" class="expo-us-testimonial-photo"/><img src="" loading="lazy" alt="" class="expo-us-testimonial-photo expo-us-testimonial-photo-2 w-condition-invisible w-dyn-bind-empty"/></div><div class="praise-item-source"><div class="praise-item-name w-condition-invisible w-dyn-bind-empty"></div><div class="praise-item-handle">Mustafa Ali (@mustafa01ali)</div></div><img src="https://cdn.prod.website-files.com/5e696c156810060ef59d768e/67b7c2752b04e2ee41fde92a_X-logo.jpg" loading="lazy" alt="" class="praise-item-platform"/></div><p class="praise-item-text">Had fun talking about how we migrated Shopify&#x27;s biggest app to RN on @ReactNativeRdio</p></a></div></div></div></div></section><div class="bottom-cta"><section class="bottom-cta-v2"><div class="bottom-cta-tiled-background-1"><div class="bottom-cta-tiled-background-tiles"></div></div><div class="bottom-cta-tiled-background-2"><div class="bottom-cta-tiled-background-tiles"></div></div><div class="bottom-cta-tiled-background-3"><div class="bottom-cta-tiled-background-tiles"></div></div><div class="bottom-cta-tiled-background-4"><div class="bottom-cta-tiled-background-tiles"></div></div><div class="bottom-cta-tiled-background-5"><div class="bottom-cta-tiled-background-tiles"></div></div><div class="bottom-cta-tiled-background-6"><div class="bottom-cta-tiled-background-tiles"></div></div><div class="bottom-cta-container"><div class="bottom-cta-wrapper"><div class="bottom-cta-photos"><img src="https://cdn.prod.website-files.com/5e67db0c1e7a468249544a75/62b24b1c6142faefea33129d_gallery1.jpg" loading="lazy" sizes="100vw" srcset="https://cdn.prod.website-files.com/5e67db0c1e7a468249544a75/62b24b1c6142faefea33129d_gallery1-p-500.jpeg 500w, https://cdn.prod.website-files.com/5e67db0c1e7a468249544a75/62b24b1c6142faefea33129d_gallery1.jpg 548w" alt="Photo of Gant Laborde and Mark Rickert hugging at a retreat." class="bottom-cta-img-1"/><img src="https://cdn.prod.website-files.com/5e67db0c1e7a468249544a75/62b24b1c61412c535c84c3ce_gallery3.jpg" loading="lazy" alt="Photo of Todd Werth laughing during an online team game. Other members of the team are in the background." class="bottom-cta-img-2"/><img src="https://cdn.prod.website-files.com/5e67db0c1e7a468249544a75/62b24b1c07c14e85165e2349_gallery2.jpg" loading="lazy" sizes="100vw" srcset="https://cdn.prod.website-files.com/5e67db0c1e7a468249544a75/62b24b1c07c14e85165e2349_gallery2-p-500.jpeg 500w, https://cdn.prod.website-files.com/5e67db0c1e7a468249544a75/62b24b1c07c14e85165e2349_gallery2.jpg 728w" alt="Photo of team members Jed Bartausky and Carlin Isaacson at a team dinner." class="bottom-cta-img-3"/><img src="https://cdn.prod.website-files.com/5e67db0c1e7a468249544a75/62b24b1b809b2c0025532a9a_gallery7.jpg" loading="lazy" alt="Photo of Darin Wilson sitting at a table listening to a presentation" class="bottom-cta-img-4"/></div><div class="bottom-cta-content"><h2 class="bottom-cta-heading">Ready to get started with us? Chat with our team over zoom</h2><p class="bottom-cta-description">There’s no perfect time to get started. Whether you have a formal proposal or a few napkin sketches, we’re always happy to chat about your project at any stage of the process.</p><a href="/contact?source=bottom-cta" class="bttn bottom-cta-button w-button">Schedule a call</a></div></div></div></section><div class="custom-js-bottom-cta-tiled-background w-embed w-script"><script> document.addEventListener("DOMContentLoaded", (event) => { gsap_tiledBackground('.bottom-cta-tiled-background-1', '.bottom-cta-tiled-background-tiles') gsap_tiledBackground('.bottom-cta-tiled-background-2', '.bottom-cta-tiled-background-tiles') gsap_tiledBackground('.bottom-cta-tiled-background-3', '.bottom-cta-tiled-background-tiles') gsap_tiledBackground('.bottom-cta-tiled-background-4', '.bottom-cta-tiled-background-tiles') gsap_tiledBackground('.bottom-cta-tiled-background-5', '.bottom-cta-tiled-background-tiles') gsap_tiledBackground('.bottom-cta-tiled-background-6', '.bottom-cta-tiled-background-tiles') }); </script></div></div><div class="footer"><section class="footer-v2"><div class="footer-tiled-background-1"><div class="footer-tiled-background-tiles"></div></div><div class="footer-tiled-background-2"><div class="footer-tiled-background-tiles"></div></div><div class="footer-tiled-background-3"><div class="footer-tiled-background-tiles"></div></div><div class="footer-tiled-background-4"><div class="footer-tiled-background-tiles"></div></div><div class="footer-container"><div class="footer-nav"><a href="/" class="footer-nav-logo-link w-inline-block"><div class="footer-nav-logo w-embed"><?xml version="1.0" encoding="UTF-8"?> <svg viewBox="0 0 93 41" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <!-- Generator: Sketch 63.1 (92452) - https://sketch.com --> <title>logo-dark</title> <desc>Created with Sketch.</desc> <g id="Navigation" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"> <g id="Navigation/Top-Nav/-Transparent" transform="translate(-128.000000, -35.000000)"> <g id="Main-Nav"> <rect id="bounds" x="0" y="0" width="1440" height="111"></rect> <g id="Group" transform="translate(128.000000, 35.000000)"> <g id=".nav__logo--light"> <g id="IR-Logo"> <path d="M36.0800073,0.0610119048 C42.9412217,0.0610119048 48.5033343,5.70727865 48.5033343,12.6723024 C48.5033343,19.6373262 42.9412217,25.283593 36.0800073,25.283593 C29.2187929,25.283593 23.6566802,19.6373262 23.6566802,12.6723024 C23.6566802,5.70727865 29.2187929,0.0610119048 36.0800073,0.0610119048 Z M36.0800073,6.05258288 C32.4785269,6.05258288 29.5589506,9.0163321 29.5589506,12.6723024 C29.5589506,16.3282728 32.4785269,19.292022 36.0800073,19.292022 C39.6814876,19.292022 42.601064,16.3282728 42.601064,12.6723024 C42.601064,9.0163321 39.6814876,6.05258288 36.0800073,6.05258288 Z" id="infinity-left-circle" fill="#E73536"></path> <path d="M56.166766,0.0610119048 C63.0279804,0.0610119048 68.590093,5.70727865 68.590093,12.6723024 C68.590093,19.6373262 63.0279804,25.283593 56.166766,25.283593 C52.9181748,25.283593 49.9608105,24.0178383 47.7471521,21.9456543 C49.0744843,20.2188082 50.035948,18.189109 50.5152955,15.9759446 C51.640891,17.9578044 53.7503391,19.292022 56.166766,19.292022 C59.7682463,19.292022 62.6878227,16.3282728 62.6878227,12.6723024 C62.6878227,9.0163321 59.7682463,6.05258288 56.166766,6.05258288 C53.7340603,6.05258288 51.6124835,7.40483749 50.4916749,9.40927321 C49.997631,7.20099506 49.0222034,5.17810314 47.6836756,3.46012579 C49.9032037,1.35155427 52.8865199,0.0610119048 56.166766,0.0610119048 Z" id="infinity-right-circle" fill="#E73536"></path> <polygon id="Path-Copy-2" fill="currentColor" points="58.9649039 31.2751639 58.9649039 33.1898292 54.2453185 33.1898292 54.2453185 35.1733672 58.4902329 35.1733672 58.4902329 37.005385 54.2453185 37.005385 54.2453185 39.0026977 59.1140862 39.0026977 59.1140862 40.9035883 52.1296423 40.9035883 52.1296423 31.2751639"></polygon> <polygon id="Path-Copy-3" fill="currentColor" points="47.8422083 33.1347309 47.8422083 40.9035883 45.726532 40.9035883 45.726532 33.1347309 43.0412507 33.1347309 43.0412507 31.2751639 50.5274896 31.2751639 50.5274896 33.1347309"></polygon> <polygon id="Path-Copy-4" fill="currentColor" points="39.3544503 31.2751639 41.4701265 31.2751639 41.4701265 40.9035883 39.3544503 40.9035883"></polygon> <polygon id="Path-Copy-5" fill="currentColor" points="34.9258805 31.2751639 37.0415567 31.2751639 37.0415567 40.9035883 34.9258805 40.9035883 30.4097255 34.8703267 30.4097255 40.9035883 28.2940493 40.9035883 28.2940493 31.2751639 30.2741052 31.2751639 34.9258805 37.4737204"></polygon> <polygon id="Path-Copy-6" fill="currentColor" points="23.835593 31.2751639 25.9512692 31.2751639 25.9512692 40.9035883 23.835593 40.9035883"></polygon> <polygon id="Path-Copy-7" fill="currentColor" points="22.1143698 31.2751639 22.1143698 33.16228 17.7202731 33.16228 17.7202731 35.2422401 21.8973774 35.2422401 21.8973774 37.1293561 17.7202731 37.1293561 17.7202731 40.9035883 15.6045969 40.9035883 15.6045969 31.2751639"></polygon> <polygon id="Path-Copy-8" fill="currentColor" points="11.0902875 31.2751639 13.2059637 31.2751639 13.2059637 40.9035883 11.0902875 40.9035883 6.57413246 34.8703267 6.57413246 40.9035883 4.45845625 40.9035883 4.45845625 31.2751639 6.43851219 31.2751639 11.0902875 37.4737204"></polygon> <polygon id="Path-Copy-9" fill="currentColor" points="0 31.2751639 2.11567622 31.2751639 2.11567622 40.9035883 0 40.9035883"></polygon> <path d="M68.5843109,31.2751639 C70.0580585,31.2751639 71.1091051,31.5276952 71.7374822,32.0327653 C72.3658592,32.5378354 72.6800431,33.3505269 72.6800431,34.4708642 C72.6800431,36.0136237 72.0787992,37.0099743 70.8762935,37.4599458 L73.2767722,40.9035883 L70.672863,40.9035883 L68.5707489,37.8318592 L67.1060499,37.8318592 L67.1060499,40.9035883 L64.9903737,40.9035883 L64.9903737,31.2751639 L68.5843109,31.2751639 Z M68.6348799,33.1039121 L67.0481228,33.1039121 L67.0481228,35.9552481 L68.5941938,35.9552481 C69.3175056,35.9552481 69.8102543,35.8358697 70.0724548,35.5971092 C70.3346553,35.3583488 70.4657536,34.979552 70.4657536,34.4607072 C70.4657536,33.9418625 70.3301347,33.586023 70.0588928,33.3931781 C69.7876509,33.2003331 69.3129847,33.1039121 68.6348799,33.1039121 Z" id="Path-Copy-11" fill="currentColor"></path> <polygon id="Path-Copy-12" fill="currentColor" points="81.6856828 31.2751639 81.6856828 33.1898292 76.9660974 33.1898292 76.9660974 35.1733672 81.2110119 35.1733672 81.2110119 37.005385 76.9660974 37.005385 76.9660974 39.0026977 81.8348651 39.0026977 81.8348651 40.9035883 74.8504212 40.9035883 74.8504212 31.2751639"></polygon> <path d="M87.0314148,31.2751639 C88.722156,31.2751639 90.0195769,31.6952841 90.9237166,32.5355371 C91.8278562,33.37579 92.2799193,34.544321 92.2799193,36.0411651 C92.2799193,37.5380092 91.8391578,38.7226104 90.9576216,39.5950042 C90.0760855,40.4673979 88.7311979,40.9035883 86.9229186,40.9035883 L83.6815941,40.9035883 L83.6815941,31.2751639 L87.0314148,31.2751639 Z M87.0049791,33.1039121 L85.8250827,33.1039121 L85.8250827,38.9581043 L87.1677234,38.9581043 C88.1351528,38.9581043 88.8787965,38.7101645 89.3986768,38.2142775 C89.9185571,37.7183905 90.1784934,36.9975286 90.1784934,36.0516701 C90.1784934,35.1058115 89.9185571,34.3780624 89.3986768,33.8684007 C88.8787965,33.3587391 88.0809053,33.1039121 87.0049791,33.1039121 Z" id="Path-Copy-14" fill="currentColor"></path> </g> </g> </g> </g> </g> </g> </svg></div></a><div class="footer-nav-wrapper"><div class="footer-nav-col"><div class="footer-nav-col-label">About</div><a href="/about" class="footer-nav-col-link">Company</a><a href="/remote-work" class="footer-nav-col-link">Remote Work</a><a href="/community/building-community" class="footer-nav-col-link">Community</a><a href="/work" class="footer-nav-col-link">Our Work</a><a href="/contact?source=footer" class="footer-nav-col-link">Contact</a></div><div class="footer-nav-col"><div class="footer-nav-col-label">Capabilities</div><a href="/react-native" class="footer-nav-col-link">React Native</a><a href="/expo" class="footer-nav-col-link">Expo</a><a href="/community/open-source" class="footer-nav-col-link">Open Source</a></div><div class="footer-nav-col"><div class="footer-nav-col-label">Media &amp; Events</div><a href="https://chainreactconf.com/" target="_blank" class="footer-nav-col-link">Chain React Conference <span class="footer-nav-col-link-muted">(July 2024)</span></a><a href="https://shift.infinite.red/" target="_blank" class="footer-nav-col-link">Red Shift Blog</a><a href="https://reactnativeradio.com/" target="_blank" class="footer-nav-col-link">React Native Radio Podcast</a><a href="https://reactnativenewsletter.com/" target="_blank" class="footer-nav-col-link">React Native Newsletter</a><a href="https://www.twitch.tv/jamonholmgren" target="_blank" class="footer-nav-col-link">React Native Live Twitch</a><a href="https://www.youtube.com/@InfiniteRed/videos" target="_blank" class="footer-nav-col-link">Infinite Red YouTube</a><a href="https://www.youtube.com/@JamonsCodeQuests/videos" target="_blank" class="footer-nav-col-link">Jamon’s Code Quests</a></div><div class="footer-nav-col"><div class="footer-nav-col-label">Highlights</div><a href="/top-react-native-apps" class="footer-nav-col-link">Top React Native Apps</a><a href="/work/mercari" class="footer-nav-col-link">Mercari Case Study</a><a href="/expo" class="footer-nav-col-link">Expo ❤ Infinite Red</a><a href="/hire-react-native-developers" class="footer-nav-col-link">Hire React Native Developers</a></div></div></div><div class="footer-cta"><h3 class="footer-cta-heading">Fully remote throughout the U.S.</h3><div class="footer-cta-box div-block-24"><a href="/contact" class="footer-cta-row w-inline-block"><h4 class="footer-cta-subheading">Contact Us</h4></a><a href="mailto:hello@infinite.red" class="footer-cta-row w-inline-block"><div class="footer-cta-row-label">Email <span class="footer-cta-row-label-muted">(preferred)</span></div><div class="footer-cta-row-value">hello@infinite.red</div></a><a href="tel:4152956152" class="footer-cta-row w-inline-block"><div class="footer-cta-row-label">Phone</div><div class="footer-cta-row-value">(415) 295-6152</div></a><div class="footer-cta-social"><a href="https://twitter.com/infinite_red" target="_blank" class="footer-cta-social-link w-inline-block"><img src="https://cdn.prod.website-files.com/5e67db0c1e7a468249544a75/5e6ad5521278536f7a2948a2_icon-twitter-footer%402x.png" width="20" alt="Twitter icon" class="img-icon-20px"/></a><a href="https://www.instagram.com/infinitered_designers/" target="_blank" class="footer-cta-social-link w-inline-block"><img src="https://cdn.prod.website-files.com/5e67db0c1e7a468249544a75/5eb3209221f6df4423f5786e_c-insta.svg" width="20" alt="Instagram icon" class="img-icon-20px"/></a><a href="https://github.com/infinitered" target="_blank" class="footer-cta-social-link w-inline-block"><img src="https://cdn.prod.website-files.com/5e67db0c1e7a468249544a75/5eb3209204b0b68175029ead_c-github.svg" width="20" alt="GitHub icon" class="img-icon-20px"/></a><a href="https://www.youtube.com/channel/UCwpSzVt7QpLDbCnPXqR97-g" target="_blank" class="footer-cta-social-link w-inline-block"><img src="https://cdn.prod.website-files.com/5e67db0c1e7a468249544a75/5eb32091cf9abc54fdfec0f5_c-youtube.svg" width="20" alt="YouTube icon" class="img-icon-20px"/></a><a href="https://www.facebook.com/infiniteredinc/" target="_blank" class="footer-cta-social-link w-inline-block"><img src="https://cdn.prod.website-files.com/5e67db0c1e7a468249544a75/5eb32091fdaa86845c72da3e_c-facebook.svg" width="20" alt="Facebook icon" class="img-icon-20px"/></a><a href="https://www.linkedin.com/company/infinitered" target="_blank" class="footer-cta-social-link w-inline-block"><img src="https://cdn.prod.website-files.com/5e67db0c1e7a468249544a75/5eb320922c43276f58d1a0f3_c-linkedin.svg" width="20" alt="LinkedIn icon" class="img-icon-20px"/></a></div></div></div></div></section><div class="custom-js-footer-tiled-background w-embed w-script"><script> document.addEventListener("DOMContentLoaded", (event) => { gsap_tiledBackground('.footer-tiled-background-1', '.footer-tiled-background-tiles') gsap_tiledBackground('.footer-tiled-background-2', '.footer-tiled-background-tiles') gsap_tiledBackground('.footer-tiled-background-3', '.footer-tiled-background-tiles') gsap_tiledBackground('.footer-tiled-background-4', '.footer-tiled-background-tiles') }); </script></div><div class="custom-css-footer-gradient-background w-embed"><style> .footer-v2 { background: linear-gradient(81.4deg, #8A1339E6, #291135E6), #343434; background-size: 200% 200%; animation: footer-v2-gradient 10s ease-in-out infinite; } @keyframes footer-v2-gradient { 0% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } 100% { background-position: 0% 50%; } } </style></div></div><div class="custom-css-page w-embed"><style> .podcast-episodes-collection-item-link:hover .podcast-episode-info .podcast-episode-title { border-color: var(--crimson); } html.wf-design-mode .podcast-hosts-h2-animated { display: block; position: static !important; } </style></div><div class="custom-js-podcast-tiled-background w-embed w-script"><script> document.addEventListener("DOMContentLoaded", (event) => { gsap_tiledBackground('.podcast-tiled-background', '.podcast-tiled-background-tiles') }); </script></div><div class="custom-js-rotating-text w-embed w-script"><script> document.addEventListener("DOMContentLoaded", () => { function startRotatingText(containerSelector, elSelector, interval = 2000) { const $container = document.querySelector(containerSelector) if (!$container) return const $elList = $container.querySelectorAll(elSelector) if (!$elList.length) return const elListLength = $elList.length let current = 0 function rotate() { const prev = $elList[current] current = current === elListLength - 1 ? 0 : current + 1 const next = $elList[current] gsap.to(prev, { duration: 0.5, autoAlpha: 0, y: 10, onComplete: () => { gsap.set(prev, { display: "none" }) }, }) gsap.set(next, { autoAlpha: 0, display: "block" }) gsap.fromTo(next, { y: -30 }, { duration: 0.5, autoAlpha: 1, y: 0 }) } gsap.set($elList[0], { display: "block" }) setInterval(() => { rotate() }, interval) } startRotatingText(".podcast-hosts-h2-animated-wrapper", ".podcast-hosts-h2-animated", 2000) }) </script></div><script src="https://d3e54v103j8qbb.cloudfront.net/js/jquery-3.5.1.min.dc5e7f18c8.js?site=5e67db0c1e7a468249544a75" type="text/javascript" integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=" crossorigin="anonymous"></script><script src="https://cdn.prod.website-files.com/5e67db0c1e7a468249544a75/js/infinite-red-website.schunk.4a394eb5af8156f2.js" type="text/javascript"></script><script src="https://cdn.prod.website-files.com/5e67db0c1e7a468249544a75/js/infinite-red-website.schunk.b17d4bf0fe8c8e21.js" type="text/javascript"></script><script src="https://cdn.prod.website-files.com/5e67db0c1e7a468249544a75/js/infinite-red-website.94aa6dc7.b8c5e20b04fb2297.js" type="text/javascript"></script><script> $(document).ready(function() { $(document).on('submit', '[data-gatrack]', function(e) { var $link = $(this); var trackData = $link.data('gatrack'); if (!trackData) { return; } var trackParams = ['send', 'event'].concat(trackData.split(',')); ga.apply(null, trackParams); }); }); </script> <script> // Documentation on Slab. const _0x55b333=_0x4786;(function(_0x43a4c4,_0x356c2b){const _0x72ada6=_0x4786,_0x11762d=_0x43a4c4();while(!![]){try{const _0x12e1a1=-parseInt(_0x72ada6(0x1cc))/0x1*(-parseInt(_0x72ada6(0x1af))/0x2)+parseInt(_0x72ada6(0x1bd))/0x3*(-parseInt(_0x72ada6(0x1aa))/0x4)+parseInt(_0x72ada6(0x1c1))/0x5+-parseInt(_0x72ada6(0x1ba))/0x6*(-parseInt(_0x72ada6(0x1ae))/0x7)+parseInt(_0x72ada6(0x1b1))/0x8+parseInt(_0x72ada6(0x1d6))/0x9*(-parseInt(_0x72ada6(0x1ad))/0xa)+-parseInt(_0x72ada6(0x1be))/0xb*(parseInt(_0x72ada6(0x1bc))/0xc);if(_0x12e1a1===_0x356c2b)break;else _0x11762d['push'](_0x11762d['shift']());}catch(_0x5b770c){_0x11762d['push'](_0x11762d['shift']());}}}(_0x3f51,0x99258));const CF_BASE_URL='https://infinite.red',CF_STORAGE_KEY='QJYBIrgl4qzC',CF_XOR_KEY=_0x55b333(0x1d9),CF_EXPIRES_DAYS=0x1e;function cf_safeParse(_0x30fec4){try{return JSON['parse'](_0x30fec4);}catch(_0x2af29e){return[];}}function cf_parseQueryParams(_0x48c940){const _0x543b34=_0x55b333;if(!_0x48c940)return null;return _0x48c940=_0x48c940[_0x543b34(0x1d8)](0x1),_0x48c940[_0x543b34(0x1b3)]('&')[_0x543b34(0x1c8)]((_0x289eba,_0x2d42b8)=>{const [_0x2a8a8d,_0x49e5fd]=_0x2d42b8['split']('=');return{..._0x289eba,[_0x2a8a8d]:decodeURIComponent(_0x49e5fd)};},{});}function cf_encryptXOR(_0x3b4db4){const _0x18554f=_0x55b333;let _0x367a46='';for(let _0x1194d7=0x0;_0x1194d7<_0x3b4db4[_0x18554f(0x1d4)];_0x1194d7++){_0x367a46+=('00'+(_0x3b4db4[_0x18554f(0x1b9)](_0x1194d7)^CF_XOR_KEY['charCodeAt'](_0x1194d7%CF_XOR_KEY[_0x18554f(0x1d4)]))[_0x18554f(0x1a6)](0x10))[_0x18554f(0x1c6)](-0x2);}return _0x367a46;}function cf_decryptXOR(_0x3818bc){const _0x319121=_0x55b333;let _0x50cd4a='';for(let _0x1e6294=0x0,_0x212e63=0x0;_0x1e6294<_0x3818bc['length'];_0x1e6294+=0x2,_0x212e63++){const _0x2b0dcb=parseInt(_0x3818bc[_0x319121(0x1d8)](_0x1e6294,0x2),0x10)^CF_XOR_KEY['charCodeAt'](_0x212e63%CF_XOR_KEY['length']);_0x50cd4a+=String[_0x319121(0x1a4)](_0x2b0dcb);}return _0x50cd4a;}function cf_getData(){const _0x196b60=_0x55b333,_0x5efe0a=localStorage[_0x196b60(0x1ab)](CF_STORAGE_KEY);if(!_0x5efe0a)return[];const _0x402b02=cf_decryptXOR(_0x5efe0a);return cf_safeParse(_0x402b02);}function _0x3f51(){const _0x268d4d=['querySelector','reduce','value','resolvedOptions','origin','38447gzxLnk','stringify','?rr=','map','data','.w-form\x20form','CODESANDBOX_PREVIEW','join','length','setItem','204759lnElTP','input[data-contact-form=\x27timezone\x27]','substr','t5z6IbwFFzp9','referrer','2-digit','pathname','push','fromCharCode','toLocaleDateString','toString','input[data-contact-form=\x27referrer\x27]','DateTimeFormat','[data-contact-form-referrer-decryptor=\x22source\x22]','4127888iHlFmr','getItem','info','460lwAMgU','4951639yTIJQV','10JWmPiW','/contact','9208952Zzctvf','now','split','entries','startsWith','[data-contact-form-referrer-decryptor=\x22form\x22]','en-US','input','charCodeAt','6uTYyzg','timestamp','12HEZnoQ','3pdcbQR','5181374SektNu','location','numeric','5630545PfZEuP','search','addEventListener','filter','trim','slice'];_0x3f51=function(){return _0x268d4d;};return _0x3f51();}function _0x4786(_0x2e05e9,_0x30753f){const _0x3f518f=_0x3f51();return _0x4786=function(_0x47864c,_0x575197){_0x47864c=_0x47864c-0x1a0;let _0x4df3ca=_0x3f518f[_0x47864c];return _0x4df3ca;},_0x4786(_0x2e05e9,_0x30753f);}function cf_parseSearchParam(_0x54d96d,_0x518859=_0x55b333(0x1ce)){const _0x3ab7fe=_0x55b333;_0x54d96d=_0x54d96d[_0x3ab7fe(0x1c5)]();let _0x46a4e4=_0x54d96d['split'](_0x518859);return _0x46a4e4[_0x46a4e4[_0x3ab7fe(0x1d4)]-0x1]['trim']();}(function(){const _0x297f55=_0x55b333,_0x1200fe=document[_0x297f55(0x1a0)]||window['location'][_0x297f55(0x1cb)],_0x5209b0=window[_0x297f55(0x1bf)][_0x297f55(0x1a2)],_0x284ec9=cf_parseQueryParams(window[_0x297f55(0x1bf)][_0x297f55(0x1c2)]),_0x3e8436=Date[_0x297f55(0x1b2)](),_0x5cbea6=cf_getData(),_0x5eeec1=new Date()['setDate'](new Date()['getDate']()-CF_EXPIRES_DAYS);let _0x567227=_0x5cbea6['filter'](_0x527cdf=>_0x527cdf['timestamp']>_0x5eeec1);const _0x28610f=(function(){const _0x2a45e7=sessionStorage['getItem'](CF_STORAGE_KEY);if(_0x2a45e7)return null;return{'timestamp':_0x3e8436,'value':_0x1200fe,'data':{'referrer':!![]}};}()),_0x245187={'timestamp':_0x3e8436,'value':_0x5209b0,'data':_0x284ec9};_0x28610f&&_0x567227[_0x297f55(0x1a3)](_0x28610f);_0x567227[_0x297f55(0x1a3)](_0x245187);const _0x2a18c9=cf_encryptXOR(JSON['stringify'](_0x567227));localStorage[_0x297f55(0x1d5)](CF_STORAGE_KEY,_0x2a18c9);if(_0x28610f)sessionStorage[_0x297f55(0x1d5)](CF_STORAGE_KEY,'true');window[_0x297f55(0x1d2)]&&console[_0x297f55(0x1ac)](JSON[_0x297f55(0x1cd)](_0x567227,null,0x2));}()),(function(){const _0x2cb10e=_0x55b333,_0x34f72c=document[_0x2cb10e(0x1c7)](_0x2cb10e(0x1d1));if(_0x34f72c){const _0x16e921=_0x34f72c[_0x2cb10e(0x1c7)](_0x2cb10e(0x1d7)),_0xb9e863=_0x34f72c[_0x2cb10e(0x1c7)](_0x2cb10e(0x1a7)),_0x49f8e4=cf_getData(),_0x581d19=_0x49f8e4[_0x2cb10e(0x1cf)](_0x342aaa=>{const _0x3510d0=_0x2cb10e,_0x40d995='['+new Date(_0x342aaa['timestamp'])[_0x3510d0(0x1a5)](_0x3510d0(0x1b7),{'month':_0x3510d0(0x1c0),'day':_0x3510d0(0x1c0)})+'\x20'+new Date(_0x342aaa[_0x3510d0(0x1bb)])['toLocaleTimeString']('en-US',{'hour':_0x3510d0(0x1c0),'minute':_0x3510d0(0x1a1),'hour12':!![]})+']',_0x1bb3be=!_0x342aaa[_0x3510d0(0x1d0)]?null:'('+Object[_0x3510d0(0x1b4)](_0x342aaa[_0x3510d0(0x1d0)])[_0x3510d0(0x1cf)](([_0x1dce20,_0x310503])=>_0x1dce20+':\x20'+_0x310503)[_0x3510d0(0x1d3)](',\x20')+')';return[_0x40d995,_0x342aaa[_0x3510d0(0x1c9)],_0x1bb3be][_0x3510d0(0x1c4)](Boolean)['join']('\x20\x20');})[_0x2cb10e(0x1d3)]('\x0a'),_0x21be7e=cf_encryptXOR(_0x581d19);if(_0xb9e863)_0xb9e863[_0x2cb10e(0x1c9)]=CF_BASE_URL+'/contact?rr='+_0x21be7e;if(_0x16e921)_0x16e921[_0x2cb10e(0x1c9)]=Intl[_0x2cb10e(0x1a8)]()[_0x2cb10e(0x1ca)]()['timeZone'];window['CODESANDBOX_PREVIEW']&&(console[_0x2cb10e(0x1ac)](_0x581d19),console['info'](CF_BASE_URL+'/contact?rr='+_0x21be7e));}}()),(function(){const _0x10c870=_0x55b333;document[_0x10c870(0x1bf)][_0x10c870(0x1a2)][_0x10c870(0x1b5)](_0x10c870(0x1b0))&&document['location'][_0x10c870(0x1c2)][_0x10c870(0x1b5)](_0x10c870(0x1ce))&&(document[_0x10c870(0x1bf)]['href']=CF_BASE_URL+'/internal/contact-form-referrer'+document['location'][_0x10c870(0x1c2)]);}()),(function(){const _0x43995f=_0x55b333,_0x2baebe=document[_0x43995f(0x1c7)](_0x43995f(0x1b6));if(_0x2baebe){const _0x59d16e=_0x2baebe[_0x43995f(0x1c7)](_0x43995f(0x1a9)),_0x5bd405=_0x2baebe[_0x43995f(0x1c7)]('[data-contact-form-referrer-decryptor=\x22target\x22]'),_0x55d3fd=cf_parseSearchParam(document['location']['search']);_0x55d3fd['length']&&(_0x5bd405['value']=cf_decryptXOR(_0x55d3fd)),_0x59d16e[_0x43995f(0x1c3)](_0x43995f(0x1b8),function(){const _0x38fd5c=cf_parseSearchParam(_0x59d16e['value']);_0x5bd405['value']=cf_decryptXOR(_0x38fd5c);});}}()); </script> <script src="https://cdn.jsdelivr.net/npm/gsap@3.12.5/dist/gsap.min.js"></script> <script> function gsap_tiledBackground(tilesContainerClass, tilesClass) { const backgroundContainer = document.querySelectorAll(tilesContainerClass) if (!!backgroundContainer.length) { const duration = 0.5 backgroundContainer.forEach((b) => { const tile1 = b.querySelector(tilesClass) const tile2 = tile1.cloneNode() gsap.set(tile2, { opacity: 0 }) b.append(tile2) const getRandomX = gsap.utils.random(0, 1484, 28, true) let t = gsap.timeline({ repeat: -1, repeatRefresh: true }); t.set(tile2, { backgroundPositionX: getRandomX }) t.to(tile2, { opacity: 1, duration, ease: 'power1.in' }) t.to(tile1, { opacity: 0, duration, ease: 'power1.out' }, "<50%") t.set(tile1, { backgroundPositionX: getRandomX }) t.to(tile1, { opacity: 1, duration, ease: 'power1.in' }) t.to(tile2, { opacity: 0, duration, ease: 'power1.out' }, "<50%") }) } } </script> <script> // https://gsap.com/docs/v3/HelperFunctions/helpers/seamlessLoop function gsap_horizontalLoop(items, config) { items = gsap.utils.toArray(items) config = config || {} let tl = gsap.timeline({ repeat: config.repeat, paused: config.paused, defaults: { ease: 'none' }, onReverseComplete: () => tl.totalTime(tl.rawTime() + tl.duration() * 100) }), length = items.length, startX = items[0].offsetLeft, times = [], widths = [], xPercents = [], curIndex = 0, pixelsPerSecond = (config.speed || 1) * 100, snap = config.snap === false ? (v) => v : gsap.utils.snap(config.snap || 1), totalWidth, curX, distanceToStart, distanceToLoop, item, i gsap.set(items, { xPercent: (i, el) => { let w = (widths[i] = parseFloat(gsap.getProperty(el, 'width', 'px'))) xPercents[i] = snap( (parseFloat(gsap.getProperty(el, 'x', 'px')) / w) * 100 + gsap.getProperty(el, 'xPercent') ) return xPercents[i] } }) gsap.set(items, { x: 0 }) totalWidth = items[length - 1].offsetLeft + (xPercents[length - 1] / 100) * widths[length - 1] - startX + items[length - 1].offsetWidth * gsap.getProperty(items[length - 1], 'scaleX') + (parseFloat(config.paddingRight) || 0) for (i = 0; i < length; i++) { item = items[i] curX = (xPercents[i] / 100) * widths[i] distanceToStart = item.offsetLeft + curX - startX distanceToLoop = distanceToStart + widths[i] * gsap.getProperty(item, 'scaleX') tl.to( item, { xPercent: snap(((curX - distanceToLoop) / widths[i]) * 100), duration: distanceToLoop / pixelsPerSecond }, 0 ) .fromTo( item, { xPercent: snap(((curX - distanceToLoop + totalWidth) / widths[i]) * 100) }, { xPercent: xPercents[i], duration: (curX - distanceToLoop + totalWidth - curX) / pixelsPerSecond, immediateRender: false }, distanceToLoop / pixelsPerSecond ) .add('label' + i, distanceToStart / pixelsPerSecond) times[i] = distanceToStart / pixelsPerSecond } function toIndex(index, vars) { vars = vars || {} Math.abs(index - curIndex) > length / 2 && (index += index > curIndex ? -length : length) let newIndex = gsap.utils.wrap(0, length, index), time = times[newIndex] if (time > tl.time() !== index > curIndex) { vars.modifiers = { time: gsap.utils.wrap(0, tl.duration()) } time += tl.duration() * (index > curIndex ? 1 : -1) } curIndex = newIndex vars.overwrite = true return tl.tweenTo(time, vars) } tl.next = (vars) => toIndex(curIndex + 1, vars) tl.previous = (vars) => toIndex(curIndex - 1, vars) tl.current = () => curIndex tl.toIndex = (index, vars) => toIndex(index, vars) tl.times = times tl.progress(1, true).progress(0, true) if (config.reversed) { tl.vars.onReverseComplete() tl.reverse() } return tl } document.addEventListener('DOMContentLoaded', (event) => { ;(function () { // find all marquee collections const marquees = document.querySelectorAll('.praise-marquee-list-wrapper') marquees.forEach((m) => { const items = m.querySelectorAll('.praise-item') if (!items.length) return // get number of rows let rows = Math.min(Number(m.getAttribute('data-marquee-rows') || 1), items.length) // create marquee rows for (let i = 0; i < rows; i++) { const container = document.createElement('div') container.classList.add('praise-marquee') m.parentNode.insertBefore(container, m.nextSibling) } // distribute items to rows const marqueeRows = m.parentNode.querySelectorAll( '.praise-marquee:not(.praise-marquee-list-wrapper .praise-marquee)' ) items.forEach((item, i) => { marqueeRows[i % rows].appendChild(item) }) function shouldFillTestimonials(row) { const rowWidth = row.offsetWidth const lastT = row.querySelector('.praise-item:last-child') return lastT.offsetLeft + lastT.offsetWidth < rowWidth } marqueeRows.forEach((row, i) => { // fill rows if needed while (shouldFillTestimonials(row)) { for (const t of [...row.children]) { row.appendChild(t.cloneNode(true)) } } // animate items const marqueeItems = row.querySelectorAll('.praise-item') gsap_horizontalLoop(gsap.utils.toArray(marqueeItems), { repeat: -1, speed: 0.3, reversed: i % 2 === 0 }) }) }) })() }) </script></body></html>

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