<!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/heated-rivalry.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/coderabbit-logo.png">
<link rel="preload" as="image" href="https://bytes.dev/images/content/corvette-guy.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: Cloudflare rebuilt Next.js on Vite</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: 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> The Charles Dickens of systems engineering, setting React free, and fun new ways to pretend you’re helping your coding agent.</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://c5e21242.click.convertkit-mail.com/0vu0e0g2zzb9h9vpv0eslhv84r0eqhnhnvdl/6qhehoulzx9mnnto/aHR0cHM6Ly9ieXRlcy5kZXYvYXJjaGl2ZXMvNDY2" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1836004282">#466</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/heated-rivalry.jpg" alt="Heated Rivalry guys with the Cloudflare and Vercel logos on their heads" 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;">You'll never guess what happens Next<!-- --> </p>
</div>
<h3 style="font-size: 24px; margin-bottom: 0; padding-left: 24px; padding-right: 24px;">Cloudflare rebuilt Next.js on Vite</h3>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">The Winter Olympics might’ve just ended, but the Petty Olympics kicked off again on Tuesday when Cloudflare announced that they “rebuilt Next.js in one week” using $1,100 in tokens.</p>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">They call it <a href="https://c5e21242.click.convertkit-mail.com/0vu0e0g2zzb9h9vpv0eslhv84r0eqhnhnvdl/kkhmh2unrzxk6mtl/aHR0cHM6Ly9naXRodWIuY29tL2Nsb3VkZmxhcmUvdmluZXh0" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1836004283">vinext</a> (“vee-next”) because it’s built on Vite, and because they apparently didn’t want to burn any more tokens generating a catchier name. And even though it’s still experimental, Cloudflare says that some customers are already running it in production, kind of.</p>
<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;">Why did Cloudflare do this?</strong> Besides the years-long blood feud, they say it’s about solving Next’s well-known <a href="https://c5e21242.click.convertkit-mail.com/0vu0e0g2zzb9h9vpv0eslhv84r0eqhnhnvdl/58hvh8ugq36rklc6/aHR0cHM6Ly9ibG9nLmNsb3VkZmxhcmUuY29tL3ZpbmV4dC8jdGhlLW5leHQtanMtZGVwbG95bWVudC1wcm9ibGVt" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1836004284">deployment problem</a> that makes running a Next app on any non-Vercel serverless platform clunky and difficult.</p>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">(I’m pretty sure Vercel views this as a deployment <em>solution</em>, but beauty’s in the eye of the <del>beholder</del> shareholder.)</p>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">The root of that problem is Next’s bespoke Turbopack toolchain, which forces you to reshape the Next build output into something your target platform can actually run. That’s why adapters like OpenNext (which only cover build and deploy) are still limited.</p>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">So instead of adapting the Next.js output, Cloudflare decided to “reimplement the Next.js API surface directly on top of Vite”. A bold strategy, but suddenly viable for one engineering manager armed with an army of code agents and the Next.js test suite to use as a spec.</p>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">Let’s take a closer look at how vinext stacks up so far:</p>
<ul>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5;"><strong style="font-weight: 600;">Features</strong> – It reimplements routing, SSR, RSC, server actions, middleware, caching, plus both the App Router and Pages Router. It passes ~94% of the 2,000+ tests covering the Next 16 API surface, but it is upfront about still <a href="https://c5e21242.click.convertkit-mail.com/0vu0e0g2zzb9h9vpv0eslhv84r0eqhnhnvdl/25h2h9u36lmk4lu3/aHR0cHM6Ly9naXRodWIuY29tL2Nsb3VkZmxhcmUvdmluZXh0I3doYXRzLW5vdC1zdXBwb3J0ZWQtYW5kLXdvbnQtYmU=" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1836004285">missing some features</a> like static pre-rendering at build time.</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5;"><strong style="font-weight: 600;">Performance</strong> – Cloudflare claims it can build production apps up to 4x faster and produce client bundles up to 57% smaller on their <a href="https://c5e21242.click.convertkit-mail.com/0vu0e0g2zzb9h9vpv0eslhv84r0eqhnhnvdl/qvh8h8udzek9ozal/aHR0cHM6Ly9iZW5jaG1hcmtzLnZpbmV4dC53b3JrZXJzLmRldi8=" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1836004286">public benchmarks</a>. But they did at least have the self awareness to describe these results as “directional, not definitive.”</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5;"><strong style="font-weight: 600;">Migration</strong> – vinext comes with an agent skill that promises to migrate your Next app for you. It handles compatibility checks, dependency installation, config generation, and dev server startup, and it flags anything that needs human attention.</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> I always knew I had a valid strategic reason for never writing unit tests.</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/0vu0e0g2zzb9h9vpv0eslhv84r0eqhnhnvdl/g3hnhwumrgq469ir/aHR0cHM6Ly9mYWNlYm9vay5jb20vc2hhcmVyL3NoYXJlci5waHA_dT1odHRwcyUzQSUyRiUyRmJ5dGVzLmRldiUyRmFyY2hpdmVzJTJGNDY2" rel="noopener" style="color: #12b5e5; font-weight: 600; padding-left: 5px; text-decoration: none;" target="_blank" url-id="1836004287"><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/0vu0e0g2zzb9h9vpv0eslhv84r0eqhnhnvdl/9qhzhdud045ozrh9/aHR0cHM6Ly93d3cubGlua2VkaW4uY29tL3NoYXJpbmcvc2hhcmUtb2Zmc2l0ZS8_dXJsPWh0dHBzJTNBJTJGJTJGYnl0ZXMuZGV2JTJGYXJjaGl2ZXMlMkY0NjY=" rel="noopener" style="color: #12b5e5; font-weight: 600; padding-left: 5px; text-decoration: none;" target="_blank" url-id="1836004288"><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/0vu0e0g2zzb9h9vpv0eslhv84r0eqhnhnvdl/n2hohquvm27z69f6/aHR0cHM6Ly90d2l0dGVyLmNvbS9pbnRlbnQvdHdlZXQvP3RleHQ9QnJlYWtpbmclMjBkb3duJTIwdmluZXh0JTIwYW5kJTIwdGhlJTIwbGF0ZXN0JTIwY2hhcHRlciUyMGluJTIwdGhlJTIwQ2xvdWRmbGFyZS1WZXJjZWwlMjBibG9vZCUyMGZldWQmdXJsPWh0dHBzJTNBJTJGJTJGYnl0ZXMuZGV2JTJGYXJjaGl2ZXMlMkY0NjY=" rel="noopener" style="color: #12b5e5; font-weight: 600; padding-left: 5px; text-decoration: none;" target="_blank" url-id="1836004290"><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/0vu0e0g2zzb9h9vpv0eslhv84r0eqhnhnvdl/48hvh7umvwx464sx/bWFpbHRvOj9ib2R5PVRob3VnaHQlMjB5b3UlMjdkJTIwbG92ZSUyMHRoaXMlMjB3ZWVrJTI3cyUyMEJ5dGVzJTBBLS0tJTBBQnJlYWtpbmclMjBkb3duJTIwdmluZXh0JTIwYW5kJTIwdGhlJTIwbGF0ZXN0JTIwY2hhcHRlciUyMGluJTIwdGhlJTIwQ2xvdWRmbGFyZS1WZXJjZWwlMjBibG9vZCUyMGZldWQlMEFodHRwcyUzQSUyRiUyRmJ5dGVzLmRldiUyRmFyY2hpdmVzJTJGNDY2JnN1YmplY3Q9WW91JTIwbGlrZSUyMGNvcm5icmVhZCUzRg==" rel="noopener" style="color: #12b5e5; font-weight: 600; padding-left: 5px; text-decoration: none;" target="_blank" url-id="1836004291"><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/coderabbit-logo.png" alt="CodeRabbit 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/corvette-guy.jpg" alt="" 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;">When your PM finally understands your PR without needing to schedule a meeting<!-- --> </p>
</div>
<h3 style="font-size: 24px; margin-bottom: 0; padding-left: 24px; padding-right: 24px;"><a href="https://c5e21242.click.convertkit-mail.com/0vu0e0g2zzb9h9vpv0eslhv84r0eqhnhnvdl/wnh2h6uqnm0ex0s7/aHR0cHM6Ly9jb2RlcmFiYml0LmxpbmsvYnl0ZXM=" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1836004292">Your PR descriptions are a lie and everyone knows it</a></h3>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5; padding-left: 24px; padding-right: 24px;"><code style="font-size: 14px;">“Updated stuff”</code> is not a PR summary. Neither is pasting the Jira ticket title and calling it a day. But writing real summaries for every PR? That’s a collective lie we’ve all agreed to tell ourselves between standups.</p>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">That’s why CodeRabbit auto-generates custom PR summaries tailored to your team’s exact specs. Tell it “show API changes with endpoint details” or “list every package bump with version numbers” — and it does that on every PR, without anyone needing to think about it.</p>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">Drop your instructions in <code style="font-size: 14px;">.coderabbit.yaml</code> once at the org level, and every PR across every repo starts speaking the same language. Stakeholders get context. Reviewers get focus. Nobody has to write <code style="font-size: 14px;">“Updated stuff”</code> ever again.</p>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5; padding-left: 24px; padding-right: 24px;"><a href="https://c5e21242.click.convertkit-mail.com/0vu0e0g2zzb9h9vpv0eslhv84r0eqhnhnvdl/wnh2h6uqnm0ex0s7/aHR0cHM6Ly9jb2RlcmFiYml0LmxpbmsvYnl0ZXM=" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1836004292">Free for open source. Sign up today.</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="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://c5e21242.click.convertkit-mail.com/0vu0e0g2zzb9h9vpv0eslhv84r0eqhnhnvdl/reh8h9um4k6gwob2/aHR0cHM6Ly93d3cubWV0aWN1bG91cy5haS8_dXRtX2NhbXBhaWduPTI2cTEmdXRtX2NvbnRlbnQ9cHJlc2VudGluZyZ1dG1fbWVkaXVtPW5ld3NsZXR0ZXImdXRtX3NvdXJjZT1ieXRlcw==" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1836004293">Meticulous</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>Meticulous generates and <strong style="font-weight: 600;">maintains</strong> an exhaustive suite of <a href="https://c5e21242.click.convertkit-mail.com/0vu0e0g2zzb9h9vpv0eslhv84r0eqhnhnvdl/reh8h9um4k6gwob2/aHR0cHM6Ly93d3cubWV0aWN1bG91cy5haS8_dXRtX2NhbXBhaWduPTI2cTEmdXRtX2NvbnRlbnQ9cHJlc2VudGluZyZ1dG1fbWVkaXVtPW5ld3NsZXR0ZXImdXRtX3NvdXJjZT1ieXRlcw==" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1836004293">e2e UI tests</a> that covers every edge case of your web app. See why CTOs at Notion, Dropbox and LaunchDarkly rely on them.</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: 14px; 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: 14px; 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: 14px;">class</span> <span class="token class-name" style="color: #12b5e5; font-size: 14px;">Person</span> <span class="token punctuation" style="color: #231F20; font-size: 14px;">{</span>
#name<span class="token punctuation" style="color: #231F20; font-size: 14px;">;</span>
<span class="token function" style="color: #9d7dce; font-size: 14px;">constructor</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">(</span><span class="token parameter" style="color: #f38ba3; font-size: 14px;">name</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;">this</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">.</span>#name <span class="token operator" style="color: #12b5e5; font-size: 14px;">=</span> name<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;">introduce</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>
console<span class="token punctuation" style="color: #231F20; font-size: 14px;">.</span><span class="token function" style="color: #9d7dce; font-size: 14px;">log</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">(</span><span class="token template-string" style="font-size: 14px;"><span class="token template-punctuation string" style="color: #f99157; font-size: 14px;">`</span><span class="token string" style="color: #f99157; font-size: 14px;">Hello, my name is </span><span class="token interpolation" style="color: #12b5e5; font-size: 14px;"><span class="token interpolation-punctuation punctuation" style="color: #231F20; font-size: 14px;">${</span><span class="token keyword" style="color: #f38ba3; font-size: 14px;">this</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">.</span>#name<span class="token interpolation-punctuation punctuation" style="color: #231F20; font-size: 14px;">}</span></span><span class="token string" style="color: #f99157; font-size: 14px;">.</span><span class="token template-punctuation string" style="color: #f99157; font-size: 14px;">`</span></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 punctuation" style="color: #231F20; font-size: 14px;">}</span>
<span class="token keyword" style="color: #f38ba3; font-size: 14px;">class</span> <span class="token class-name" style="color: #12b5e5; font-size: 14px;">Student</span> <span class="token keyword" style="color: #f38ba3; font-size: 14px;">extends</span> <span class="token class-name" style="color: #12b5e5; font-size: 14px;">Person</span> <span class="token punctuation" style="color: #231F20; font-size: 14px;">{</span>
#grade<span class="token punctuation" style="color: #231F20; font-size: 14px;">;</span>
<span class="token function" style="color: #9d7dce; font-size: 14px;">constructor</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">(</span><span class="token parameter" style="color: #f38ba3; font-size: 14px;">name<span class="token punctuation" style="color: #231F20; font-size: 14px;">,</span> grade</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;">super</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">(</span>name<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;">this</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">.</span>#grade <span class="token operator" style="color: #12b5e5; font-size: 14px;">=</span> grade<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;">introduce</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>
console<span class="token punctuation" style="color: #231F20; font-size: 14px;">.</span><span class="token function" style="color: #9d7dce; font-size: 14px;">log</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">(</span>
<span class="token template-string" style="font-size: 14px;"><span class="token template-punctuation string" style="color: #f99157; font-size: 14px;">`</span><span class="token string" style="color: #f99157; font-size: 14px;">Hello, my name is </span><span class="token interpolation" style="color: #12b5e5; font-size: 14px;"><span class="token interpolation-punctuation punctuation" style="color: #231F20; font-size: 14px;">${</span><span class="token keyword" style="color: #f38ba3; font-size: 14px;">this</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">.</span>#name<span class="token interpolation-punctuation punctuation" style="color: #231F20; font-size: 14px;">}</span></span><span class="token string" style="color: #f99157; font-size: 14px;"> and I am in grade </span><span class="token interpolation" style="color: #12b5e5; font-size: 14px;"><span class="token interpolation-punctuation punctuation" style="color: #231F20; font-size: 14px;">${</span><span class="token keyword" style="color: #f38ba3; font-size: 14px;">this</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">.</span>#grade<span class="token interpolation-punctuation punctuation" style="color: #231F20; font-size: 14px;">}</span></span><span class="token string" style="color: #f99157; font-size: 14px;">.</span><span class="token template-punctuation string" style="color: #f99157; font-size: 14px;">`</span></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 punctuation" style="color: #231F20; font-size: 14px;">}</span>
<span class="token keyword" style="color: #f38ba3; font-size: 14px;">const</span> student <span class="token operator" style="color: #12b5e5; font-size: 14px;">=</span> <span class="token keyword" style="color: #f38ba3; font-size: 14px;">new</span> <span class="token class-name" style="color: #12b5e5; font-size: 14px;">Student</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">(</span><span class="token string" style="color: #f99157; font-size: 14px;">"John"</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>
student<span class="token punctuation" style="color: #231F20; font-size: 14px;">.</span><span class="token function" style="color: #9d7dce; font-size: 14px;">introduce</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>
</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;">Meta officially transferred control of React and all related projects <a href="https://c5e21242.click.convertkit-mail.com/0vu0e0g2zzb9h9vpv0eslhv84r0eqhnhnvdl/08hwhgu2vnl3g4sl/aHR0cHM6Ly9yZWFjdC5kZXYvYmxvZy8yMDI2LzAyLzI0L3RoZS1yZWFjdC1mb3VuZGF0aW9u" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1836004294">into the React Foundation</a> on Tuesday, freeing the company to refocus on its core mission of inducing mass AI psychosis in all your relatives over 50.</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5;">TkDodo wrote about <a href="https://c5e21242.click.convertkit-mail.com/0vu0e0g2zzb9h9vpv0eslhv84r0eqhnhnvdl/8ghqh3uozwrmq4ck/aHR0cHM6Ly90a2RvZG8uZXUvYmxvZy9jcmVhdGluZy1xdWVyeS1hYnN0cmFjdGlvbnM=" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1836004295">creating query abstractions</a>.</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5;">The Sentry team broke down <a href="https://c5e21242.click.convertkit-mail.com/0vu0e0g2zzb9h9vpv0eslhv84r0eqhnhnvdl/vqh3hmuolmwzg2sg/aHR0cHM6Ly9ibG9nLnNlbnRyeS5pby9zZXR0aW5nLXVwLW5leHQtanMtc291cmNlLW1hcHMtc2VudHJ5Lz91dG1fY2FtcGFpZ249bmV4dGpzLWZ5MjdxMS1uZXh0anMmdXRtX2NvbnRlbnQ9bmV3c2xldHRlci1zZWNvbmRhcnktYmxvZy1zb3VyY2VtYXBzLWxlYXJubW9yZSZ1dG1fbWVkaXVtPXBhaWQtY29tbXVuaXR5JnV0bV9zb3VyY2U9Ynl0ZXM=" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1836004296">how to wire up Next.js source maps</a> so you can translate minified stack traces into real file names and line numbers. [sponsored]</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5;">The VoidZero team just released the beta of <a href="https://c5e21242.click.convertkit-mail.com/0vu0e0g2zzb9h9vpv0eslhv84r0eqhnhnvdl/l2heh6uleqx8r0u6/aHR0cHM6Ly9veGMucnMvYmxvZy8yMDI2LTAyLTI0LW94Zm10LWJldGE=" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1836004297">Oxfmt</a>, their Rust-powered, Prettier-compatible code formatter. I can’t decide if coding agents mean we’ll see more JavaScript tooling rewritten in Rust – or less, now that it’s not as big of a flex as it used to be.</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5;"><a href="https://c5e21242.click.convertkit-mail.com/0vu0e0g2zzb9h9vpv0eslhv84r0eqhnhnvdl/dphehmuevdpl5ksm/aHR0cHM6Ly9leHBvLmRldi9jaGFuZ2Vsb2cvc2RrLTU1" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1836004299">Expo SDK 55</a> just dropped with a revamped default template, Hermes v1 support and new CLI tooling inside the Expo MCP Server.</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5;">Rohan S. Puranik wrote about how <a href="https://c5e21242.click.convertkit-mail.com/0vu0e0g2zzb9h9vpv0eslhv84r0eqhnhnvdl/e0hph0u76mr84wc8/aHR0cHM6Ly9zcGVjdHJ1bS5pZWVlLm9yZy9qaW1pLWhlbmRyaXgtc3lzdGVtcy1lbmdpbmVlcg==" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1836004300">Jimi Hendrix was a systems engineer</a>. Kind of like how Charles Dickens was basically a newsletter writer in his day, if you think about it.</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5;"><a href="https://c5e21242.click.convertkit-mail.com/0vu0e0g2zzb9h9vpv0eslhv84r0eqhnhnvdl/7qh7h2u9qdnrzmcz/aHR0cHM6Ly93d3cuc3BlZWNobWF0aWNzLmNvbS9iZXN0LWVhcnMtaW4tYWk_dXRtX2NhbXBhaWduPXZvaWNlLWFnZW50cyZ1dG1fY29udGVudD1uZXdzbGV0dGVyJnV0bV9tZWRpdW09cGFpZC1tZWRpYSZ1dG1fc291cmNlPWJ5dGVz" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1836004301">Speechmatics lets you build voice agents with speed you can trust</a>. Its speech API delivers ~250ms latency, built real-time first, with support for 55+ languages. LiveKit, Pipecat, Vapi ready. <span role="img" aria-label="backhand index pointing right">👉</span> <a href="https://c5e21242.click.convertkit-mail.com/0vu0e0g2zzb9h9vpv0eslhv84r0eqhnhnvdl/7qh7h2u9qdnrzmcz/aHR0cHM6Ly93d3cuc3BlZWNobWF0aWNzLmNvbS9iZXN0LWVhcnMtaW4tYWk_dXRtX2NhbXBhaWduPXZvaWNlLWFnZW50cyZ1dG1fY29udGVudD1uZXdzbGV0dGVyJnV0bV9tZWRpdW09cGFpZC1tZWRpYSZ1dG1fc291cmNlPWJ5dGVz" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1836004301">Start with $200 free credits</a>. [sponsored]</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5;"><a href="https://c5e21242.click.convertkit-mail.com/0vu0e0g2zzb9h9vpv0eslhv84r0eqhnhnvdl/owhkhwuwpxq2o8hv/aHR0cHM6Ly9lbmRvd21lbnQuZGV2Lw==" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1836004302">endowment.dev</a> is a new fund started by some prolific open-source creators (who also happen to be rich now) to create “truly sustainable funding for critical OSS.”</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5;">Aurora Scharff wrote about <a href="https://c5e21242.click.convertkit-mail.com/0vu0e0g2zzb9h9vpv0eslhv84r0eqhnhnvdl/z2hgh7uen5lqwoup/aHR0cHM6Ly9hdXJvcmFzY2hhcmZmLm5vL3Bvc3RzL2J1aWxkaW5nLWRlc2lnbi1jb21wb25lbnRzLXdpdGgtYWN0aW9uLXByb3BzLXVzaW5nLWFzeW5jLXJlYWN0Lw==" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1836004303">building design components with action props using Async React</a>.</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5;">You can now feed your coding agents <a href="https://c5e21242.click.convertkit-mail.com/0vu0e0g2zzb9h9vpv0eslhv84r0eqhnhnvdl/p8hehqu4mrqnxzsq/aHR0cHM6Ly9naXRodWIuY29tL2FuYWxvZ2pzL2FuZ3VsYXItc2tpbGxz" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1836004304">Angular Skills</a> to give them modern defaults for writing Angular apps. Do all these agent skills actually do anything? Unclear. But they do make humans feel like we’re helping.</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://c5e21242.click.convertkit-mail.com/0vu0e0g2zzb9h9vpv0eslhv84r0eqhnhnvdl/reh8h9um4k6gwob2/aHR0cHM6Ly93d3cubWV0aWN1bG91cy5haS8_dXRtX2NhbXBhaWduPTI2cTEmdXRtX2NvbnRlbnQ9cHJlc2VudGluZyZ1dG1fbWVkaXVtPW5ld3NsZXR0ZXImdXRtX3NvdXJjZT1ieXRlcw==" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1836004293">Meticulous</a>
</h4></div>
</div>
<p style="font-family: Outfit, sans-serif; font-size: 17px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">Private fields are not inherited by subclasses. The <code style="font-size: 14px;">#name</code> field is not accessible in the <code style="font-size: 14px;">Student</code> class, so the <code style="font-size: 14px;">introduce</code> method will throw an error. To fix this, you can add a getter method to the <code style="font-size: 14px;">Person</code> class that returns the value of the <code style="font-size: 14px;">#name</code> field.</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: 14px; 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: 14px; 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: 14px;">class</span> <span class="token class-name" style="color: #12b5e5; font-size: 14px;">Person</span> <span class="token punctuation" style="color: #231F20; font-size: 14px;">{</span>
#name<span class="token punctuation" style="color: #231F20; font-size: 14px;">;</span>
<span class="token function" style="color: #9d7dce; font-size: 14px;">constructor</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">(</span><span class="token parameter" style="color: #f38ba3; font-size: 14px;">name</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;">this</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">.</span>#name <span class="token operator" style="color: #12b5e5; font-size: 14px;">=</span> name<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;">introduce</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>
console<span class="token punctuation" style="color: #231F20; font-size: 14px;">.</span><span class="token function" style="color: #9d7dce; font-size: 14px;">log</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">(</span><span class="token template-string" style="font-size: 14px;"><span class="token template-punctuation string" style="color: #f99157; font-size: 14px;">`</span><span class="token string" style="color: #f99157; font-size: 14px;">Hello, my name is </span><span class="token interpolation" style="color: #12b5e5; font-size: 14px;"><span class="token interpolation-punctuation punctuation" style="color: #231F20; font-size: 14px;">${</span><span class="token keyword" style="color: #f38ba3; font-size: 14px;">this</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">.</span>#name<span class="token interpolation-punctuation punctuation" style="color: #231F20; font-size: 14px;">}</span></span><span class="token string" style="color: #f99157; font-size: 14px;">.</span><span class="token template-punctuation string" style="color: #f99157; font-size: 14px;">`</span></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 function" style="color: #9d7dce; font-size: 14px;">_getName</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> <span class="token keyword" style="color: #f38ba3; font-size: 14px;">this</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">.</span>#name<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;">class</span> <span class="token class-name" style="color: #12b5e5; font-size: 14px;">Student</span> <span class="token keyword" style="color: #f38ba3; font-size: 14px;">extends</span> <span class="token class-name" style="color: #12b5e5; font-size: 14px;">Person</span> <span class="token punctuation" style="color: #231F20; font-size: 14px;">{</span>
#grade<span class="token punctuation" style="color: #231F20; font-size: 14px;">;</span>
<span class="token function" style="color: #9d7dce; font-size: 14px;">constructor</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">(</span><span class="token parameter" style="color: #f38ba3; font-size: 14px;">name<span class="token punctuation" style="color: #231F20; font-size: 14px;">,</span> grade</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;">super</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">(</span>name<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;">this</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">.</span>#grade <span class="token operator" style="color: #12b5e5; font-size: 14px;">=</span> grade<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;">introduce</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>
console<span class="token punctuation" style="color: #231F20; font-size: 14px;">.</span><span class="token function" style="color: #9d7dce; font-size: 14px;">log</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">(</span>
<span class="token template-string" style="font-size: 14px;"><span class="token template-punctuation string" style="color: #f99157; font-size: 14px;">`</span><span class="token string" style="color: #f99157; font-size: 14px;">Hello, my name is </span><span class="token interpolation" style="color: #12b5e5; font-size: 14px;"><span class="token interpolation-punctuation punctuation" style="color: #231F20; font-size: 14px;">${</span><span class="token keyword" style="color: #f38ba3; font-size: 14px;">this</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">.</span><span class="token function" style="color: #9d7dce; font-size: 14px;">_getName</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 interpolation-punctuation punctuation" style="color: #231F20; font-size: 14px;">}</span></span><span class="token string" style="color: #f99157; font-size: 14px;"> and I am in grade </span><span class="token interpolation" style="color: #12b5e5; font-size: 14px;"><span class="token interpolation-punctuation punctuation" style="color: #231F20; font-size: 14px;">${</span><span class="token keyword" style="color: #f38ba3; font-size: 14px;">this</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">.</span>#grade<span class="token interpolation-punctuation punctuation" style="color: #231F20; font-size: 14px;">}</span></span><span class="token string" style="color: #f99157; font-size: 14px;">.</span><span class="token template-punctuation string" style="color: #f99157; font-size: 14px;">`</span></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 punctuation" style="color: #231F20; font-size: 14px;">}</span>
<span class="token keyword" style="color: #f38ba3; font-size: 14px;">const</span> student <span class="token operator" style="color: #12b5e5; font-size: 14px;">=</span> <span class="token keyword" style="color: #f38ba3; font-size: 14px;">new</span> <span class="token class-name" style="color: #12b5e5; font-size: 14px;">Student</span><span class="token punctuation" style="color: #231F20; font-size: 14px;">(</span><span class="token string" style="color: #f99157; font-size: 14px;">"John"</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>
student<span class="token punctuation" style="color: #231F20; font-size: 14px;">.</span><span class="token function" style="color: #9d7dce; font-size: 14px;">introduce</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>
</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/0vu0e0g2zzb9h9vpv0eslhv84r0eqhnhnvdl/x0hph3ueokq53ef5/aHR0cHM6Ly9ieXRlcy5kZXYvYWR2ZXJ0aXNl" url-id="1836004305">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/0vu0e0g2zzb9h9vpv0eslhv84r0eqhnhnvdl/6qhehoulzx9monuo/aHR0cHM6Ly9ieXRlcy5kZXYvc2hhcmU=" url-id="1836004306">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/0vu0e0g2zzb9h9vpv0eslhv84r0eqhnhnvdl/kkhmh2unrzxkmmul/aHR0cHM6Ly9maXJlc2hpcC5kZXY=" url-id="1836004307">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/0vu0e0g2zzb9h9vpv0eslhv84r0eqhnhnvdl/25h2h9u36lmkdla3/aHR0cHM6Ly9ieXRlcy5kZXYvdW5zdWJzY3JpYmU=" style="color: #9B9890;" url-id="1836004309">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/0vu0e0g2zzb9h9vpv0eslhv84r0eqhnhnvdl">Unsubscribe</a></span>
<!-- -->
<img src="https://c5e21242.open.convertkit-mail.com/0vu0e0g2zzb9h9vpv0eslhv84r0eqhnhnvdl" alt="">
</body>
</html>