<!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/parrot-boy.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/girlrotting.jpg">
<link rel="preload" as="image" href="https://bytes.dev/images/content/pop-quiz.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: TanStack Start gets RSC</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> Saving tokens with ancestral tenets, why AI sucks, and casual xenophobia.</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/d0unwn7xppb0hon5z5mbmhz9we5qpalhkx3v/p8hehqu4ok68kpuq/aHR0cHM6Ly9ieXRlcy5kZXYvYXJjaGl2ZXMvNDc4" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1847543061">#478</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/parrot-boy.jpg" alt="A dude pretending to be a parrot" 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;">The 20k LoC app that Codex built to check the price of fartcoin<!-- --> </p>
</div>
<h3 style="font-size: 24px; margin-bottom: 0; padding-left: 24px; padding-right: 24px;">TanStack Start gets RSC, but not like Next.js</h3>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">While Cloudflare and others have been busy trying to clone Next.js with AI, TanStack Start is basically the only project that’s been willing to ask if there’s a better way to build a React framework from scratch in 2026.</p>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">So it makes sense that when they <a href="https://c5e21242.click.convertkit-mail.com/d0unwn7xppb0hon5z5mbmhz9we5qpalhkx3v/6qhehoulevr0vqio/aHR0cHM6Ly90YW5zdGFjay5jb20vYmxvZy9yZWFjdC1zZXJ2ZXItY29tcG9uZW50cw==" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1847543063">shipped experimental support for server components</a> yesterday, it came out looking like “what if Next.js but opposite?” It’s a bold move since Vercel helps steward React itself and also helped create RSC to <del>sell more cloud compute</del> make the web a better place.</p>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">In Next.js, the server owns your component tree by default. You opt into interactivity with <code style="font-size: 15px;">'use client'</code>, not the other way around. TanStack Start treats RSC as plain React Flight streams you can fetch, cache, and render on your own terms, like any other async resource.</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;">const</span> getGreeting <span class="token operator" style="color: #12b5e5; font-size: 15px;">=</span> <span class="token function" style="color: #9d7dce; font-size: 15px;">createServerFn</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;">handler</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">(</span><span class="token keyword" style="color: #f38ba3; font-size: 15px;">async</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 operator" style="color: #12b5e5; 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;">return</span> <span class="token function" style="color: #9d7dce; font-size: 15px;">renderToReadableStream</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">(</span><span class="token operator" style="color: #12b5e5; font-size: 15px;"><</span>h1<span class="token operator" style="color: #12b5e5; font-size: 15px;">></span>Hello from the server<span class="token operator" style="color: #12b5e5; font-size: 15px;"><</span><span class="token operator" style="color: #12b5e5; font-size: 15px;">/</span>h1<span class="token operator" style="color: #12b5e5; 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;">function</span> <span class="token function" style="color: #9d7dce; font-size: 15px;">Greeting</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;">const</span> query <span class="token operator" style="color: #12b5e5; font-size: 15px;">=</span> <span class="token function" style="color: #9d7dce; font-size: 15px;">useQuery</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 literal-property property" style="color: #12b5e5; font-size: 15px;">queryKey</span><span class="token operator" style="color: #12b5e5; font-size: 15px;">:</span> <span class="token punctuation" style="color: #231F20; font-size: 15px;">[</span><span class="token string" style="color: #f99157; font-size: 15px;">'greeting'</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-variable function" style="color: #9d7dce; font-size: 15px;">queryFn</span><span class="token operator" style="color: #12b5e5; font-size: 15px;">:</span> <span class="token keyword" style="color: #f38ba3; font-size: 15px;">async</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 operator" style="color: #12b5e5; font-size: 15px;">=></span>
<span class="token function" style="color: #9d7dce; font-size: 15px;">createFromReadableStream</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">(</span><span class="token keyword" style="color: #f38ba3; font-size: 15px;">await</span> <span class="token function" style="color: #9d7dce; font-size: 15px;">getGreeting</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 punctuation" style="color: #231F20; font-size: 15px;">)</span>
<span class="token keyword" style="color: #f38ba3; font-size: 15px;">return</span> <span class="token operator" style="color: #12b5e5; font-size: 15px;"><</span><span class="token operator" style="color: #12b5e5; font-size: 15px;">></span><span class="token punctuation" style="color: #231F20; font-size: 15px;">{</span>query<span class="token punctuation" style="color: #231F20; font-size: 15px;">.</span>data<span class="token punctuation" style="color: #231F20; font-size: 15px;">}</span><span class="token operator" style="color: #12b5e5; font-size: 15px;"><</span><span class="token operator" style="color: #12b5e5; font-size: 15px;">/</span><span class="token operator" style="color: #12b5e5; font-size: 15px;">></span>
<span class="token punctuation" style="color: #231F20; font-size: 15px;">}</span>
</code></pre>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">RSC output slots right into TanStack Query with normal cache keys, <code style="font-size: 15px;">staleTime</code>, and background refetch, with no special “RSC mode” required. Here’s a few other notable differences from Next.js:</p>
<ul>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5;"><strong style="font-weight: 600;">Client owns the tree.</strong> Server components are fetched by the client rather than server-rendered by default</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5;"><strong style="font-weight: 600;">Better security.</strong> Instead of <code style="font-size: 15px;">'use server'</code> actions, it uses explicit server functions via <code style="font-size: 15px;">createServerFn</code> only, which would avoid recent RSC CVEs</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5;"><strong style="font-weight: 600;">Composite Components.</strong> A new primitive that lets the server leave slots for the client to fill with interactive components, without knowing what goes in them</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5;"><strong style="font-weight: 600;">Fully opt-in.</strong> Pure SPA, hybrid, mostly static, fully static. It turns RSC into a tool instead of a mandate for your whole app</p>
</li>
</ul>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">On tanstack.com’s own content-heavy pages, migrating to RSC dropped ~153KB gzipped from the client bundle and cut Total Blocking Time on the blog post page from 1,200ms to 260ms. Dashboards and interactive-heavy pages saw little to no improvement.</p>
<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> JavaScript framework innovation has slowed to a crawl as AI has cemented the incumbents and sucked up all the air in the room. So it’s refreshing to see Tanner & Co. ship something actually new that has a genuine chance of grabbing real market share.</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/d0unwn7xppb0hon5z5mbmhz9we5qpalhkx3v/kkhmh2unvgw4dgal/aHR0cHM6Ly9mYWNlYm9vay5jb20vc2hhcmVyL3NoYXJlci5waHA_dT1odHRwcyUzQSUyRiUyRmJ5dGVzLmRldiUyRmFyY2hpdmVzJTJGNDc4" rel="noopener" style="color: #12b5e5; font-weight: 600; padding-left: 5px; text-decoration: none;" target="_blank" url-id="1847543064"><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/d0unwn7xppb0hon5z5mbmhz9we5qpalhkx3v/58hvh8ug2pxlvvc6/aHR0cHM6Ly93d3cubGlua2VkaW4uY29tL3NoYXJpbmcvc2hhcmUtb2Zmc2l0ZS8_dXJsPWh0dHBzJTNBJTJGJTJGYnl0ZXMuZGV2JTJGYXJjaGl2ZXMlMkY0Nzg=" rel="noopener" style="color: #12b5e5; font-weight: 600; padding-left: 5px; text-decoration: none;" target="_blank" url-id="1847543065"><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/d0unwn7xppb0hon5z5mbmhz9we5qpalhkx3v/25h2h9u3wr9nv8b3/aHR0cHM6Ly90d2l0dGVyLmNvbS9pbnRlbnQvdHdlZXQvP3RleHQ9QnJlYWtpbmclMjBkb3duJTIwaG93JTIwVGFuU3RhY2slMjBTdGFydCUyN3MlMjBuZXclMjBSU0MlMjBzdXBwb3J0JTIwZGlmZmVycyUyMGZyb20lMjBOZXh0LmpzJnVybD1odHRwcyUzQSUyRiUyRmJ5dGVzLmRldiUyRmFyY2hpdmVzJTJGNDc4" rel="noopener" style="color: #12b5e5; font-weight: 600; padding-left: 5px; text-decoration: none;" target="_blank" url-id="1847543066"><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/d0unwn7xppb0hon5z5mbmhz9we5qpalhkx3v/qvh8h8udpgwq7val/bWFpbHRvOj9zdWJqZWN0PVlvdSUyMGxpa2UlMjBjb3JuYnJlYWQlM0YmYm9keT1UaG91Z2h0JTIweW91JTI3ZCUyMGxvdmUlMjB0aGlzJTIwd2VlayUyN3MlMjBCeXRlcyUwQS0tLSUwQUJyZWFraW5nJTIwZG93biUyMGhvdyUyMFRhblN0YWNrJTIwU3RhcnQlMjdzJTIwbmV3JTIwUlNDJTIwc3VwcG9ydCUyMGRpZmZlcnMlMjBmcm9tJTIwTmV4dC5qcyUwQWh0dHBzJTNBJTJGJTJGYnl0ZXMuZGV2JTJGYXJjaGl2ZXMlMkY0Nzg=" rel="noopener" style="color: #12b5e5; font-weight: 600; padding-left: 5px; text-decoration: none;" target="_blank" url-id="1847543067"><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/girlrotting.jpg" alt="Martin Scorsese lying on a bed" 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;">When it takes longer to test the code than to write the code<!-- --> </p>
</div>
<h3 style="font-size: 24px; margin-bottom: 0; padding-left: 24px; padding-right: 24px;"><a href="https://c5e21242.click.convertkit-mail.com/d0unwn7xppb0hon5z5mbmhz9we5qpalhkx3v/g3hnhwumw79xdour/aHR0cHM6Ly9hdHRlbmQucWF3b2xmLmNvbS9zZWUtaXQtaW4tYWN0aW9uLWFpLXBvd2VyZWQtcWEtZm9yLWRhaWx5LXJlbGVhc2VzL3JlZ2lzdHJhdGlvbj91dG1fc291cmNlPWJ5dGVzJnV0bV9tZWRpdW09bmV3c2xldHRlciZ1dG1fY2FtcGFpZ249QUNRX0FsbF9EZW1vX0NvbnZlcnNpb25zX19OZXdzbGV0dGVyQXVkaWVuY2VfLV9OZXdzbGV0dGVyX0RlbWluYXJfMjAyNjA0MTQtTm9uZV9FeHBlcmltZW50LUZBTFNFJnV0bV90ZXJtPWhlYWRsaW5lLUhvd1RvU2V0VXBBSVBvd2VyZWRRQUZvckRhaWx5UmVsZWFzZXNGcmVlV2ViaW5hciZ1dG1fY29udGVudD1EZW1pbmFyX1JTVlBIZXJlQW5kU2VlSG93TXVjaEJldHRlclRoaXNJU1RoYW5UZWxsaW5nQ29kZXhUb1dyaXRlU29tZVRlc3RzX05vbmVfSGVhZGxpbmUlM0FIb3dUb1NldFVwQUlQb3dlcmVkUUFGb3JEYWlseVJlbGVhc2VzRnJlZVdlYmluYXJfX19fTmV3c2xldHRlci1QcmltYXJ5UGxhY2VtZW50XzIwMjYwNDE0X3YxXw==" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1847543068">How to set up AI-powered QA for daily releases - free webinar</a></h3>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">AI fundamentally changes how software gets built. Faster developers are building more features and opening more PRs than ever before… but QA is still the bottleneck.</p>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">Join QA Wolf co-founder & CEO Jon Perl for a <a href="https://c5e21242.click.convertkit-mail.com/d0unwn7xppb0hon5z5mbmhz9we5qpalhkx3v/9qhzhdudrkwnqlh9/aHR0cHM6Ly9hdHRlbmQucWF3b2xmLmNvbS9zZWUtaXQtaW4tYWN0aW9uLWFpLXBvd2VyZWQtcWEtZm9yLWRhaWx5LXJlbGVhc2VzL3JlZ2lzdHJhdGlvbj91dG1fc291cmNlPWJ5dGVzJnV0bV9tZWRpdW09bmV3c2xldHRlciZ1dG1fY2FtcGFpZ249QUNRX0FsbF9EZW1vX0NvbnZlcnNpb25zX19OZXdzbGV0dGVyQXVkaWVuY2VfLV9OZXdzbGV0dGVyX0RlbWluYXJfMjAyNjA0MTQtTm9uZV9FeHBlcmltZW50LUZBTFNFJnV0bV90ZXJtPWJvZHktTGl2ZVdlYmluYXImdXRtX2NvbnRlbnQ9RGVtaW5hcl9SU1ZQSGVyZUFuZFNlZUhvd011Y2hCZXR0ZXJUaGlzSVNUaGFuVGVsbGluZ0NvZGV4VG9Xcml0ZVNvbWVUZXN0c19Ob25lX0hlYWRsaW5lJTNBSG93VG9TZXRVcEFJUG93ZXJlZFFBRm9yRGFpbHlSZWxlYXNlc0ZyZWVXZWJpbmFyX19fX05ld3NsZXR0ZXItUHJpbWFyeVBsYWNlbWVudF8yMDI2MDQxNF92MV8=" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1847543069">live webinar</a> to see how QA Wolf’s AI-powered testing platform equips teams for an AI-native SDLC.</p>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">You’ll see:</p>
<ul>
<li>
<strong style="font-weight: 600;">Mapping AI</strong> that autonomously maps app workflows</li>
<li>
<strong style="font-weight: 600;">Automation AI</strong> that generates deterministic, code-based tests</li>
<li>
<strong style="font-weight: 600;">Parallel runs</strong> that return results in minutes</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/d0unwn7xppb0hon5z5mbmhz9we5qpalhkx3v/3ohphdu3g6mvodfr/aHR0cHM6Ly9hdHRlbmQucWF3b2xmLmNvbS9zZWUtaXQtaW4tYWN0aW9uLWFpLXBvd2VyZWQtcWEtZm9yLWRhaWx5LXJlbGVhc2VzL3JlZ2lzdHJhdGlvbj91dG1fc291cmNlPWJ5dGVzJnV0bV9tZWRpdW09bmV3c2xldHRlciZ1dG1fY2FtcGFpZ249QUNRX0FsbF9EZW1vX0NvbnZlcnNpb25zX19OZXdzbGV0dGVyQXVkaWVuY2VfLV9OZXdzbGV0dGVyX0RlbWluYXJfMjAyNjA0MTQtTm9uZV9FeHBlcmltZW50LUZBTFNFJnV0bV90ZXJtPWN0YS1SU1ZQSGVyZSZ1dG1fY29udGVudD1EZW1pbmFyX1JTVlBIZXJlQW5kU2VlSG93TXVjaEJldHRlclRoaXNJU1RoYW5UZWxsaW5nQ29kZXhUb1dyaXRlU29tZVRlc3RzX05vbmVfSGVhZGxpbmUlM0FIb3dUb1NldFVwQUlQb3dlcmVkUUFGb3JEYWlseVJlbGVhc2VzRnJlZVdlYmluYXJfX19fTmV3c2xldHRlci1QcmltYXJ5UGxhY2VtZW50XzIwMjYwNDE0X3YxXw==" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1847543070">RSVP here</a> - and see how much better this is than telling Codex to “write some tests.”</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="140" src="https://bytes.dev/images/content/pop-quiz.png" alt="Pop Quiz logo" style="max-width: 100%;"><h2 style="font-family: Paytone One, sans-serif; font-size: 28px; margin-top: 10px; text-transform: uppercase;">Pop Quiz</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/d0unwn7xppb0hon5z5mbmhz9we5qpalhkx3v/n2hohquv0wqe8nh6/aHR0cHM6Ly9ibG9nLnNlbnRyeS5pby9sb2dnaW5nLWluLW5leHQtanMtaXMtaGFyZC1idXQtaXQtZG9lc250LWhhdmUtdG8tYmUvP3V0bV9zb3VyY2U9Ynl0ZXMmdXRtX21lZGl1bT1wYWlkLWNvbW11bml0eSZ1dG1fY2FtcGFpZ249bmV4dGpzLWZ5MjdxMS1ldmVyZ3JlZW4mdXRtX2NvbnRlbnQ9bmV3c2xldHRlci1wcmVzZW50aW5nLWJsb2ctbG9nZ2luZy1sZWFybm1vcmU=" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1847543071">Sentry</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>Next.js runs in three runtimes, but most loggers only cover one. <a href="https://c5e21242.click.convertkit-mail.com/d0unwn7xppb0hon5z5mbmhz9we5qpalhkx3v/n2hohquv0wqe8nh6/aHR0cHM6Ly9ibG9nLnNlbnRyeS5pby9sb2dnaW5nLWluLW5leHQtanMtaXMtaGFyZC1idXQtaXQtZG9lc250LWhhdmUtdG8tYmUvP3V0bV9zb3VyY2U9Ynl0ZXMmdXRtX21lZGl1bT1wYWlkLWNvbW11bml0eSZ1dG1fY2FtcGFpZ249bmV4dGpzLWZ5MjdxMS1ldmVyZ3JlZW4mdXRtX2NvbnRlbnQ9bmV3c2xldHRlci1wcmVzZW50aW5nLWJsb2ctbG9nZ2luZy1sZWFybm1vcmU=" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1847543071">This blog post</a> shows how you can use LogTape and Sentry to get runtime-agnostic logging across all of them.</em></p>
</div>
</div>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">What will be logged to the console when this code executes? The answer is below.</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;">window<span class="token punctuation" style="color: #231F20; font-size: 15px;">.</span>name <span class="token operator" style="color: #12b5e5; font-size: 15px;">=</span> <span class="token string" style="color: #f99157; font-size: 15px;">"Mike Tyson"</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">;</span>
<span class="token keyword" style="color: #f38ba3; font-size: 15px;">const</span> me <span class="token operator" style="color: #12b5e5; font-size: 15px;">=</span> <span class="token punctuation" style="color: #231F20; font-size: 15px;">{</span>
<span class="token literal-property property" style="color: #12b5e5; font-size: 15px;">name</span><span class="token operator" style="color: #12b5e5; font-size: 15px;">:</span> <span class="token string" style="color: #f99157; font-size: 15px;">"Tyler"</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">,</span>
<span class="token function" style="color: #9d7dce; font-size: 15px;">sayName</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 keyword" style="color: #f38ba3; font-size: 15px;">this</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">.</span>name<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 punctuation" style="color: #231F20; font-size: 15px;">;</span>
<span class="token keyword" style="color: #f38ba3; font-size: 15px;">const</span> sayName <span class="token operator" style="color: #12b5e5; font-size: 15px;">=</span> me<span class="token punctuation" style="color: #231F20; font-size: 15px;">.</span>sayName<span class="token punctuation" style="color: #231F20; font-size: 15px;">;</span>
<span class="token function" style="color: #9d7dce; font-size: 15px;">sayName</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>
</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/d0unwn7xppb0hon5z5mbmhz9we5qpalhkx3v/48hvh7um8zlk5rcx/aHR0cHM6Ly9naXRodWIuY29tL0p1bGl1c0JydXNzZWUvY2F2ZW1hbg==" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1847543072">Caveman</a> is a Claude Code skill that cuts token usage by 65% by telling it to talk like a caveman. Also very beneficial for the companion app I’m creating that’s designed to make users fall in love with various GEICO spokespeople through the years.</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/d0unwn7xppb0hon5z5mbmhz9we5qpalhkx3v/wnh2h6uq69785qb7/aHR0cHM6Ly9idW4uY29tL2Jsb2cvYnVuLXYxLjMuMTI=" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1847543073">Bun v1.3.12</a> ships with a native headless browser automation built into the runtime.</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/d0unwn7xppb0hon5z5mbmhz9we5qpalhkx3v/reh8h9umz9dn2wa2/aHR0cHM6Ly9zcnYuYnV5c2VsbGFkcy5jb20vYWRzL2xvbmcveC9UNlJDRk1TUVRUVFRUVFREQ1pHQ0xUVFRUVFRGRTVDQTI2VFRUVFRUQTRZMjVCVlRUVFRUVFJTRlpWQUNFTERNQ1JEQ0VSTFZGSFVGVEtTUTUzTEhQTVAzS0pJVD9jaWQ9MzY4NzAz" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1847543074">How to stop babysitting your agents</a>. Agents can generate code. Getting it right for your system is the hard part – you end up wasting time and tokens in correction loops. Join Unblocked for a FREE webinar on April 23 to see how to give agents exactly what they need to generate mergeable code the first time. [sponsored]</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5;">Adam Argyle wrote about <a href="https://c5e21242.click.convertkit-mail.com/d0unwn7xppb0hon5z5mbmhz9we5qpalhkx3v/08hwhgu2r0eqozal/aHR0cHM6Ly9uZXJkeS5kZXYvd2h5LWFpLXN1Y2tzLWF0LWZyb250LWVuZA==" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1847543075">why AI sucks at frontend</a>. Looking forward to his followup piece on why you suck at frontend.</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5;">James Coglan wrote about <a href="https://c5e21242.click.convertkit-mail.com/d0unwn7xppb0hon5z5mbmhz9we5qpalhkx3v/8ghqh3uonedk0ksk/aHR0cHM6Ly9ibG9nLmpjb2dsYW4uY29tLzIwMjYvMDMvMjMvdXNlcy1mb3ItbmVzdGVkLXByb21pc2VzLw==" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1847543076">uses for nested promises</a>.</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5;">Now you can <a href="https://c5e21242.click.convertkit-mail.com/d0unwn7xppb0hon5z5mbmhz9we5qpalhkx3v/vqh3hmuor208xmag/aHR0cHM6Ly90cnkuZXhwby5kZXYvd2lkZ2V0cw==" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1847543077">build iOS home screen widgets and Live Activities as React components</a>. No separate Xcode target. No manual App Groups. No SwiftUI layout code necessary. [sponsored]</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5;">Jack wrote about his experience <a href="https://c5e21242.click.convertkit-mail.com/d0unwn7xppb0hon5z5mbmhz9we5qpalhkx3v/l2heh6ul752w0eb6/aHR0cHM6Ly9qYWNrLmNhYi9ibG9nL2V2ZXJ5LWZpcmVmb3gtZXh0ZW5zaW9u" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1847543078">installing every Firefox extension</a>. <em>Oh you use Firefox? Name every extension.</em></p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5;">Polypane wrote about <a href="https://c5e21242.click.convertkit-mail.com/d0unwn7xppb0hon5z5mbmhz9we5qpalhkx3v/m2h7h6u3zk5wg5fm/aHR0cHM6Ly9wb2x5cGFuZS5hcHAvYmxvZy90aGUtaW50bC1hcGktdGhlLWJlc3QtYnJvd3Nlci1hcGkteW91cmUtbm90LXVzaW5nLw==" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1847543079">the best browser API you’re not using</a>. It’s the new(ish) <code style="font-size: 15px;">Intl API</code>, and the only reason you’re not using it is because you hate people from other countries, admit it.</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/d0unwn7xppb0hon5z5mbmhz9we5qpalhkx3v/dphehmuenz6r4ncm/aHR0cHM6Ly93d3cuZGF0YWRvZ2hxLmNvbS9yZXNvdXJjZXMvZGlnaXRhbC1leHBlcmllbmNlLW1vbml0b3Jpbmctc29sdXRpb24tYnJpZWYvP3V0bV9zb3VyY2U9Ynl0ZXNkZXYmdXRtX21lZGl1bT1uZXdzbGV0dGVyJnV0bV9jYW1wYWlnbj1kZy1hcG0td3ctZGVtLWJyaWVmLWJ5dGVz" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1847543080">Digital Experience Monitoring Solution Brief</a> is an in-depth resource that walks you through how frontend teams are using Datadog as a single source of truth to run synthetic tests against different environments, devices, and browsers. [sponsored]</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5;">Rene wrote about how <a href="https://c5e21242.click.convertkit-mail.com/d0unwn7xppb0hon5z5mbmhz9we5qpalhkx3v/e0hph0u7o9v5pgf8/aHR0cHM6Ly9jYXNjby5jb20vYmxvZy90aGUtYmx1ZXByaW50LW9mLWEtbm9ydGgta29yZWFuLWF0dGFjay1vbi1vcGVuLXNvdXJjZQ==" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1847543081">attackers hid obfuscated malware</a> in PRs to the Better-Auth library.</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5;">We wrote this very cool guide to <a href="https://c5e21242.click.convertkit-mail.com/d0unwn7xppb0hon5z5mbmhz9we5qpalhkx3v/7qh7h2u95vl3k2sz/aHR0cHM6Ly9maXJlc2hpcC5kZXYvYy9yZWFjdC9pbXBlcmF0aXZlLXZzLWRlY2xhcmF0aXZl" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1847543082">imperative vs declarative programming</a>.</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5;">Aaron Harper wrote about how <a href="https://c5e21242.click.convertkit-mail.com/d0unwn7xppb0hon5z5mbmhz9we5qpalhkx3v/owhkhwuwd395k2fv/aHR0cHM6Ly93d3cuaW5uZ2VzdC5jb20vYmxvZy9oYW5naW5nLXByb21pc2VzLWZvci1jb250cm9sLWZsb3c=" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1847543083">you can’t cancel a JavaScript promise (except sometimes you can)</a>. I’m not totally sure, but this sounds <em>very</em> familiar to a conversation I blocked out of my memory after my college girlfriend told me <em>we need to talk.</em></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="140" src="https://bytes.dev/images/content/pop-quiz.png" alt="Pop Quiz logo" style="max-width: 100%;"><h2 style="font-family: Paytone One, sans-serif; font-size: 28px; margin-top: 10px; text-transform: uppercase;">Pop Quiz: Answer</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/d0unwn7xppb0hon5z5mbmhz9we5qpalhkx3v/n2hohquv0wqe8nh6/aHR0cHM6Ly9ibG9nLnNlbnRyeS5pby9sb2dnaW5nLWluLW5leHQtanMtaXMtaGFyZC1idXQtaXQtZG9lc250LWhhdmUtdG8tYmUvP3V0bV9zb3VyY2U9Ynl0ZXMmdXRtX21lZGl1bT1wYWlkLWNvbW11bml0eSZ1dG1fY2FtcGFpZ249bmV4dGpzLWZ5MjdxMS1ldmVyZ3JlZW4mdXRtX2NvbnRlbnQ9bmV3c2xldHRlci1wcmVzZW50aW5nLWJsb2ctbG9nZ2luZy1sZWFybm1vcmU=" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1847543071">Sentry</a>
</h4></div>
</div>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">What will be logged to the console when this code executes?</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;">window<span class="token punctuation" style="color: #231F20; font-size: 15px;">.</span>name <span class="token operator" style="color: #12b5e5; font-size: 15px;">=</span> <span class="token string" style="color: #f99157; font-size: 15px;">"Mike Tyson"</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">;</span>
<span class="token keyword" style="color: #f38ba3; font-size: 15px;">const</span> me <span class="token operator" style="color: #12b5e5; font-size: 15px;">=</span> <span class="token punctuation" style="color: #231F20; font-size: 15px;">{</span>
<span class="token literal-property property" style="color: #12b5e5; font-size: 15px;">name</span><span class="token operator" style="color: #12b5e5; font-size: 15px;">:</span> <span class="token string" style="color: #f99157; font-size: 15px;">"Tyler"</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">,</span>
<span class="token function" style="color: #9d7dce; font-size: 15px;">sayName</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 keyword" style="color: #f38ba3; font-size: 15px;">this</span><span class="token punctuation" style="color: #231F20; font-size: 15px;">.</span>name<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 punctuation" style="color: #231F20; font-size: 15px;">;</span>
<span class="token keyword" style="color: #f38ba3; font-size: 15px;">const</span> sayName <span class="token operator" style="color: #12b5e5; font-size: 15px;">=</span> me<span class="token punctuation" style="color: #231F20; font-size: 15px;">.</span>sayName<span class="token punctuation" style="color: #231F20; font-size: 15px;">;</span>
<span class="token function" style="color: #9d7dce; font-size: 15px;">sayName</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>
</code></pre>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">The answer? “Mike Tyson”.</p>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">Since we’re not in strict mode, <code style="font-size: 15px;">sayName</code> isn’t a method, and we’re not using <code style="font-size: 15px;">call</code> or <code style="font-size: 15px;">apply</code>, <code style="font-size: 15px;">this</code> inside of <code style="font-size: 15px;">sayName</code> will default to the <code style="font-size: 15px;">window</code> object.</p>
<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/d0unwn7xppb0hon5z5mbmhz9we5qpalhkx3v/z2hgh7uex9604lhp/aHR0cHM6Ly9ieXRlcy5kZXYvYWR2ZXJ0aXNl" url-id="1847543084">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/d0unwn7xppb0hon5z5mbmhz9we5qpalhkx3v/p8hehqu4ok683paq/aHR0cHM6Ly9ieXRlcy5kZXYvc2hhcmU=" url-id="1847543085">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/d0unwn7xppb0hon5z5mbmhz9we5qpalhkx3v/x0hph3ue082xrmi5/aHR0cHM6Ly9maXJlc2hpcC5kZXY=" url-id="1847543086">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/d0unwn7xppb0hon5z5mbmhz9we5qpalhkx3v/6qhehoulevr0kqbo/aHR0cHM6Ly9ieXRlcy5kZXYvdW5zdWJzY3JpYmU=" style="color: #9B9890;" url-id="1847543087">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/d0unwn7xppb0hon5z5mbmhz9we5qpalhkx3v">Unsubscribe</a></span>
<!-- -->
<img src="https://c5e21242.open.convertkit-mail.com/d0unwn7xppb0hon5z5mbmhz9we5qpalhkx3v" alt="">
</body>
</html>