<!DOCTYPE html>
<html>
<head>
<title>Bytes: Chrome DevTools made an MCP server</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<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: 16px; 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: 17px; line-height: 1.5; padding-left: 24px; padding-right: 24px;"><strong style="font-weight: 600;">Today’s issue:</strong> Lindsay Lohan convincing your boss to use AI, two <em>very</em> different ways of improving Cloudflare, and CSS cheat codes that big browser doesn’t want you to know about.</p>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">Welcome to <a href="https://click.convertkit-mail4.com/5quqzqpw00b7hngd48vt6h9k8e444cnhxdov/owhkhwuwrzgq79iv/aHR0cHM6Ly9ieXRlcy5kZXYvYXJjaGl2ZXMvNDI4" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1791408519">#428</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/hair-fire.jpg" alt="A guy's hair on fire while his friends warm their hands by it" width="600" style="border-radius: 5px; max-width: 100%;"><p style="font-family: Outfit, sans-serif; font-size: 15px; font-style: italic; line-height: 1; margin: 0; padding-bottom: 4px; padding-left: 24px; padding-right: 24px; padding-top: 10px; text-align: center;">Some tools have many uses<!-- --> </p>
</div>
<h3 style="font-size: 24px; margin-bottom: 0; padding-left: 24px; padding-right: 24px;">Chrome DevTools made an MCP server</h3>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">You’ve probably heard the joke about how Model Context Protocol (MCP) is the only piece of technology that has more builders than users – to which I say, “have we all forgotten about NFTs that quickly?”</p>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">But the Chrome team is out to change that. They just released a public preview of <a href="https://click.convertkit-mail4.com/5quqzqpw00b7hngd48vt6h9k8e444cnhxdov/z2hgh7ue3gpl8xsp/aHR0cHM6Ly9kZXZlbG9wZXIuY2hyb21lLmNvbS9ibG9nL2Nocm9tZS1kZXZ0b29scy1tY3A=" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1791408520">the Chrome DevTools MCP server</a>, which lets your coding agent of choice control and inspect a live Chrome browser.</p>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">And that’s cool because until now, agents were “coding with a blindfold on.” They could spit out code, but they couldn’t see if that button was clickable, what your Lighthouse score actually looked like, or why your API calls were failing.</p>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">This new tool fixes that by wiring Chrome DevTools into a Puppeteer-powered MCP server that any AI can call. That gives your agent the “eyes” it needs to poke around in a sandboxed Chrome profile and do fun stuff like:</p>
<ul>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5;"><strong style="font-weight: 600;">Debug like a developer</strong> – Inspect the DOM, read console logs, and check network requests directly through MCP, so your agent can troubleshoot real runtime errors instead of guessing.</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5;"><strong style="font-weight: 600;">Automate user flows</strong> – Click buttons, fill forms, upload files, and reproduce bugs by simulating actual user behavior.</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5;"><strong style="font-weight: 600;">Run perf audits</strong> – Trigger Chrome performance traces and extract actionable metrics like LCP and TBT. So now you can go back to blaming React for your bad Lighthouse scores instead of AI.</p>
</li>
</ul>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5; padding-left: 24px; padding-right: 24px;"><strong style="font-weight: 600;">Bottom Line:</strong> If this really does enable coding agents to run, test, and debug code in a live browser, a lot of <del>us</del> you will need to apologize for your MCP slander. But don’t worry, it’s still safe to make fun of the crypto JPGs.</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://click.convertkit-mail4.com/5quqzqpw00b7hngd48vt6h9k8e444cnhxdov/p8hehqu4zvgql0uq/aHR0cHM6Ly9mYWNlYm9vay5jb20vc2hhcmVyL3NoYXJlci5waHA_dT1odHRwcyUzQSUyRiUyRmJ5dGVzLmRldiUyRmFyY2hpdmVzJTJGNDI4" rel="noopener" style="color: #12b5e5; font-weight: 600; padding-left: 5px; text-decoration: none;" target="_blank" url-id="1791408521"><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://click.convertkit-mail4.com/5quqzqpw00b7hngd48vt6h9k8e444cnhxdov/x0hph3uewg9qlvb5/aHR0cHM6Ly93d3cubGlua2VkaW4uY29tL3NoYXJpbmcvc2hhcmUtb2Zmc2l0ZS8_dXJsPWh0dHBzJTNBJTJGJTJGYnl0ZXMuZGV2JTJGYXJjaGl2ZXMlMkY0Mjg=" rel="noopener" style="color: #12b5e5; font-weight: 600; padding-left: 5px; text-decoration: none;" target="_blank" url-id="1791408522"><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://click.convertkit-mail4.com/5quqzqpw00b7hngd48vt6h9k8e444cnhxdov/6qhehoul7qn9dmto/aHR0cHM6Ly90d2l0dGVyLmNvbS9pbnRlbnQvdHdlZXQvP3RleHQ9QnJlYWtpbmclMjBkb3duJTIwdGhlJTIwbmV3JTIwQ2hyb21lJTIwRGV2VG9vbHMlMjBNQ1AlMjBwcmV2aWV3JTIwZnJvbSUyMCU0MENocm9taXVtRGV2JnVybD1odHRwcyUzQSUyRiUyRmJ5dGVzLmRldiUyRmFyY2hpdmVzJTJGNDI4" rel="noopener" style="color: #12b5e5; font-weight: 600; padding-left: 5px; text-decoration: none;" target="_blank" url-id="1791408523"><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://click.convertkit-mail4.com/5quqzqpw00b7hngd48vt6h9k8e444cnhxdov/kkhmh2unl76x3xal/bWFpbHRvOj9ib2R5PVRob3VnaHQlMjB5b3UlMjdkJTIwbG92ZSUyMHRoaXMlMjB3ZWVrJTI3cyUyMEJ5dGVzJTBBLS0tJTBBQnJlYWtpbmclMjBkb3duJTIwdGhlJTIwbmV3JTIwQ2hyb21lJTIwRGV2VG9vbHMlMjBNQ1AlMjBwcmV2aWV3JTIwZnJvbSUyMCU0MENocm9taXVtRGV2JTBBaHR0cHMlM0ElMkYlMkZieXRlcy5kZXYlMkZhcmNoaXZlcyUyRjQyOCZzdWJqZWN0PVlvdSUyMGxpa2UlMjBjb3JuYnJlYWQlM0Y=" rel="noopener" style="color: #12b5e5; font-weight: 600; padding-left: 5px; text-decoration: none;" target="_blank" url-id="1791408524"><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/mrbean-waiting.jpg" alt="Mr Bean waiting in a field" width="600" style="border-radius: 5px; max-width: 100%;"><p style="font-family: Outfit, sans-serif; font-size: 15px; font-style: italic; line-height: 1; margin: 0; padding-bottom: 4px; padding-left: 24px; padding-right: 24px; padding-top: 10px; text-align: center;">Your team waiting on another QA cycle before they can deploy<!-- --> </p>
</div>
<h3 style="font-size: 24px; margin-bottom: 0; padding-left: 24px; padding-right: 24px;"><a href="https://click.convertkit-mail4.com/5quqzqpw00b7hngd48vt6h9k8e444cnhxdov/58hvh8ugmek6z4h6/aHR0cHM6Ly93d3cucWF3b2xmLmNvbT91dG1fY2FtcGFpZ249QUNRX0FsbF9EZW1vX0NvbnZlcnNpb25zX19OZXdzbGV0dGVyQXVkaWVuY2VfLV9OZXdzbGV0dGVyX1FBV29sZkFJR2l2ZXNZb3U1eEZhc3RlclRlc3RDcmVhdGlvbl8yMDI1MDkyOS1Ob25lX0V4cGVyaW1lbnQtRkFMU0UmdXRtX2NvbnRlbnQ9NXhGYXN0ZXJUZXN0Q3JlYWlvbl9HZXRBUGVyc29uYWxpemVkRGVtb19Ob25lX0hlYWRsaW5lJTNBUUFXb2xmQUlHaXZlc1lvdTV4RmFzdGVyVGVzdENyZWF0aW9uX19fX05ld3NsZXR0ZXItUHJpbWFyeVBsYWNlbWVudF8yMDI1MDkyOV92MV8mdXRtX21lZGl1bT1uZXdzbGV0dGVyJnV0bV9zb3VyY2U9Ynl0ZXMmdXRtX3Rlcm09aGVhZGxpbmUtUUFXb2xmQUlHaXZlc1lvdTV4RmFzdGVyVGVzdENyZWF0aW9u" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1791408525">QA Wolf AI gives you 5x faster test creation</a></h3>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">That’s because their multi-agent system uses 150+ specialized agents that each do a specific task – like outlining tests, writing code, and verifying results.</p>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">Then, their human reviewers <a href="https://click.convertkit-mail4.com/5quqzqpw00b7hngd48vt6h9k8e444cnhxdov/25h2h9u3254mexa3/aHR0cHM6Ly93d3cucWF3b2xmLmNvbS9haT91dG1fY2FtcGFpZ249QUNRX0FsbF9EZW1vX0NvbnZlcnNpb25zX19OZXdzbGV0dGVyQXVkaWVuY2VfLV9OZXdzbGV0dGVyX1FBV29sZkFJR2l2ZXNZb3U1eEZhc3RlclRlc3RDcmVhdGlvbl8yMDI1MDkyOS1Ob25lX0V4cGVyaW1lbnQtRkFMU0UmdXRtX2NvbnRlbnQ9NXhGYXN0ZXJUZXN0Q3JlYWlvbl9HZXRBUGVyc29uYWxpemVkRGVtb19Ob25lX0hlYWRsaW5lJTNBUUFXb2xmQUlHaXZlc1lvdTV4RmFzdGVyVGVzdENyZWF0aW9uX19fX05ld3NsZXR0ZXItUHJpbWFyeVBsYWNlbWVudF8yMDI1MDkyOV92MV8mdXRtX21lZGl1bT1uZXdzbGV0dGVyJnV0bV9zb3VyY2U9Ynl0ZXMmdXRtX3Rlcm09Ym9keS1DaGVja1RoZUFnZW50c1dvcms=" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1791408526">check the agents’ work</a> to make sure nothing slipped through the cracks. That gets you:</p>
<ul>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5;">5x faster for them to write and update your team’s tests</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5;">Sophisticated agents that have done over 50 million test runs</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5;">Huge savings on QA engineering (<a href="https://click.convertkit-mail4.com/5quqzqpw00b7hngd48vt6h9k8e444cnhxdov/qvh8h8udrxok0xul/aHR0cHM6Ly93d3cucWF3b2xmLmNvbS9jYXNlLXN0dWRpZXMvcWEtd29sZi1zYXZlcy1zY29wZTMtMzAway15ci1hbmQtZG91YmxlZC1yZWxlYXNlLXZlbG9jaXR5LXdpdGgtYS1kZWRpY2F0ZWQtcWEtZW5naW5lZXI_dXRtX2NhbXBhaWduPUFDUV9BbGxfRGVtb19Db252ZXJzaW9uc19fTmV3c2xldHRlckF1ZGllbmNlXy1fTmV3c2xldHRlcl9RQVdvbGZBSUdpdmVzWW91NXhGYXN0ZXJUZXN0Q3JlYXRpb25fMjAyNTA5MjktTm9uZV9FeHBlcmltZW50LUZBTFNFJnV0bV9jb250ZW50PTV4RmFzdGVyVGVzdENyZWFpb25fR2V0QVBlcnNvbmFsaXplZERlbW9fTm9uZV9IZWFkbGluZSUzQVFBV29sZkFJR2l2ZXNZb3U1eEZhc3RlclRlc3RDcmVhdGlvbl9fX19OZXdzbGV0dGVyLVByaW1hcnlQbGFjZW1lbnRfMjAyNTA5MjlfdjFfJnV0bV9tZWRpdW09bmV3c2xldHRlciZ1dG1fc291cmNlPWJ5dGVzJnV0bV90ZXJtPWJvZHktVGhleVNhdmVkU2NvcGUzMzAwS1lySGVyZQ==" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1791408527">they saved Scope3 $300k/yr here</a>)</p>
</li>
</ul>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5; padding-left: 24px; padding-right: 24px;"><a href="https://click.convertkit-mail4.com/5quqzqpw00b7hngd48vt6h9k8e444cnhxdov/g3hnhwum3v6qz7hr/aHR0cHM6Ly93d3cucWF3b2xmLmNvbT91dG1fY2FtcGFpZ249QUNRX0FsbF9EZW1vX0NvbnZlcnNpb25zX19OZXdzbGV0dGVyQXVkaWVuY2VfLV9OZXdzbGV0dGVyX1FBV29sZkFJR2l2ZXNZb3U1eEZhc3RlclRlc3RDcmVhdGlvbl8yMDI1MDkyOS1Ob25lX0V4cGVyaW1lbnQtRkFMU0UmdXRtX2NvbnRlbnQ9NXhGYXN0ZXJUZXN0Q3JlYWlvbl9HZXRBUGVyc29uYWxpemVkRGVtb19Ob25lX0hlYWRsaW5lJTNBUUFXb2xmQUlHaXZlc1lvdTV4RmFzdGVyVGVzdENyZWF0aW9uX19fX05ld3NsZXR0ZXItUHJpbWFyeVBsYWNlbWVudF8yMDI1MDkyOV92MV8mdXRtX21lZGl1bT1uZXdzbGV0dGVyJnV0bV9zb3VyY2U9Ynl0ZXMmdXRtX3Rlcm09Y3RhLUdldEFQZXJzb25hbGl6ZWREZW1vRm9yWW91clRlYW0=" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1791408528">Get a personalized demo for your team</a> – and see why one Scope3 manager said that QA Wolf “lets us build faster, with the confidence that if something breaks, we’ll know right away.”</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: 19px; margin-bottom: 0; padding-left: 24px; padding-right: 24px;">Sponsored by <a href="https://click.convertkit-mail4.com/5quqzqpw00b7hngd48vt6h9k8e444cnhxdov/9qhzhdudp7z52qf9/aHR0cHM6Ly93d3cuYXVnbWVudGNvZGUuY29tL2d1aWRlcy9haS1jb2RpbmctYXNzaXN0YW50cy1mb3ItbGFyZ2UtY29kZWJhc2VzLWEtY29tcGxldGUtZ3VpZGU=" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1791408529">Augment Code</a>
</h4>
<p style="font-family: Outfit, sans-serif; font-size: 16px; line-height: 1.5; margin-top: 5px; padding-left: 24px; padding-right: 24px;"><em>They created this <a href="https://click.convertkit-mail4.com/5quqzqpw00b7hngd48vt6h9k8e444cnhxdov/9qhzhdudp7z52qf9/aHR0cHM6Ly93d3cuYXVnbWVudGNvZGUuY29tL2d1aWRlcy9haS1jb2RpbmctYXNzaXN0YW50cy1mb3ItbGFyZ2UtY29kZWJhc2VzLWEtY29tcGxldGUtZ3VpZGU=" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1791408529">complete guide to using AI coding assistants for large codebases</a>, which shows you how to evaluate which AI tools will work at enterprise scale and how to integrate them.</em></p>
</div>
</div>
<pre class="language-js" style="background-color: #f9f9f9; border: 1px solid #f9f9f9; border-radius: 8px; color: #231F20; overflow: auto; padding: 24px;"><code class="language-js" style="font-size: 14px;"><span class="token keyword" style="color: #f38ba3; font-size: 14px;">function</span> <span class="token function" style="color: #9d7dce; font-size: 14px;">sumArgs</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">(</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">)</span> <span class="token punctuation" style="color: #231F20; font-size: 14px;">{</span>
<span class="token keyword" style="color: #f38ba3; font-size: 14px;">let</span> sum <span class="token operator" style="color: #12b5e5; font-size: 14px;">=</span> <span class="token number" style="color: #fcba28; font-size: 14px;">0</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">;</span>
arguments<span class="token punctuation" style="color: #231F20; font-size: 14px;">.</span><span class="token function" style="color: #9d7dce; font-size: 14px;">forEach</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">(</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">(</span><span class="token parameter" style="color: #f38ba3; font-size: 14px;">arg</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">)</span> <span class="token operator" style="color: #12b5e5; font-size: 14px;">=></span> <span class="token punctuation" style="color: #231F20; font-size: 14px;">{</span>
sum <span class="token operator" style="color: #12b5e5; font-size: 14px;">+=</span> arg<span class="token punctuation" style="color: #231F20; font-size: 14px;">;</span>
<span class="token punctuation" style="color: #231F20; font-size: 14px;">}</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">)</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">;</span>
<span class="token keyword" style="color: #f38ba3; font-size: 14px;">return</span> sum<span class="token punctuation" style="color: #231F20; font-size: 14px;">;</span>
<span class="token punctuation" style="color: #231F20; font-size: 14px;">}</span>
<span class="token keyword" style="color: #f38ba3; font-size: 14px;">const</span> result <span class="token operator" style="color: #12b5e5; font-size: 14px;">=</span> <span class="token function" style="color: #9d7dce; font-size: 14px;">sumArgs</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">(</span><span class="token number" style="color: #fcba28; font-size: 14px;">1</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">,</span> <span class="token number" style="color: #fcba28; font-size: 14px;">2</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">,</span> <span class="token number" style="color: #fcba28; font-size: 14px;">3</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">,</span> <span class="token number" style="color: #fcba28; font-size: 14px;">4</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">,</span> <span class="token number" style="color: #fcba28; font-size: 14px;">5</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">)</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">;</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: 17px; line-height: 1.5;">Chris Loy wrote about <a href="https://click.convertkit-mail4.com/5quqzqpw00b7hngd48vt6h9k8e444cnhxdov/3ohphdu37w4pd2ir/aHR0cHM6Ly9jaHJpc2xveS5kZXYvcG9zdC8yMDI1LzA5LzI4L3RoZS1haS1jb2RpbmctdHJhcA==" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1791408530">The AI coding trap</a>. It’s kind of like <em>The Parent Trap,</em> but instead of Lindsay Lohan playing two different twins, Claude Code is playing your boss into thinking that your team is actually being more productive.</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5;">Courtney Hackshaw wrote a good breakdown of <a href="https://click.convertkit-mail4.com/5quqzqpw00b7hngd48vt6h9k8e444cnhxdov/n2hohquv3d67ogt6/aHR0cHM6Ly9wbGF5ZnVscHJvZ3JhbW1pbmcuY29tL3Bvc3RzL2Nzcy1zcGVjaWZpY2l0eS1leHBsYWluZWQ=" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1791408531">CSS Specificity</a>.</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5;">Convex just released this <a href="https://click.convertkit-mail4.com/5quqzqpw00b7hngd48vt6h9k8e444cnhxdov/48hvh7umro6x2qtx/aHR0cHM6Ly9kb2NzLmNvbnZleC5kZXYvcXVpY2tzdGFydC90YW5zdGFjay1zdGFydA==" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1791408532">TanStack Start Quickstart</a> page in their docs to help you get set up quickly with Convex and TanStack Start v1.0 – the new React framework that’s “so hot right now.” [sponsored]</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5;">Right on cue, Catalin Pit wrote about <a href="https://click.convertkit-mail4.com/5quqzqpw00b7hngd48vt6h9k8e444cnhxdov/wnh2h6uqwzx0o3u7/aHR0cHM6Ly9jYXRhbGlucy50ZWNoL21pZ3JhdGluZy10by10YW5zdGFjay1zdGFydC8=" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1791408533">migrating to TanStack Start</a>, and how it helped him lose 25 pounds, save his marriage, and finally get his dad to say, “I’m glad we had you instead of buying those jet skis.”</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5;">Stef van Wijchen wrote about <a href="https://click.convertkit-mail4.com/5quqzqpw00b7hngd48vt6h9k8e444cnhxdov/reh8h9um08w655s2/aHR0cHM6Ly9zdGVmdmFud2lqY2hlbi5jb20vcmVhY3QtYW5kLXJlZHV4LWluLTIwMjUv" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1791408534">Redux in 2025</a> and makes the case for why it’s still a reliable choice for complex React projects.</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5;">The Clerk team created this in-depth guide on <a href="https://click.convertkit-mail4.com/5quqzqpw00b7hngd48vt6h9k8e444cnhxdov/08hwhgu2d8gl7mil/aHR0cHM6Ly9nby5jbGVyay5jb20vRXU1em05MQ==" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1791408535">how to add authentication to a Next.js app</a>. It covers some of the most common auth strategies and shows you step by step of how to add JWT auth to your Next app. [sponsored]</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5;">The Cloudflare team wrote about how they <a href="https://click.convertkit-mail4.com/5quqzqpw00b7hngd48vt6h9k8e444cnhxdov/8ghqh3uol4qr5lik/aHR0cHM6Ly9ibG9nLmNsb3VkZmxhcmUuY29tLzIwLXBlcmNlbnQtaW50ZXJuZXQtdXBncmFkZS8=" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1791408536">re-engineered their core proxy with a new, modular, Rust-based architecture</a> to make it faster and more secure.</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5;">Speaking of things that could improve Cloudflare’s reliability, Nick van Dyke created this ESLint plugin to <a href="https://click.convertkit-mail4.com/5quqzqpw00b7hngd48vt6h9k8e444cnhxdov/vqh3hmuop5ewkofg/aHR0cHM6Ly9naXRodWIuY29tL05pY2t2YW5EeWtlL2VzbGludC1wbHVnaW4tcmVhY3QteW91LW1pZ2h0LW5vdC1uZWVkLWFuLWVmZmVjdA==" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1791408537">catch unnecessary <code style="font-size: 14px;">useEffect</code>s in React</a>.</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5;"><a href="https://click.convertkit-mail4.com/5quqzqpw00b7hngd48vt6h9k8e444cnhxdov/l2heh6ul3g6xk6u6/aHR0cHM6Ly9jb2RlcmFiYml0LmxpbmsvYnl0ZXMtY2xp" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1791408538">CodeRabbit CLI</a> gives you senior-level code reviews, so it can check all the code that AI tools like Claude, Codex, and Gemini write for you, directly from your terminal. [sponsored]</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5;">Ollie Williams wrote an article called <a href="https://click.convertkit-mail4.com/5quqzqpw00b7hngd48vt6h9k8e444cnhxdov/m2h7h6u38rm4neim/aHR0cHM6Ly9vbGxpZXdpbGxpYW1zLnh5ei9ibG9nL2h0bWwtcmVuYWlzc2FuY2Uv" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1791408539">Frontend complexity and the HTML renaissance</a>. I appreciate how our industry has collectively started using the term “renaissance” to mean, “something we all hate less than we used to.”</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5;">Jimbly wrote about <a href="https://click.convertkit-mail4.com/5quqzqpw00b7hngd48vt6h9k8e444cnhxdov/dphehmue038p7rfm/aHR0cHM6Ly9qaW1iLmx5LzIwMjUvMDkvMjMvcWF1bnR1bXB1bHNlLWZyb20tc3RlYW0tdG8tZmxvcHB5Lw==" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1791408540">porting modern TypeScript to run on DOS</a>.</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5;">The CSS Working Group just published a first draft of <a href="https://click.convertkit-mail4.com/5quqzqpw00b7hngd48vt6h9k8e444cnhxdov/e0hph0u70xqrnmh8/aHR0cHM6Ly93d3cudzMub3JnL1RSLzIwMjUvV0QtY3NzLWVudi0xLTIwMjUwOTIzLw==" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1791408541">CSS Environment Variables</a>. Thankfully, it reads a lot better than the first drafts I would write for my college term papers, which mostly consisted of Wikipedia copy-pasta + stream-of-consciousness rambling about the hidden meanings in <em>Tony Hawk Pro Skater 2</em> cheat codes.</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: 19px; margin-bottom: 0; padding-left: 24px; padding-right: 24px;">Sponsored by <a href="https://click.convertkit-mail4.com/5quqzqpw00b7hngd48vt6h9k8e444cnhxdov/9qhzhdudp7z52qf9/aHR0cHM6Ly93d3cuYXVnbWVudGNvZGUuY29tL2d1aWRlcy9haS1jb2RpbmctYXNzaXN0YW50cy1mb3ItbGFyZ2UtY29kZWJhc2VzLWEtY29tcGxldGUtZ3VpZGU=" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1791408529">Augment Code</a>
</h4>
<p style="font-family: Outfit, sans-serif; font-size: 16px; line-height: 1.5; margin-top: 5px; padding-left: 24px; padding-right: 24px;"><em>They created this <a href="https://click.convertkit-mail4.com/5quqzqpw00b7hngd48vt6h9k8e444cnhxdov/9qhzhdudp7z52qf9/aHR0cHM6Ly93d3cuYXVnbWVudGNvZGUuY29tL2d1aWRlcy9haS1jb2RpbmctYXNzaXN0YW50cy1mb3ItbGFyZ2UtY29kZWJhc2VzLWEtY29tcGxldGUtZ3VpZGU=" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1791408529">complete guide to using AI coding assistants for large codebases</a>, which shows you how to evaluate which AI tools will work at enterprise scale and how to integrate them.</em></p>
</div>
</div>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">In JavaScript, <code style="font-size: 14px;">arguments</code> is not an array, it is an “array-like object” so you can use a for loop to iterate over it, but if you want to use array methods like <code style="font-size: 14px;">forEach</code>, you need to convert it to an array first. There are a few different ways to do this.</p>
<pre class="language-js" style="background-color: #f9f9f9; border: 1px solid #f9f9f9; border-radius: 8px; color: #231F20; overflow: auto; padding: 24px;"><code class="language-js" style="font-size: 14px;"><span class="token keyword" style="color: #f38ba3; font-size: 14px;">function</span> <span class="token function" style="color: #9d7dce; font-size: 14px;">sumArgs</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">(</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">)</span> <span class="token punctuation" style="color: #231F20; font-size: 14px;">{</span>
<span class="token keyword" style="color: #f38ba3; font-size: 14px;">let</span> sum <span class="token operator" style="color: #12b5e5; font-size: 14px;">=</span> <span class="token number" style="color: #fcba28; font-size: 14px;">0</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">;</span>
<span class="token keyword" style="color: #f38ba3; font-size: 14px;">for</span> <span class="token punctuation" style="color: #231F20; font-size: 14px;">(</span><span class="token keyword" style="color: #f38ba3; font-size: 14px;">let</span> i <span class="token operator" style="color: #12b5e5; font-size: 14px;">=</span> <span class="token number" style="color: #fcba28; font-size: 14px;">0</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">;</span> i <span class="token operator" style="color: #12b5e5; font-size: 14px;"><</span> arguments<span class="token punctuation" style="color: #231F20; font-size: 14px;">.</span>length<span class="token punctuation" style="color: #231F20; font-size: 14px;">;</span> i<span class="token operator" style="color: #12b5e5; font-size: 14px;">++</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">)</span> <span class="token punctuation" style="color: #231F20; font-size: 14px;">{</span>
sum <span class="token operator" style="color: #12b5e5; font-size: 14px;">+=</span> arguments<span class="token punctuation" style="color: #231F20; font-size: 14px;">[</span>i<span class="token punctuation" style="color: #231F20; font-size: 14px;">]</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">;</span>
<span class="token punctuation" style="color: #231F20; font-size: 14px;">}</span>
<span class="token keyword" style="color: #f38ba3; font-size: 14px;">return</span> sum<span class="token punctuation" style="color: #231F20; font-size: 14px;">;</span>
<span class="token punctuation" style="color: #231F20; font-size: 14px;">}</span>
<span class="token keyword" style="color: #f38ba3; font-size: 14px;">const</span> result <span class="token operator" style="color: #12b5e5; font-size: 14px;">=</span> <span class="token function" style="color: #9d7dce; font-size: 14px;">sumArgs</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">(</span><span class="token number" style="color: #fcba28; font-size: 14px;">1</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">,</span> <span class="token number" style="color: #fcba28; font-size: 14px;">2</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">,</span> <span class="token number" style="color: #fcba28; font-size: 14px;">3</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">,</span> <span class="token number" style="color: #fcba28; font-size: 14px;">4</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">,</span> <span class="token number" style="color: #fcba28; font-size: 14px;">5</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">)</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">;</span>
</code></pre>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">Or you can use the rest operator to get the arguments as an array:</p>
<pre class="language-js" style="background-color: #f9f9f9; border: 1px solid #f9f9f9; border-radius: 8px; color: #231F20; overflow: auto; padding: 24px;"><code class="language-js" style="font-size: 14px;"><span class="token keyword" style="color: #f38ba3; font-size: 14px;">function</span> <span class="token function" style="color: #9d7dce; font-size: 14px;">sumArgs</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">(</span><span class="token parameter" style="color: #f38ba3; font-size: 14px;"><span class="token operator" style="color: #12b5e5; font-size: 14px;">...</span>args</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">)</span> <span class="token punctuation" style="color: #231F20; font-size: 14px;">{</span>
<span class="token keyword" style="color: #f38ba3; font-size: 14px;">let</span> sum <span class="token operator" style="color: #12b5e5; font-size: 14px;">=</span> <span class="token number" style="color: #fcba28; font-size: 14px;">0</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">;</span>
args<span class="token punctuation" style="color: #231F20; font-size: 14px;">.</span><span class="token function" style="color: #9d7dce; font-size: 14px;">forEach</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">(</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">(</span><span class="token parameter" style="color: #f38ba3; font-size: 14px;">arg</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">)</span> <span class="token operator" style="color: #12b5e5; font-size: 14px;">=></span> <span class="token punctuation" style="color: #231F20; font-size: 14px;">{</span>
sum <span class="token operator" style="color: #12b5e5; font-size: 14px;">+=</span> arg<span class="token punctuation" style="color: #231F20; font-size: 14px;">;</span>
<span class="token punctuation" style="color: #231F20; font-size: 14px;">}</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">)</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">;</span>
<span class="token keyword" style="color: #f38ba3; font-size: 14px;">return</span> sum<span class="token punctuation" style="color: #231F20; font-size: 14px;">;</span>
<span class="token punctuation" style="color: #231F20; font-size: 14px;">}</span>
<span class="token keyword" style="color: #f38ba3; font-size: 14px;">const</span> result <span class="token operator" style="color: #12b5e5; font-size: 14px;">=</span> <span class="token function" style="color: #9d7dce; font-size: 14px;">sumArgs</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">(</span><span class="token number" style="color: #fcba28; font-size: 14px;">1</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">,</span> <span class="token number" style="color: #fcba28; font-size: 14px;">2</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">,</span> <span class="token number" style="color: #fcba28; font-size: 14px;">3</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">,</span> <span class="token number" style="color: #fcba28; font-size: 14px;">4</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">,</span> <span class="token number" style="color: #fcba28; font-size: 14px;">5</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">)</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">;</span>
</code></pre>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">Or you can use <code style="font-size: 14px;">Array.from</code> to convert the arguments to an array:</p>
<pre class="language-js" style="background-color: #f9f9f9; border: 1px solid #f9f9f9; border-radius: 8px; color: #231F20; overflow: auto; padding: 24px;"><code class="language-js" style="font-size: 14px;"><span class="token keyword" style="color: #f38ba3; font-size: 14px;">function</span> <span class="token function" style="color: #9d7dce; font-size: 14px;">sumArgs</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">(</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">)</span> <span class="token punctuation" style="color: #231F20; font-size: 14px;">{</span>
<span class="token keyword" style="color: #f38ba3; font-size: 14px;">let</span> sum <span class="token operator" style="color: #12b5e5; font-size: 14px;">=</span> <span class="token number" style="color: #fcba28; font-size: 14px;">0</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">;</span>
Array<span class="token punctuation" style="color: #231F20; font-size: 14px;">.</span><span class="token function" style="color: #9d7dce; font-size: 14px;">from</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">(</span>arguments<span class="token punctuation" style="color: #231F20; font-size: 14px;">)</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">.</span><span class="token function" style="color: #9d7dce; font-size: 14px;">forEach</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">(</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">(</span><span class="token parameter" style="color: #f38ba3; font-size: 14px;">arg</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">)</span> <span class="token operator" style="color: #12b5e5; font-size: 14px;">=></span> <span class="token punctuation" style="color: #231F20; font-size: 14px;">{</span>
sum <span class="token operator" style="color: #12b5e5; font-size: 14px;">+=</span> arg<span class="token punctuation" style="color: #231F20; font-size: 14px;">;</span>
<span class="token punctuation" style="color: #231F20; font-size: 14px;">}</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">)</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">;</span>
<span class="token keyword" style="color: #f38ba3; font-size: 14px;">return</span> sum<span class="token punctuation" style="color: #231F20; font-size: 14px;">;</span>
<span class="token punctuation" style="color: #231F20; font-size: 14px;">}</span>
<span class="token keyword" style="color: #f38ba3; font-size: 14px;">const</span> result <span class="token operator" style="color: #12b5e5; font-size: 14px;">=</span> <span class="token function" style="color: #9d7dce; font-size: 14px;">sumArgs</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">(</span><span class="token number" style="color: #fcba28; font-size: 14px;">1</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">,</span> <span class="token number" style="color: #fcba28; font-size: 14px;">2</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">,</span> <span class="token number" style="color: #fcba28; font-size: 14px;">3</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">,</span> <span class="token number" style="color: #fcba28; font-size: 14px;">4</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">,</span> <span class="token number" style="color: #fcba28; font-size: 14px;">5</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">)</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">;</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://click.convertkit-mail4.com/5quqzqpw00b7hngd48vt6h9k8e444cnhxdov/7qh7h2u9ogwn4qiz/aHR0cHM6Ly9ieXRlcy5kZXYvYWR2ZXJ0aXNl" url-id="1791408542">Sponsor Bytes</a></div>
<div style="margin-bottom:20px"><a style="color: #FCBA28; font-size: 14px; font-weight: 600; text-decoration: underline;" href="https://click.convertkit-mail4.com/5quqzqpw00b7hngd48vt6h9k8e444cnhxdov/owhkhwuwrzgq89bv/aHR0cHM6Ly9ieXRlcy5kZXYvc2hhcmU=" url-id="1791408543">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://click.convertkit-mail4.com/5quqzqpw00b7hngd48vt6h9k8e444cnhxdov/z2hgh7ue3gpldxap/aHR0cHM6Ly91aS5kZXY=" url-id="1791408544">ui.dev</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://click.convertkit-mail4.com/5quqzqpw00b7hngd48vt6h9k8e444cnhxdov/p8hehqu4zvgq70aq/aHR0cHM6Ly9ieXRlcy5kZXYvdW5zdWJzY3JpYmU=" style="color: #9B9890;" url-id="1791408545">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://unsubscribe.convertkit-mail4.com/5quqzqpw00b7hngd48vt6h9k8e444cnhxdov">Unsubscribe</a></span>
<!-- -->
<img src="https://open.convertkit-mail4.com/5quqzqpw00b7hngd48vt6h9k8e444cnhxdov" alt="">
</body>
</html>