<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="preload" as="image" href="https://bytes.dev/images/bytes-banner-rounded.png">
<link rel="preload" as="image" href="https://bytes.dev/images/content/eyes.png">
<link rel="preload" as="image" href="https://bytes.dev/images/content/bieber-laptop.jpg">
<link rel="preload" as="image" href="https://bytes.dev/images/fb-share-icon.png">
<link rel="preload" as="image" href="https://bytes.dev/images/li-share-icon.png">
<link rel="preload" as="image" href="https://bytes.dev/images/tw-share-icon.png">
<link rel="preload" as="image" href="https://bytes.dev/images/em-share-icon.png">
<link rel="preload" as="image" href="https://bytes.dev/images/content/qa-wolf-logo.png">
<link rel="preload" as="image" href="https://bytes.dev/images/content/pixar-annoyed.jpg">
<link rel="preload" as="image" href="https://bytes.dev/images/content/spot-the-bug.png">
<link rel="preload" as="image" href="https://bytes.dev/images/content/cool-bits.png">
<link rel="preload" as="image" href="https://bytes.dev/images/bytes-icon.png">
<title>Bytes: Agent-chella 2026</title>
<meta name="color-scheme" content="light dark">
<meta name="supported-color-schemes" content="light dark">
<link href="https://fonts.googleapis.com/css2?family=Fira+Mono&family=Outfit:wght@400;500;700;900&family=Paytone+One" rel="stylesheet">
<style>@media (prefers-color-scheme: dark) {
.email-wrapper {
color: #F9F4DA !important;
background-color: #0F0D0E !important;
}
hr {
border-color: #262422 !important;
}
mark {
background-color: #231F20 !important;
color: #F9F4DA !important;
}
pre {
background-color: #231F20 !important;
border: 1px solid #231F20 !important;
color: #F9F4DA !important;
}
.bg-alt {
background-color: #231F20 !important;
}
.unsubscribe-link {
color: #504C48 !important;
}
.token.punctuation {
color: #f9f4da !important;
}
}
@media screen and (min-width: 600px) {
.mobile-break {
display: none;
}
}</style>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<table class="email-wrapper" border="0" cellspacing="0" width="100%" style="background-color: #FFF; border-collapse: collapse; color: #231F20; font-family: Outfit, sans-serif; font-size: 18px; width: 100%;"><tbody><tr>
<td style="border-collapse: collapse !important; word-break: normal;"></td>
<td width="600px" style="border-collapse: collapse !important; width: 600px; word-break: normal;"><div style="max-width:600px;padding-top:80px">
<div style="text-align:center"><img width="600" style="max-width: 100%; padding-bottom: 40px;" src="https://bytes.dev/images/bytes-banner-rounded.png" alt="Bytes"></div>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5; padding-left: 24px; padding-right: 24px;"><strong style="font-weight: 600;">Today’s issue:</strong> MDN does the most MDN thing ever, OpenCode migrates to Electron, and my codebase is 6’5” btw.</p>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">Welcome to <a href="https://c5e21242.click.convertkit-mail.com/8kum7m4l33soh2nd45xfkhkoll3z9b3hq45n/m2h7h6u3z7765oam/aHR0cHM6Ly9ieXRlcy5kZXYvYXJjaGl2ZXMvNDc5" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1849067503">#479</a>.</p>
<hr style="border: 0; border-bottom: 5px solid; border-color: #f5f5f5; margin-bottom: 100px; margin-top: 100px;">
<div style="text-align:center;margin-bottom:36px">
<img width="80" src="https://bytes.dev/images/content/eyes.png" alt="Eyeballs logo" style="max-width: 100%;"><h2 style="font-family: Paytone One, sans-serif; font-size: 28px; margin-top: 10px; text-transform: uppercase;">The Main Thing</h2>
</div>
<div class="bg-alt" style="background-color: #f5f5f5; border-radius: 16px; margin-bottom: 40px; max-width: 100%; padding: 24px; padding-bottom: 12px;">
<img src="https://bytes.dev/images/content/bieber-laptop.jpg" alt="Justin Bieber looking at his computer while performing at Coachella" width="600" style="border-radius: 5px; max-width: 100%;"><p style="font-family: Outfit, sans-serif; font-size: 17px; font-style: italic; line-height: 1; margin: 0; padding-bottom: 4px; padding-left: 24px; padding-right: 24px; padding-top: 10px; text-align: center;">POV you're an agent that just broke in front of 100,000 people<!-- --> </p>
</div>
<h3 style="font-size: 24px; margin-bottom: 0; padding-left: 24px; padding-right: 24px;">Agent-chella 2026</h3>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">Building agents is a lot like going to Coachella: it sounds fun to do what all the cool kids are doing, but before you know it you’re drowning in infinite loops and influencer sweat. At least I hope that’s sweat.</p>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">The problem is that for an agent to be halfway useful, it needs to be able to access the internet like a real human. And REST APIs don’t let it log into sites, fill out forms, or do other tasks that are actually helpful.</p>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">Most developers are trying to patch this together with Playwright scripts and hardcoded selectors. But brittle automation and agents are a terrible combination, because one DOM update makes everything break.</p>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5; padding-left: 24px; padding-right: 24px;"><a href="https://c5e21242.click.convertkit-mail.com/8kum7m4l33soh2nd45xfkhkoll3z9b3hq45n/dphehmuenmm960sm/aHR0cHM6Ly9naXRodWIuY29tL2Jyb3dzZXJiYXNlL3N0YWdlaGFuZD90YWI9cmVhZG1lLW92LWZpbGU=" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1849067504">Stagehand</a> is an open source SDK that’s solving this problem by combining deterministic code with natural language AI.</p>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">It does this by giving your agent four primitives for surviving the real web:</p>
<ul>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5;"><code style="font-size: 15px;">act()</code>: plain-English browser actions that <a href="https://c5e21242.click.convertkit-mail.com/8kum7m4l33soh2nd45xfkhkoll3z9b3hq45n/e0hph0u7o223v7t8/aHR0cHM6Ly9kb2NzLnN0YWdlaGFuZC5kZXYvdjMvYmFzaWNzL2FjdA==" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1849067505">resolve at runtime</a>, so instructions like “click the submit button” still work after a site redesign</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5;"><code style="font-size: 15px;">extract()</code>: grabs structured data from any page using a Zod schema with no selectors required</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5;"><code style="font-size: 15px;">observe()</code>: surfaces what’s actually actionable on a page before your agent commits to anything</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5;"><code style="font-size: 15px;">agent()</code>: autonomous multi-step execution for when you want to hand off an entire workflow, like booking a flight on the Frontier Airlines site that hasn’t been updated since 2004</p>
</li>
</ul>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5; padding-left: 24px; padding-right: 24px;"><strong style="font-weight: 600;">Bottom Line:</strong> Most web agent demos you see are either faked or so convoluted that they’re slower than just doing the task yourself. Open source tools like Stagehand are the best hope we have for getting out of the uncanny valley.</p>
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="border-collapse: collapse; margin-top: 40px; text-align: center;"><tbody><tr><td style="border-collapse: collapse !important; padding-top: 12px; word-break: normal;">
<a href="https://c5e21242.click.convertkit-mail.com/8kum7m4l33soh2nd45xfkhkoll3z9b3hq45n/7qh7h2u95mm2lwuz/aHR0cHM6Ly9mYWNlYm9vay5jb20vc2hhcmVyL3NoYXJlci5waHA_dT1odHRwcyUzQSUyRiUyRmJ5dGVzLmRldiUyRmFyY2hpdmVzJTJGNDc5" rel="noopener" style="color: #12b5e5; font-weight: 600; padding-left: 5px; text-decoration: none;" target="_blank" url-id="1849067506"><img alt="" style="display: inline-block; max-width: 100%; width: 32px;" width="25" src="https://bytes.dev/images/fb-share-icon.png"></a><a href="https://c5e21242.click.convertkit-mail.com/8kum7m4l33soh2nd45xfkhkoll3z9b3hq45n/owhkhwuwd77m9ocv/aHR0cHM6Ly93d3cubGlua2VkaW4uY29tL3NoYXJpbmcvc2hhcmUtb2Zmc2l0ZS8_dXJsPWh0dHBzJTNBJTJGJTJGYnl0ZXMuZGV2JTJGYXJjaGl2ZXMlMkY0Nzk=" rel="noopener" style="color: #12b5e5; font-weight: 600; padding-left: 5px; text-decoration: none;" target="_blank" url-id="1849067507"><img alt="" style="display: inline-block; max-width: 100%; width: 32px;" width="25" src="https://bytes.dev/images/li-share-icon.png"></a><a href="https://c5e21242.click.convertkit-mail.com/8kum7m4l33soh2nd45xfkhkoll3z9b3hq45n/z2hgh7uex88260up/aHR0cHM6Ly90d2l0dGVyLmNvbS9pbnRlbnQvdHdlZXQvP3RleHQ9QnJlYWtpbmclMjBkb3duJTIwaG93JTIwdGhlJTIwU3RhZ2VoYW5kJTIwU0RLJTIwaXMlMjBnaXZpbmclMjBhZ2VudHMlMjB0aGUlMjBhYmlsaXR5JTIwdG8lMjB1c2UlMjB0aGUlMjB3ZWIlMjBsaWtlJTIwaHVtYW5zJnVybD1odHRwcyUzQSUyRiUyRmJ5dGVzLmRldiUyRmFyY2hpdmVzJTJGNDc5" rel="noopener" style="color: #12b5e5; font-weight: 600; padding-left: 5px; text-decoration: none;" target="_blank" url-id="1849067508"><img alt="" style="display: inline-block; max-width: 100%; width: 32px;" width="25" src="https://bytes.dev/images/tw-share-icon.png"></a><a href="https://c5e21242.click.convertkit-mail.com/8kum7m4l33soh2nd45xfkhkoll3z9b3hq45n/x0hph3ue0llv2of5/bWFpbHRvOj9zdWJqZWN0PVlvdSUyMGxpa2UlMjBjb3JuYnJlYWQlM0YmYm9keT1UaG91Z2h0JTIweW91JTI3ZCUyMGxvdmUlMjB0aGlzJTIwd2VlayUyN3MlMjBCeXRlcyUwQS0tLSUwQUJyZWFraW5nJTIwZG93biUyMGhvdyUyMHRoZSUyMFN0YWdlaGFuZCUyMFNESyUyMGlzJTIwZ2l2aW5nJTIwYWdlbnRzJTIwdGhlJTIwYWJpbGl0eSUyMHRvJTIwdXNlJTIwdGhlJTIwd2ViJTIwbGlrZSUyMGh1bWFucyUwQWh0dHBzJTNBJTJGJTJGYnl0ZXMuZGV2JTJGYXJjaGl2ZXMlMkY0Nzk=" rel="noopener" style="color: #12b5e5; font-weight: 600; padding-left: 5px; text-decoration: none;" target="_blank" url-id="1849067510"><img alt="" style="display: inline-block; max-width: 100%; width: 32px;" width="25" src="https://bytes.dev/images/em-share-icon.png"></a>
</td></tr></tbody></table>
<hr style="border: 0; border-bottom: 5px solid; border-color: #f5f5f5; margin-bottom: 100px; margin-top: 100px;">
<div style="text-align:center;margin-bottom:36px">
<img width="150" src="https://bytes.dev/images/content/qa-wolf-logo.png" alt="QA Wolf logo" style="max-width: 100%;"><h2 style="font-family: Paytone One, sans-serif; font-size: 28px; margin-top: 10px; text-transform: uppercase;"><span>Our Friends <br class="mobile-break">(With Benefits)</span></h2>
</div>
<div class="bg-alt" style="background-color: #f5f5f5; border-radius: 16px; margin-bottom: 40px; max-width: 100%; padding: 24px; padding-bottom: 12px;">
<img src="https://bytes.dev/images/content/pixar-annoyed.jpg" alt="Pixar guy looking annoyed at someone sitting next to him" width="600" style="border-radius: 5px; max-width: 100%;"><p style="font-family: Outfit, sans-serif; font-size: 17px; font-style: italic; line-height: 1; margin: 0; padding-bottom: 4px; padding-left: 24px; padding-right: 24px; padding-top: 10px; text-align: center;">My team's 45 PRs watching my agent open another PR<!-- --> </p>
</div>
<h3 style="font-size: 24px; margin-bottom: 0; padding-left: 24px; padding-right: 24px;"><a href="https://c5e21242.click.convertkit-mail.com/8kum7m4l33soh2nd45xfkhkoll3z9b3hq45n/6qhehouledd8rrso/aHR0cHM6Ly9hdHRlbmQucWF3b2xmLmNvbS9zZWUtaXQtaW4tYWN0aW9uLWFpLXBvd2VyZWQtcWEtZm9yLWRhaWx5LXJlbGVhc2VzL3JlZ2lzdHJhdGlvbj91dG1fc291cmNlPWJ5dGVzJnV0bV9tZWRpdW09bmV3c2xldHRlciZ1dG1fY2FtcGFpZ249QUNRX0FsbF9EZW1vX0NvbnZlcnNpb25zX19OZXdzbGV0dGVyQXVkaWVuY2VfLV9OZXdzbGV0dGVyX0RlbWluYXJfMjAyNjA0MjAtTm9uZV9FeHBlcmltZW50LUZBTFNFJnV0bV90ZXJtPWhlYWRsaW5lLVdoZW5BSUlTT3BlbmluZ1BSc1lvdU5lZWRBSVRoYXRDYW5UZXN0VGhlbUp1c3RBc0Zhc3QmdXRtX2NvbnRlbnQ9RGVtaW5hcl9SU1ZQSGVyZUFuZFNlZVdoYXRTaGlwcGluZ1dpdGhDb25maWRlbmNlTG9va3NMaWtlX05vbmVfSGVhZGxpbmUlM0FXaGVuQUlJc09wZW5pbmdQUnNZb3VOZWVkQUlUaGF0Q2FuVGVzdFRoZW1KdXN0QXNGYXN0X19fX05ld3NsZXR0ZXItUHJpbWFyeVBsYWNlbWVudF8yMDI2MDQyMF92MV8=" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1849067511">When AI is opening PRs, you need AI that can test them just as fast.</a></h3>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">Agent-assisted development speeds up your engineers, but without a QA process that can keep up, those PRs are sitting around untested and unreleased.</p>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">Join QA Wolf CEO Jon Perl for a <a href="https://c5e21242.click.convertkit-mail.com/8kum7m4l33soh2nd45xfkhkoll3z9b3hq45n/58hvh8ug2zzdx8s6/aHR0cHM6Ly9hdHRlbmQucWF3b2xmLmNvbS9zZWUtaXQtaW4tYWN0aW9uLWFpLXBvd2VyZWQtcWEtZm9yLWRhaWx5LXJlbGVhc2VzL3JlZ2lzdHJhdGlvbj91dG1fc291cmNlPWJ5dGVzJnV0bV9tZWRpdW09bmV3c2xldHRlciZ1dG1fY2FtcGFpZ249QUNRX0FsbF9EZW1vX0NvbnZlcnNpb25zX19OZXdzbGV0dGVyQXVkaWVuY2VfLV9OZXdzbGV0dGVyX0RlbWluYXJfMjAyNjA0MjAtTm9uZV9FeHBlcmltZW50LUZBTFNFJnV0bV90ZXJtPWJvZHktTGl2ZVdlYmluYXImdXRtX2NvbnRlbnQ9RGVtaW5hcl9SU1ZQSGVyZUFuZFNlZVdoYXRTaGlwcGluZ1dpdGhDb25maWRlbmNlTG9va3NMaWtlX05vbmVfSGVhZGxpbmUlM0FXaGVuQUlJc09wZW5pbmdQUnNZb3VOZWVkQUlUaGF0Q2FuVGVzdFRoZW1KdXN0QXNGYXN0X19fX05ld3NsZXR0ZXItUHJpbWFyeVBsYWNlbWVudF8yMDI2MDQyMF92MV8=" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1849067513">live webinar</a> on how QA Wolf uses AI to ship every day without bugs.</p>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">You’ll see how QA Wolf’s AI:</p>
<ul>
<li>Finds critical workflows and turns them into deterministic test coverage</li>
<li>Runs tests in parallel to catch issues before they hit production</li>
<li>Gets fast signal on PRs before merge</li>
</ul>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5; padding-left: 24px; padding-right: 24px;"><a href="https://c5e21242.click.convertkit-mail.com/8kum7m4l33soh2nd45xfkhkoll3z9b3hq45n/25h2h9u3weep9ph3/aHR0cHM6Ly9hdHRlbmQucWF3b2xmLmNvbS9zZWUtaXQtaW4tYWN0aW9uLWFpLXBvd2VyZWQtcWEtZm9yLWRhaWx5LXJlbGVhc2VzL3JlZ2lzdHJhdGlvbj91dG1fc291cmNlPWJ5dGVzJnV0bV9tZWRpdW09bmV3c2xldHRlciZ1dG1fY2FtcGFpZ249QUNRX0FsbF9EZW1vX0NvbnZlcnNpb25zX19OZXdzbGV0dGVyQXVkaWVuY2VfLV9OZXdzbGV0dGVyX0RlbWluYXJfMjAyNjA0MjAtTm9uZV9FeHBlcmltZW50LUZBTFNFJnV0bV90ZXJtPWN0YS1SU1ZQSGVyZSZ1dG1fY29udGVudD1EZW1pbmFyX1JTVlBIZXJlQW5kU2VlV2hhdFNoaXBwaW5nV2l0aENvbmZpZGVuY2VMb29rc0xpa2VfTm9uZV9IZWFkbGluZSUzQVdoZW5BSUlzT3BlbmluZ1BSc1lvdU5lZWRBSVRoYXRDYW5UZXN0VGhlbUp1c3RBc0Zhc3RfX19fTmV3c2xldHRlci1QcmltYXJ5UGxhY2VtZW50XzIwMjYwNDIwX3YxXw==" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1849067514">RSVP here</a> — and see what shipping with confidence looks like.</p>
<hr style="border: 0; border-bottom: 5px solid; border-color: #f5f5f5; margin-bottom: 100px; margin-top: 100px;">
<div style="text-align:center;margin-bottom:36px">
<img width="110" src="https://bytes.dev/images/content/spot-the-bug.png" alt="Spot the Bug logo" style="max-width: 100%;"><h2 style="font-family: Paytone One, sans-serif; font-size: 28px; margin-top: 10px; text-transform: uppercase;">Spot the Bug</h2>
<div class="section-presenter" style="margin-bottom:50px;margin-top:15px">
<h4 style="font-size: 20px; margin-bottom: 0; padding-left: 24px; padding-right: 24px;">Sponsored by <a href="https://c5e21242.click.convertkit-mail.com/8kum7m4l33soh2nd45xfkhkoll3z9b3hq45n/qvh8h8udp00mw9ul/aHR0cHM6Ly9vcmtlcy5pby9ibG9nL2lkZW1wb3RlbmN5LWFuZC1yZXRyeS1zYWZldHktaW4tZGlzdHJpYnV0ZWQtd29ya2Zsb3dzLz91dG1fY2FtcGFpZ249Qnl0ZXMuZGV2JnV0bV9zb3VyY2U9TmV3c2xldHRlciZ1dG1fbWVkaXVtPWVtYWls" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1849067515">Orkes</a>
</h4>
<p style="font-family: Outfit, sans-serif; font-size: 18px; line-height: 1.5; margin-top: 5px; padding-left: 24px; padding-right: 24px;"><em>They wrote a practical walkthrough on <a href="https://c5e21242.click.convertkit-mail.com/8kum7m4l33soh2nd45xfkhkoll3z9b3hq45n/qvh8h8udp00mw9ul/aHR0cHM6Ly9vcmtlcy5pby9ibG9nL2lkZW1wb3RlbmN5LWFuZC1yZXRyeS1zYWZldHktaW4tZGlzdHJpYnV0ZWQtd29ya2Zsb3dzLz91dG1fY2FtcGFpZ249Qnl0ZXMuZGV2JnV0bV9zb3VyY2U9TmV3c2xldHRlciZ1dG1fbWVkaXVtPWVtYWls" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1849067515">how to make distributed workflows retry-safe</a>, so you can prevent duplicate side effects in your app.</em></p>
</div>
</div>
<pre class="language-js" style="-moz-hyphens: none; -moz-tab-size: 2; -ms-hyphens: none; -o-tab-size: 2; -webkit-hyphens: none; background-color: #f9f9f9; border: 1px solid #f9f9f9; border-radius: 8px; color: #c0c5ce; direction: ltr; font-family: 'Fira Mono', 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 15px; hyphens: none; line-height: 1.5; overflow: auto; padding: 24px; tab-size: 2; text-align: left; white-space: pre; word-break: normal; word-spacing: normal;"><code class="language-js" style="-moz-hyphens: none; -moz-tab-size: 2; -ms-hyphens: none; -o-tab-size: 2; -webkit-hyphens: none; color: #c0c5ce; direction: ltr; font-family: 'Fira Mono', 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 15px; hyphens: none; line-height: 1.5; tab-size: 2; text-align: left; white-space: pre; word-break: normal; word-spacing: normal;"><span class="token keyword" style="color: #f38ba3; font-size: 15px;">class</span> <span class="token class-name" style="color: #12b5e5; font-size: 15px;">ChatApp</span> <span class="token punctuation" style="color: #231F20; font-size: 15px;">{</span>
<span class="token function" style="color: #9d7dce; font-size: 15px;">constructor</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">(</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">)</span> <span class="token punctuation" style="color: #231F20; font-size: 15px;">{</span>
<span class="token keyword" style="color: #f38ba3; font-size: 15px;">this</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">.</span>keywordRegex <span class="token operator" style="color: #12b5e5; font-size: 15px;">=</span> <span class="token regex" style="font-size: 15px;"><span class="token regex-delimiter" style="font-size: 15px;">/</span><span class="token regex-source language-regex" style="font-size: 15px;">hello|hi|hey</span><span class="token regex-delimiter" style="font-size: 15px;">/</span><span class="token regex-flags" style="font-size: 15px;">g</span></span><span class="token punctuation" style="color: #231F20; font-size: 15px;">;</span>
<span class="token punctuation" style="color: #231F20; font-size: 15px;">}</span>
<span class="token function" style="color: #9d7dce; font-size: 15px;">receiveMessage</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">(</span><span class="token parameter" style="color: #f38ba3; font-size: 15px;">message</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">)</span> <span class="token punctuation" style="color: #231F20; font-size: 15px;">{</span>
<span class="token keyword" style="color: #f38ba3; font-size: 15px;">if</span> <span class="token punctuation" style="color: #231F20; font-size: 15px;">(</span><span class="token keyword" style="color: #f38ba3; font-size: 15px;">this</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">.</span>keywordRegex<span class="token punctuation" style="color: #231F20; font-size: 15px;">.</span><span class="token function" style="color: #9d7dce; font-size: 15px;">test</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">(</span>message<span class="token punctuation" style="color: #231F20; font-size: 15px;">)</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">)</span> <span class="token punctuation" style="color: #231F20; font-size: 15px;">{</span>
<span class="token keyword" style="color: #f38ba3; font-size: 15px;">this</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">.</span><span class="token function" style="color: #9d7dce; font-size: 15px;">sendGreeting</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">(</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">)</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">;</span>
<span class="token punctuation" style="color: #231F20; font-size: 15px;">}</span>
<span class="token punctuation" style="color: #231F20; font-size: 15px;">}</span>
<span class="token function" style="color: #9d7dce; font-size: 15px;">sendGreeting</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">(</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">)</span> <span class="token punctuation" style="color: #231F20; font-size: 15px;">{</span>
console<span class="token punctuation" style="color: #231F20; font-size: 15px;">.</span><span class="token function" style="color: #9d7dce; font-size: 15px;">log</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">(</span><span class="token string" style="color: #f99157; font-size: 15px;">"ChatApp: Hello, how can I assist you today?"</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">)</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">;</span>
<span class="token punctuation" style="color: #231F20; font-size: 15px;">}</span>
<span class="token punctuation" style="color: #231F20; font-size: 15px;">}</span>
<span class="token keyword" style="color: #f38ba3; font-size: 15px;">let</span> chatApp <span class="token operator" style="color: #12b5e5; font-size: 15px;">=</span> <span class="token keyword" style="color: #f38ba3; font-size: 15px;">new</span> <span class="token class-name" style="color: #12b5e5; font-size: 15px;">ChatApp</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">(</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">)</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">;</span>
chatApp<span class="token punctuation" style="color: #231F20; font-size: 15px;">.</span><span class="token function" style="color: #9d7dce; font-size: 15px;">receiveMessage</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">(</span><span class="token string" style="color: #f99157; font-size: 15px;">"hi, how are you?"</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">)</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">;</span>
chatApp<span class="token punctuation" style="color: #231F20; font-size: 15px;">.</span><span class="token function" style="color: #9d7dce; font-size: 15px;">receiveMessage</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">(</span><span class="token string" style="color: #f99157; font-size: 15px;">"hello, can you help me?"</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">)</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">;</span>
</code></pre>
<hr style="border: 0; border-bottom: 5px solid; border-color: #f5f5f5; margin-bottom: 100px; margin-top: 100px;">
<div style="text-align:center;margin-bottom:36px">
<img width="110" src="https://bytes.dev/images/content/cool-bits.png" alt="Cool Bits logo" style="max-width: 100%;"><h2 style="font-family: Paytone One, sans-serif; font-size: 28px; margin-top: 10px; text-transform: uppercase;">Cool Bits</h2>
</div>
<ol>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5;"><a href="https://c5e21242.click.convertkit-mail.com/8kum7m4l33soh2nd45xfkhkoll3z9b3hq45n/g3hnhwumwkk89qbr/aHR0cHM6Ly92ZXJjZWwuY29tL2tiL2J1bGxldGluL3ZlcmNlbC1hcHJpbC0yMDI2LXNlY3VyaXR5LWluY2lkZW50" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1849067516">Vercel got hacked</a> over the weekend when a third-party AI tool used by one of their employees was compromised, allowing the attackers to get access to sensitive customer data. If you haven’t been contacted by Vercel, it means you probably weren’t affected. Guillermo mentioned that this attack was probably “significantly accelerated by AI,” so I guess this kind of thing will just keep happening now.</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5;">Clerk just introduced <a href="https://c5e21242.click.convertkit-mail.com/8kum7m4l33soh2nd45xfkhkoll3z9b3hq45n/9qhzhdudrllvwef9/aHR0cHM6Ly9nby5jbGVyay5jb20vejV5anViQg==" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1849067517">B2B authentication</a> so you can enable your users to quickly set up organizations, invite members, and assign roles in one flow. [sponsored]</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5;">In a big blow to pirated sports streaming websites everywhere, Google introduced a <a href="https://c5e21242.click.convertkit-mail.com/8kum7m4l33soh2nd45xfkhkoll3z9b3hq45n/3ohphdu3gnn5m8tr/aHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vc2VhcmNoL2Jsb2cvMjAyNi8wNC9iYWNrLWJ1dHRvbi1oaWphY2tpbmc=" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1849067518">new spam policy for “back button hijacking”</a>.</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5;">Ivan Cernja wrote about <a href="https://c5e21242.click.convertkit-mail.com/8kum7m4l33soh2nd45xfkhkoll3z9b3hq45n/n2hohquv0kk9qdh6/aHR0cHM6Ly9lbmNvcmUuZGV2L2Jsb2cvcnVzdC1ydW50aW1l" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1849067519">what the Encore team learned building a Rust runtime for TypeScript</a>, including the non-obvious problems of making Node and Rust work together.</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5;">Build dynamic forms that work your way. With SurveyJS, you get a <a href="https://c5e21242.click.convertkit-mail.com/8kum7m4l33soh2nd45xfkhkoll3z9b3hq45n/48hvh7um8nnd8zfx/aHR0cHM6Ly9zdXJ2ZXlqcy5pby8_dXRtX3NvdXJjZT1ieXRlcyZ1dG1fbWVkaXVtPWVtYWls" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1849067520">fully customizable JavaScript form builder</a> that integrates seamlessly with any backend—no vendor lock-in, or usage limits. [sponsored]</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5;">TkDodo wrote about <a href="https://c5e21242.click.convertkit-mail.com/8kum7m4l33soh2nd45xfkhkoll3z9b3hq45n/wnh2h6uq633265i7/aHR0cHM6Ly90a2RvZG8uZXUvYmxvZy90aGUtdmVydGljYWwtY29kZWJhc2U=" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1849067521">the benefits of a vertical codebase</a>. My codebase is 6’5” btw.</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5;"><a href="https://c5e21242.click.convertkit-mail.com/8kum7m4l33soh2nd45xfkhkoll3z9b3hq45n/reh8h9umzeelz3c2/aHR0cHM6Ly9naXRodWIuY29tL3BucG0vcG5wbS9yZWxlYXNlcy90YWcvdjExLjAuMC1yYy4w" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1849067522">pnpm 11 RC</a> just shipped with a new SQLite-backed store index and supply-chain protection turned on by default. I know you hate opinionated defaults, but this one <em>probably</em> makes sense.</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5;"><a href="https://c5e21242.click.convertkit-mail.com/8kum7m4l33soh2nd45xfkhkoll3z9b3hq45n/08hwhgu2rkk6rxal/aHR0cHM6Ly9kZXYudG8vYnJlbmRvbm92aWNoL21vdmluZy1vcGVuY29kZS1kZXNrdG9wLXRvLWVsZWN0cm9uLTRoaXA=" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1849067523">OpenCode desktop migrated to Electron</a> because it’s “faster and more reliable” than their Tauri build. Rust-maxxers are invited to take a personal day to process the news.</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5;">The Databased podcast broke down <a href="https://c5e21242.click.convertkit-mail.com/8kum7m4l33soh2nd45xfkhkoll3z9b3hq45n/vqh3hmuordd9rdig/aHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g_dj1CYV9xYVV0QXZHTSZmZWF0dXJlPXlvdXR1LmJl" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1849067525">6 counterintuitive systems design principles that agents don’t understand</a> with the founder/CTO of Convex, Jamie Turner. [sponsored]</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5;">Leo McArdle wrote this deep dive going <a href="https://c5e21242.click.convertkit-mail.com/8kum7m4l33soh2nd45xfkhkoll3z9b3hq45n/l2heh6ul7zzm7kh6/aHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvYmxvZy9tZG4tZnJvbnQtZW5kLWRlZXAtZGl2ZS8=" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1849067526">under the hood of MDN’s new frontend</a>. MDN going all in on Web Components is the most MDN thing ever and I love that for them.</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5;"><a href="https://c5e21242.click.convertkit-mail.com/8kum7m4l33soh2nd45xfkhkoll3z9b3hq45n/m2h7h6u3z776zotm/aHR0cHM6Ly9naXRodWIuY29tL3l1a3UtdG9vbGNoYWluL3l1a3U=" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1849067527">Yuku</a> is a high-performance JS/TS compiler and toolchain written in Zig that’s 100% JS spec compliant.</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5;">The GitHub team wrote about <a href="https://c5e21242.click.convertkit-mail.com/8kum7m4l33soh2nd45xfkhkoll3z9b3hq45n/dphehmuenmm9n0fm/aHR0cHM6Ly9naXRodWIuYmxvZy9lbmdpbmVlcmluZy9hcmNoaXRlY3R1cmUtb3B0aW1pemF0aW9uL3RoZS11cGhpbGwtY2xpbWItb2YtbWFraW5nLWRpZmYtbGluZXMtcGVyZm9ybWFudC8=" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1849067528">the uphill climb of making diff lines performant</a>. Please enjoy it during the 47 minutes per day when GitHub isn’t down.</p>
</li>
</ol>
<hr style="border: 0; border-bottom: 5px solid; border-color: #f5f5f5; margin-bottom: 100px; margin-top: 100px;">
<div style="text-align:center;margin-bottom:36px">
<img width="110" src="https://bytes.dev/images/content/spot-the-bug.png" alt="Spot the Bug logo" style="max-width: 100%;"><h2 style="font-family: Paytone One, sans-serif; font-size: 28px; margin-top: 10px; text-transform: uppercase;">Spot the Bug: Solution</h2>
<div class="section-presenter" style="margin-bottom:50px;margin-top:15px"><h4 style="font-size: 20px; margin-bottom: 0; padding-left: 24px; padding-right: 24px;">Sponsored by <a href="https://c5e21242.click.convertkit-mail.com/8kum7m4l33soh2nd45xfkhkoll3z9b3hq45n/qvh8h8udp00mw9ul/aHR0cHM6Ly9vcmtlcy5pby9ibG9nL2lkZW1wb3RlbmN5LWFuZC1yZXRyeS1zYWZldHktaW4tZGlzdHJpYnV0ZWQtd29ya2Zsb3dzLz91dG1fY2FtcGFpZ249Qnl0ZXMuZGV2JnV0bV9zb3VyY2U9TmV3c2xldHRlciZ1dG1fbWVkaXVtPWVtYWls" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1849067515">Orkes</a>
</h4></div>
</div>
<pre class="language-js" style="-moz-hyphens: none; -moz-tab-size: 2; -ms-hyphens: none; -o-tab-size: 2; -webkit-hyphens: none; background-color: #f9f9f9; border: 1px solid #f9f9f9; border-radius: 8px; color: #c0c5ce; direction: ltr; font-family: 'Fira Mono', 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 15px; hyphens: none; line-height: 1.5; overflow: auto; padding: 24px; tab-size: 2; text-align: left; white-space: pre; word-break: normal; word-spacing: normal;"><code class="language-js" style="-moz-hyphens: none; -moz-tab-size: 2; -ms-hyphens: none; -o-tab-size: 2; -webkit-hyphens: none; color: #c0c5ce; direction: ltr; font-family: 'Fira Mono', 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 15px; hyphens: none; line-height: 1.5; tab-size: 2; text-align: left; white-space: pre; word-break: normal; word-spacing: normal;">chatApp<span class="token punctuation" style="color: #231F20; font-size: 15px;">.</span><span class="token function" style="color: #9d7dce; font-size: 15px;">receiveMessage</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">(</span><span class="token string" style="color: #f99157; font-size: 15px;">"hi, how are you?"</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">)</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">;</span> <span class="token comment" style="color: rgb(167, 167, 167); font-size: 15px;">// "ChatApp: Hello, how can I assist you today?"</span>
chatApp<span class="token punctuation" style="color: #231F20; font-size: 15px;">.</span><span class="token function" style="color: #9d7dce; font-size: 15px;">receiveMessage</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">(</span><span class="token string" style="color: #f99157; font-size: 15px;">"hello, can you help me?"</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">)</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">;</span> <span class="token comment" style="color: rgb(167, 167, 167); font-size: 15px;">// Logs nothing</span>
</code></pre>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">In JavaScript, RegExp objects with the <code style="font-size: 15px;">g</code> (global) flag retain state between matches due to the lastIndex property, which can lead to unexpected results when reused across different inputs.</p>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">The solution is to create a fresh RegExp object for each incoming message, ensuring proper recognition and response to all greetings.</p>
<pre class="language-js" style="-moz-hyphens: none; -moz-tab-size: 2; -ms-hyphens: none; -o-tab-size: 2; -webkit-hyphens: none; background-color: #f9f9f9; border: 1px solid #f9f9f9; border-radius: 8px; color: #c0c5ce; direction: ltr; font-family: 'Fira Mono', 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 15px; hyphens: none; line-height: 1.5; overflow: auto; padding: 24px; tab-size: 2; text-align: left; white-space: pre; word-break: normal; word-spacing: normal;"><code class="language-js" style="-moz-hyphens: none; -moz-tab-size: 2; -ms-hyphens: none; -o-tab-size: 2; -webkit-hyphens: none; color: #c0c5ce; direction: ltr; font-family: 'Fira Mono', 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 15px; hyphens: none; line-height: 1.5; tab-size: 2; text-align: left; white-space: pre; word-break: normal; word-spacing: normal;"><span class="token keyword" style="color: #f38ba3; font-size: 15px;">class</span> <span class="token class-name" style="color: #12b5e5; font-size: 15px;">ChatApp</span> <span class="token punctuation" style="color: #231F20; font-size: 15px;">{</span>
<span class="token function" style="color: #9d7dce; font-size: 15px;">receiveMessage</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">(</span><span class="token parameter" style="color: #f38ba3; font-size: 15px;">message</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">)</span> <span class="token punctuation" style="color: #231F20; font-size: 15px;">{</span>
<span class="token keyword" style="color: #f38ba3; font-size: 15px;">let</span> keywordRegex <span class="token operator" style="color: #12b5e5; font-size: 15px;">=</span> <span class="token regex" style="font-size: 15px;"><span class="token regex-delimiter" style="font-size: 15px;">/</span><span class="token regex-source language-regex" style="font-size: 15px;">hello|hi|hey</span><span class="token regex-delimiter" style="font-size: 15px;">/</span><span class="token regex-flags" style="font-size: 15px;">g</span></span><span class="token punctuation" style="color: #231F20; font-size: 15px;">;</span>
<span class="token keyword" style="color: #f38ba3; font-size: 15px;">if</span> <span class="token punctuation" style="color: #231F20; font-size: 15px;">(</span>keywordRegex<span class="token punctuation" style="color: #231F20; font-size: 15px;">.</span><span class="token function" style="color: #9d7dce; font-size: 15px;">test</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">(</span>message<span class="token punctuation" style="color: #231F20; font-size: 15px;">)</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">)</span> <span class="token punctuation" style="color: #231F20; font-size: 15px;">{</span>
<span class="token keyword" style="color: #f38ba3; font-size: 15px;">this</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">.</span><span class="token function" style="color: #9d7dce; font-size: 15px;">sendGreeting</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">(</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">)</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">;</span>
<span class="token punctuation" style="color: #231F20; font-size: 15px;">}</span>
<span class="token punctuation" style="color: #231F20; font-size: 15px;">}</span>
<span class="token function" style="color: #9d7dce; font-size: 15px;">sendGreeting</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">(</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">)</span> <span class="token punctuation" style="color: #231F20; font-size: 15px;">{</span>
console<span class="token punctuation" style="color: #231F20; font-size: 15px;">.</span><span class="token function" style="color: #9d7dce; font-size: 15px;">log</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">(</span><span class="token string" style="color: #f99157; font-size: 15px;">"ChatApp: Hello, how can I assist you today?"</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">)</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">;</span>
<span class="token punctuation" style="color: #231F20; font-size: 15px;">}</span>
<span class="token punctuation" style="color: #231F20; font-size: 15px;">}</span>
<span class="token keyword" style="color: #f38ba3; font-size: 15px;">let</span> chatApp <span class="token operator" style="color: #12b5e5; font-size: 15px;">=</span> <span class="token keyword" style="color: #f38ba3; font-size: 15px;">new</span> <span class="token class-name" style="color: #12b5e5; font-size: 15px;">ChatApp</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">(</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">)</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">;</span>
chatApp<span class="token punctuation" style="color: #231F20; font-size: 15px;">.</span><span class="token function" style="color: #9d7dce; font-size: 15px;">receiveMessage</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">(</span><span class="token string" style="color: #f99157; font-size: 15px;">"hi, how are you?"</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">)</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">;</span> <span class="token comment" style="color: rgb(167, 167, 167); font-size: 15px;">// "ChatApp: Hello, how can I assist you today?"</span>
chatApp<span class="token punctuation" style="color: #231F20; font-size: 15px;">.</span><span class="token function" style="color: #9d7dce; font-size: 15px;">receiveMessage</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">(</span><span class="token string" style="color: #f99157; font-size: 15px;">"hello, can you help me?"</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">)</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">;</span> <span class="token comment" style="color: rgb(167, 167, 167); font-size: 15px;">// "ChatApp: Hello, how can I assist you today?"</span>
</code></pre>
<div style="text-align:center;padding-bottom:80px;padding-top:80px">
<div class="bg-alt" style="background-color: #f5f5f5; border-radius: 16px; margin-bottom: 40px; padding: 24px;"><div style="margin-top:-40px">
<img src="https://bytes.dev/images/bytes-icon.png" alt="Bytes" width="55px" style="max-width: 100%; width: 55px;"><h5 style="font-size:18px;font-weight:400;margin-bottom:24px">Want us to say nice things <br> about your company?</h5>
<div style="margin-bottom:16px"><a style="background-color: #FCBA28; border: 1px solid #231F20; border-radius: 100px; color: #231F20; font-size: 14px; font-weight: 600; padding: 8px 14px; text-decoration: none;" href="https://c5e21242.click.convertkit-mail.com/8kum7m4l33soh2nd45xfkhkoll3z9b3hq45n/e0hph0u7o223o7u8/aHR0cHM6Ly9ieXRlcy5kZXYvYWR2ZXJ0aXNl" url-id="1849067529">Sponsor Bytes</a></div>
<div style="margin-bottom:20px"><a style="color: #FCBA28; font-size: 14px; font-weight: 600; text-decoration: underline;" href="https://c5e21242.click.convertkit-mail.com/8kum7m4l33soh2nd45xfkhkoll3z9b3hq45n/7qh7h2u95mm25wuz/aHR0cHM6Ly9ieXRlcy5kZXYvc2hhcmU=" url-id="1849067530">or share it</a></div>
<p style="font-family: Outfit, sans-serif; font-size: 14px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">Built with ❤️ by<!-- --> <a style="color: #ed203d; font-weight: 600; text-decoration: underline;" href="https://c5e21242.click.convertkit-mail.com/8kum7m4l33soh2nd45xfkhkoll3z9b3hq45n/owhkhwuwd77mdoiv/aHR0cHM6Ly9maXJlc2hpcC5kZXY=" url-id="1849067531">Fireship</a></p>
</div></div>
<p style="font-family: Outfit, sans-serif; font-size: 14px; line-height: 1.5; opacity: 0.5; padding-left: 24px; padding-right: 24px;">50 W Broadway Ste 333 PMB 51647 Salt Lake City, Utah 84101</p>
<div style="font-family:Papyrus, cursive"><a class="unsubscribe-link" href="https://c5e21242.click.convertkit-mail.com/8kum7m4l33soh2nd45xfkhkoll3z9b3hq45n/z2hgh7uex882x0ap/aHR0cHM6Ly9ieXRlcy5kZXYvdW5zdWJzY3JpYmU=" style="color: #9B9890;" url-id="1849067532">Unsubscribe from Bytes</a></div>
</div>
</div></td>
<td style="border-collapse: collapse !important; word-break: normal;"></td>
</tr></tbody></table>
<span style="display: none"><a href="https://c5e21242.unsubscribe.convertkit-mail.com/8kum7m4l33soh2nd45xfkhkoll3z9b3hq45n">Unsubscribe</a></span>
<!-- -->
<img src="https://c5e21242.open.convertkit-mail.com/8kum7m4l33soh2nd45xfkhkoll3z9b3hq45n" alt="">
</body>
</html>