<!DOCTYPE html><html lang="en" xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" style="font-size:16px;"><head></head><head><meta charset="utf-8"/><!--[if !mso]><!--><meta http-equiv="X-UA-Compatible" content="IE=edge"/><!--<![endif]--><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="x-apple-disable-message-reformatting"/><meta name="format-detection" content="telephone=no,address=no,email=no,date=no,url=no"/><meta name="color-scheme" content="light"/><meta name="supported-color-schemes" content="light"/><title>🧵 Your React app is shipping MBs of useless JS</title><!--[if mso]><xml><o:OfficeDocumentSettings><o:AllowPNG/><o:PixelsPerInch>96</o:PixelsPerInch></o:OfficeDocumentSettings></xml><![endif]--><style>
:root { color-scheme: light; supported-color-schemes: light; }
body { margin: 0; padding: 0; min-width: 100%!important; -ms-text-size-adjust: 100% !important; -webkit-transform: scale(1) !important; -webkit-text-size-adjust: 100% !important; -webkit-font-smoothing: antialiased !important; }
.body { word-wrap: normal; word-spacing:normal; }
table.mso { width: 100%; border-collapse: collapse; padding: 0; table-layout: fixed; }
img { border: 0; outline: none; }
table { mso-table-lspace: 0px; mso-table-rspace: 0px; }
td, a, span { mso-line-height-rule: exactly; }
#root [x-apple-data-detectors=true],
a[x-apple-data-detectors=true],
#MessageViewBody a { color: inherit !important; text-decoration: inherit !important; font-size: inherit !important; font-family: inherit !important; font-weight: inherit !important; line-height: inherit !important; }
span.MsoHyperlink { color: inherit !important; mso-style-priority: 99 !important; }
span.MsoHyperlinkFollowed { color: inherit !important; mso-style-priority: 99 !important; }
.a { background-color:#ffffff; }
.b { background-color:#030712; }
.c { background-color:#ffffff; }
.d { background-color:#EAEBEC; }
.d2 { background-color:#FFFFFF; }
.d3 { background-color:#FFFFFF; }
h1 a { text-decoration:underline;color:#a6825a !important;font-weight:bold;font-style:italic; }
h2 a { text-decoration:underline;color:#a6825a !important;font-weight:bold;font-style:italic; }
h3 a { text-decoration:underline;color:#a6825a !important;font-weight:bold;font-style:italic; }
h4 a { text-decoration:underline;color:#a6825a !important;font-weight:bold;font-style:italic; }
h5 a { text-decoration:underline;color:#a6825a !important;font-weight:bold;font-style:italic; }
h6 a { text-decoration:underline;color:#a6825a !important;font-weight:bold;font-style:italic; }
h1, h1 a, h2, h2 a, h3, h3 a, h4, h4 a, h5, h5 a, h6, h6 a, ul, li, ol, p, p a { margin: 0;padding: 0; }
h1 { font-family:'Trebuchet MS','Lucida Grande',Tahoma,sans-serif;font-weight:400;font-size:28px;color:#2A2A2A;line-height:42px;padding-bottom:4px;padding-top:16px;mso-margin-top-alt:16px;mso-margin-bottom-alt:4px }
h2 { font-family:'Trebuchet MS','Lucida Grande',Tahoma,sans-serif;font-weight:400;font-size:24px;color:#2A2A2A;line-height:36px;padding-bottom:4px;padding-top:16px;mso-margin-top-alt:16px;mso-margin-bottom-alt:4px }
h3 { font-family:'Trebuchet MS','Lucida Grande',Tahoma,sans-serif;font-weight:400;font-size:20px;color:#a6825a;line-height:30px;padding-bottom:4px;padding-top:16px;mso-margin-top-alt:16px;mso-margin-bottom-alt:4px }
h4 { font-family:'Trebuchet MS','Lucida Grande',Tahoma,sans-serif;font-weight:400;font-size:18px;color:#2A2A2A;line-height:27px;padding-bottom:4px;padding-top:16px;mso-margin-top-alt:16px;mso-margin-bottom-alt:4px }
h5 { font-family:'Trebuchet MS','Lucida Grande',Tahoma,sans-serif;font-weight:400;font-size:16px;color:#2A2A2A;line-height:24px;padding-bottom:4px;padding-top:16px;mso-margin-top-alt:16px;mso-margin-bottom-alt:4px }
h6 { font-family:'Trebuchet MS','Lucida Grande',Tahoma,sans-serif;font-weight:400;font-size:14px;color:#2A2A2A;line-height:21px;padding-bottom:4px;padding-top:16px;mso-margin-top-alt:16px;mso-margin-bottom-alt:4px }
p { font-family:'Helvetica',Arial,sans-serif;font-weight:400;color:#2D2D2D;font-size:16px;line-height:24px;padding-bottom:12px;padding-top:12px;mso-margin-top-alt:12px;mso-margin-bottom-alt:12px; }
p a, .e a, ul a, li a, .h a, .h2 a, .h3 a { word-break:break-word;color:#a6825a !important;text-decoration:underline;text-decoration-color:#a6825a;font-weight:bold;font-style:italic; }
p a span, .e a span, ul a span, li a span { color: inherit }
p .bold { font-weight:bold;color:#2D2D2D; }
p span[style*="font-size"] { line-height: 1.6; }
.f p { font-size:12px;line-height:15px;color:#2D2D2D;padding:0; }
.f p a { color:#2D2D2D !important; }
.g p { font-family:'Helvetica',Arial,sans-serif;font-size:14px;line-height:20px;font-weight:normal;margin:0; }
.g p a { text-decoration: underline; }
.i p { font-family:'Helvetica',Arial,sans-serif;line-height:23px;font-size:15px;color:#2D2D2D; }
.i p a { color:#2D2D2D !important; }
.i2 p { font-family:'Helvetica',Arial,sans-serif;line-height:23px;font-size:15px;color:#2D2D2D; }
.i2 p a { color:#2D2D2D !important; }
.i3 p { font-family:'Helvetica',Arial,sans-serif;line-height:43px;font-size:24px;color:#2D2D2D; }
.i3 p a { color:#2D2D2D !important; }
.h p a { color:#0C4A6E !important; }
.h2 p a { color:#0C4A6E !important; }
.h3 p a { color:#0C4A6E !important; }
.f p a, .i p a, .i2 p a, .i3 p a, .h p a, .h2 p a, .h3 p a { text-decoration:underline; }
.j { border-top:4px solid #a6825a; }
.k p { padding-left:15px;padding-bottom:0px;padding-top:6px;mso-margin-top-alt:6px;mso-margin-bottom-alt:0px;mso-margin-left-alt:15px; }
.o { background-color:#FFFFFF;border:1px solid #F1F1F1;border-radius:5px; }
.o p { font-family:'Helvetica',Arial,sans-serif;padding:0px;margin:0px; }
.l p,
.l p a, .l a { font-size:14px;line-height:20px;font-weight: bold;color:#2D2D2D;padding-bottom:6px;mso-margin-bottom-alt:6px;text-decoration:none; }
.m p,
.m p a { font-size:13px;line-height:18px;font-weight:400;color:#2D2D2D;padding-bottom:6px;mso-margin-bottom-alt:6px;text-decoration:none; }
.n p,
.n p a { font-size:12px;line-height:17px;font-weight:400;color:#2D2D2D;padding-bottom:6px;mso-margin-bottom-alt:6px;text-decoration:none; }
.p { background-color:#FFFFFF;max-width:520px;border:1px solid #E1E8ED;border:1px solid rgba(80, 80, 80, 0.3);border-radius:5px; }
.q { font-size:16px;font-family:Helvetica,Roboto,Calibri,sans-serif !important;border:1px solid #e1e8ed;border:1px solid rgba(80, 80, 80, 0.3);border-radius:10px;background-color:#FFFFFF; }
.q p { font-size:16px;font-family:system-ui,Helvetica,Roboto,Calibri,sans-serif !important;color:#222222;padding:4px 0; }
.r { border:1px solid #E1E8ED !important;border-radius:5px; }
.s p { font-size: 14px; line-height: 17px; font-weight: 400; color: #697882; text-decoration: none; }
.t p { font-family:'Helvetica',Arial,sans-serif;font-size:12px;line-height:18px;font-weight:400;color:#000000;font-style:italic;padding:4px 0px 0px; }
.v { border-radius:10px;border:solid 0px #a6825a;background-color:#a6825a;font-family:'Verdana',Geneva,sans-serif;color:#000000; }
.v a { text-decoration:none;display:block;color:#000000; }
.w p { font-size:12px;line-height:15px;font-weight:400;color:#FFFFFF; }
.w p a { text-decoration: underline !important;color:#FFFFFF !important; }
ul { font-family:'Helvetica',Arial,sans-serif;margin:0px 0px 0px 25px !important;padding:0px !important;color:#2D2D2D;line-height:24px;list-style:disc;font-size:16px; }
ul > li { font-family:'Helvetica',Arial,sans-serif;margin:10px 0px 0px 0px !important;padding: 0px 0px 0px 0px !important; color: #2D2D2D; list-style:disc; }
ol { font-family:'Helvetica',Arial,sans-serif;margin: 0px 0px 0px 25px !important;padding:0px !important;color:#2D2D2D;line-height:24px;list-style:decimal;font-size:16px; }
ol > li { font-family:'Helvetica',Arial,sans-serif;margin:10px 0px 0px 0px !important;padding: 0px 0px 0px 0px !important; color: #2D2D2D; }
.e h3,
.e p,
.e span { padding-bottom:0px;padding-top:0px;mso-margin-top-alt:0px;mso-margin-bottom-alt:0px; }
.e span,
.e li { font-family:'Helvetica',Arial,sans-serif;font-size:16px;color:#2D2D2D;line-height:24px; }
.rec { font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji" !important; }
.rec__button:hover { background-color: #f9fafb !important; }
.copyright a {color: inherit !important; text-decoration: none !important; font-size: inherit !important; font-family: inherit !important; font-weight: inherit !important; line-height: inherit !important;}
.txt_social p { padding: 0; word-break: break-all; }
.table, .table-c, .table-h { border: 1px solid #C0C0C0; }
.table-c { padding:5px; background-color:#FFFFFF; }
.table-c p { color: #2D2D2D; font-family:'Helvetica',Arial,sans-serif !important;overflow-wrap: break-word; }
.table-h { padding:5px; background-color:#F1F1F1; }
.table-h p { color: #2A2A2A; font-family:'Trebuchet MS','Lucida Grande',Tahoma,sans-serif !important;overflow-wrap: break-word; }
@media only screen and (max-width:667px) {
.aa, .w100pc { width: 100% !important; }
.bb img { width: 100% !important; height: auto !important; max-width: none !important; }
.cc { padding: 0px 8px !important; }
.ee { padding-top:10px !important;padding-bottom:10px !important; }
.ff ul, .ff ol { margin: 0px 0px 0px 10px !important;padding: 0px !important; }
.ff li { margin:10px 0px 0px 10px !important; }
.r {height:140px !important;}
.s p { font-size:13px !important;line-height:15px !important; }
.mob-hide {display:none !important;}
.mob-show {display: block !important; width: auto !important; overflow: visible !important; float: none !important; max-height: inherit !important; line-height: inherit !important;}
.mob-stack {width:100% !important;display:block !important;}
.mob-w-full {width:100% !important;}
.mob-block {display:block !important;}
.embed-img {padding:0px 0px 12px 0px !important;}
.socialShare {padding-top:15px !important;}
.rec { padding-left:15px!important;padding-right:15px!important; }
.bodyWrapper { padding:10px 4px 10px 4px !important; }
.social-mobile {float:left !important;margin-top:10px !important;}
}
@media screen and (max-width: 480px) {
u + .a .gg { width: 100% !important; width: 100vw !important; }
.tok-heart { padding-top:75% !important; }
.tok-play { padding-top: 250px !important; }
}
@media screen and (max-width: 320px) {
.tok-heart { padding-top:65% !important; }
}
.u { border: 1px solid #CACACA !important; border-radius: 2px !important; background-color: #ffffff !important; padding: 0px 13px 0px 13px !important; font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif !important;font-size: 12px !important; color: #767676 !important; }
.u a { text-decoration: none; display: block !important; color: #767676 !important; margin: 0px !important; }
.u span, .u img { color: #767676 !important;margin:0px !important; max-height:32px !important;background-color:#ffffff !important; }
</style><!--[if mso]><style type="text/css">
h1, h2, h3, h4, h5, h6 {font-family: Arial, sans-serif !important;}
body, table, td, p, a, span {font-family: Arial, sans-serif !important;}
sup { font-size: 100% !important;vertical-align: .5em !important;mso-text-raise: -1.5% !important;line-height: 0 !important; }
ul { margin-left:0px !important; margin-right:10px !important; margin-top:20px !important; margin-bottom:20px !important; }
ul li { margin-left: 0px !important; mso-special-format: decimal; }
ol { margin-left:0px !important; margin-right:10px !important; margin-top:20px !important; margin-bottom:20px !important; }
ol li { margin-left: 0px !important; mso-special-format: decimal; }
li.listItem { margin-left:15px !important; margin-top:0px !important; }
.paddingDesktop { padding: 10px 0 !important; }
.edm_outlooklist { margin-left: -20px !important; }
.embedImage { display:none !important; }
</style><![endif]--><!-- __merge_tags_in_links__ --><style></style></head><body class="a" style="margin:0px auto;padding:0px;word-wrap:normal;word-spacing:normal;background-color:#ffffff;"><div role="article" aria-roledescription="email" aria-label="email_name" lang="en" style="font-size:1rem"><div style="display:none;max-height:0px;overflow:hidden;"> React’s async future, TanStack AI, CSS Wrapped 2025, agentic coding, and why software might be 90% cheaper to build. Big week of releases before the holidays.  ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ </div><table role="none" width="100%" border="0" cellspacing="0" align="center" cellpadding="0" class="gg"><tr><td align="center" valign="top"><table role="none" width="670" border="0" cellspacing="0" cellpadding="0" class="aa" style="width:670px;table-layout:fixed;"><tr><td class="bodyWrapper" align="center" valign="top" style="padding:10px 5px 10px 5px;"><table role="none" width="100%" border="0" cellspacing="0" cellpadding="0" align="center"><tr><td align="center" valign="top" style="border-width:0px 0px 0px 0px;border-style: solid; border-color: #FFFFFF;border-radius:10px 10px 0px 0px;background-color:#ffffff;" class="c"><table role="none" width="100%" border="0" cellspacing="0" cellpadding="0" align="center"><tr id="header"><td style="padding:15px 15px 0px 15px;"><div style="padding-top:0px;padding-right:0px;padding-bottom:20px;padding-left:0px;"><table role="none" width="100%" border="0" cellspacing="0" cellpadding="0" align="center"><tr><td class="f" align="right" valign="top"><p> December 11, 2025 | <a href="https://link.mail.beehiiv.com/ls/click?upn=u001.hNypL3L8TokyM5Rky05o9JDNntLr6wlKbHz9T6LOwNI6RZjep3d7HoqQ-2Bn-2BDhLJbOd-2BMNq4B-2B8lIUaRYmKdwA8HjCkWs5U5rQOXOs0GP-2BLg2IwrhBv5TcuM-2F1GUsR303VQt4lkhpUSU8MJ-2FeDAlsQWRkbjpgRSsx9indy5GT5jtB8PTLSlwd36j6D69pNKrIxkXjbUt8nBvISjDkZStkMmj6xB-2F2nhQ69P-2BQSaw4I0iKs2FX8VwpAVDHY4OqCVgYN4geTQ-2B-2B-2FYahicLUv-2FljhnxDMOZwOS0tVV-2Bat0J1gu3ibmBCrpibRyZCHkXxi3j9LEOwtpH-2FA4r1ChZkqa-2BdXctSCkVHoAeyjb7B45DDijsK9M1LI26rLVZI38LR0xvfvecTgouhfQo7Gxmb-2FwLWLWoxbcorfWhiF15D24IC3V2nj33ktsadlOYWdJpzok7L7YnmZxNrJ2zUT164yDs9fQ-3D-3DC6Ji_2pv9X20uw9-2BKo8fIdy0J8-2FiGKYTUvtcSuvFh1aGIl0yzP4FvP-2BTiVmOST7Re4R7jVTuNfOE4ta8SNgc8L3nm5lJMRM6kPuFKT5cO9s87dB-2FzXL9aqqeqJFMWQmVzweadsMiv2TPQhc5tqjCX50M-2FaP3EVwAyEnETSPh4u4TGRV-2BaxjH0emOcpV9b5FlAh0LUR2ldLYMiD2qWPAoy5siLLsPwxGMEqdmQPITKFagQcNkX7pJG-2B5bkmJSEhmiF9nRZ1nSGO3jMXXTttcy2wlSMbcAoZuVvpPzyVjNShisjXsdhJX8GPurrISssfgkLXNBj3GcalRZThWqPzC2TieEtAORA7l4NWp-2Fq7d1spqoJmGOMv5vqoeD9k4Jjflpei5vgXDCFlYEkxaza2nBbp70ibtwucegh0raMMnrqreE7WUr55mA-2BhyPn785H209kOtrtvzHp690soQDkt9J7lmJcmIXnG6soeH4kHw6Zr-2Fa8Q3zBnLy3LfDAvhYHeAGT04YqdcrFG9kp6-2BQLaWyLRKvkCxmcpYsiJhJPu6Fav3S-2BBL0-3D"><span class="translation_missing" title="translation missing: en.templates.posts.email.header.read_online">Read Online</span></a></p></td></tr><tr><td style="line-height:0;"><div data-open-tracking="true"> <img src="https://link.mail.beehiiv.com/wf/open?upn=u001.nYUPT62rnz2LOikSXdhMvG4MAYNbROapfMyuxuj9X195UrmEhScHVFxVaI0pFdttqiY91OOVl0Lge-2FYa21eT-2F-2BYcrhcgdKGElRUM3K-2F83ckKHgV0HdYFZ0AJNTlwT5K-2FG46jW7JGOP2gQ5IQZsYbSQL-2FK5r-2FiIgl1K-2FSJ5KGAVXMhfDSALWUWL7uqm2EQom1RTWaD9Bu7CDBN3hKTFNwiIAbWf25KNBH2Cch0MIi4QyQBwpsEQS-2Fb08c-2Fab3R4wJakRfwTEPChjM-2BClWFsRs-2BLfFdGgEDHO1xnhsrKqEm2rZ1Jt7NqwuiOH8q409UNk4aMfh-2Bl1UzRv-2F2kEpSW0VNEfpXYG9oHbwj5IxrL22fByH7VgrIsL9l69DlbscgSgRGqiSH1VAiNK6eFP-2BJeMhszwJLIt86n89wTgnbKU0SHNvIsppNa7daMoCEvhacusXcrfwgKBgxE1gOu-2FwCJTDe3g0jJFjwK8QHZyqV35k4i7XyyZiaMWxkLW8nuSLjevJCzq6veWttvEDiuRExZCSe6oAM7sboZrh5Ra64FFve8o-3D" alt="" width="1" height="1" border="0" style="height:1px !important;width:1px !important;border-width:0 !important;margin-top:0 !important;margin-bottom:0 !important;margin-right:0 !important;margin-left:0 !important;padding-top:0 !important;padding-bottom:0 !important;padding-right:0 !important;padding-left:0 !important;"/> </div></td></tr></table></div></td></tr><tr id="content-blocks"><td class="email-card-body" align="center" valign="top" style="padding-bottom:15px;"><table role="none" width="100%" border="0" cellspacing="0" cellpadding="0" align="center"><tr><td><table role="none" width="100%" border="0" cellspacing="0" cellpadding="0" style=""><tr><td bgcolor="transparent" style="background-color:transparent;padding:0.0px 0.0px 0.0px 0.0px;"><table role="none" width="100%" border="0" cellspacing="0" cellpadding="0"><tr><td class="dd" align="center" style="padding:0px 15px;text-align:center;word-break:break-word;"><p style="mso-line-height-alt:150.0%;"><span style="color:#161616;"><b><a class="link" href="https://link.mail.beehiiv.com/ls/click?upn=u001.hNypL3L8TokyM5Rky05o9IMTTiFq0ZTlAodJ5I8QayyfQiOc6yh2EXJ8IRbFs3cJxdXkoRPkemJ1qdTpkAI5gbJ9Ax2w7EdwbkQzVgROx9QR1BzNU9pweiAaU-2BSCRm-2FFGInB-2B5pzkgnPQFrvGypWBUYFycr38jir4hrCJNC1Awr21ZyJK5xdOQtw827cPi-2BKYxujSX44GwfjBtlNk0r-2BsPeSO9gIk4KFp96m64gLNgUzuMcliBUbqxHoKfu448t-2FrkyLVGF2H-2BYavwbNKi1tfAGl9ECQuwhULb92aAHN86k-3D8LTK_2pv9X20uw9-2BKo8fIdy0J8-2FiGKYTUvtcSuvFh1aGIl0yzP4FvP-2BTiVmOST7Re4R7jVTuNfOE4ta8SNgc8L3nm5lJMRM6kPuFKT5cO9s87dB-2FzXL9aqqeqJFMWQmVzweadsMiv2TPQhc5tqjCX50M-2FaP3EVwAyEnETSPh4u4TGRV-2BaxjH0emOcpV9b5FlAh0LUR2ldLYMiD2qWPAoy5siLLsPwxGMEqdmQPITKFagQcNkX7pJG-2B5bkmJSEhmiF9nRZ1nSGO3jMXXTttcy2wlSMbcAoZuVvpPzyVjNShisjXsdhJX8GPurrISssfgkLXNBj3GcalRZThWqPzC2TieEtAORA7l4NWp-2Fq7d1spqoJmGOMv5vqoeD9k4Jjflpei5vgXDCFlYEkxaza2nBbp70ibmHm56-2BY56Y0oALG8nGy-2Fo-2Bj-2Bb1M2AT6oWpMrrTF4y2FbBU1ZEwLve0oLBnOiOGntQ3nsKWUsvkZdei-2BCv8Ww48ipp24OLu8lzn50hnM1Pg5f0s2AAppL1T6o67xmOUGxuSa2YXtNn86R-2FMYb-2FoB54s-3D" target="_blank" rel="noopener noreferrer nofollow"><span>Your Complete React Learning Platform</span></a></b></span><span style="color:#161616;"> </span><span style="color:#161616;"><b>| </b></span><span style="color:#161616;"><b><a class="link" href="https://link.mail.beehiiv.com/ls/click?upn=u001.hNypL3L8TokyM5Rky05o9GGxwM96eQbd0lu7oIx5MD1KobHP6TGDwFn7R32-2FREpxJw-2BuxMz92F1dilGhYGNp1-2BfGt48qCj6R55oEqD2tiPHeQo38krwd8Xv3WPySw6uOxfCH2Ok-2FOhx12v-2FP-2FkOZXcikVjOH8Oa-2BNaGp-2B3kz07kaT2Iu2u0kzvURvREKECXd9PQfLkESurC8dwNnZszr0h1hk5nINbf6FB-2BADkilX1s9nTpBr2XOtc-2BpSSDkcekX1lrLtWkmYFCTkRf7Fc7OVvTmidoTzFJsFOJhPHyllZA-3DtzGe_2pv9X20uw9-2BKo8fIdy0J8-2FiGKYTUvtcSuvFh1aGIl0yzP4FvP-2BTiVmOST7Re4R7jVTuNfOE4ta8SNgc8L3nm5lJMRM6kPuFKT5cO9s87dB-2FzXL9aqqeqJFMWQmVzweadsMiv2TPQhc5tqjCX50M-2FaP3EVwAyEnETSPh4u4TGRV-2BaxjH0emOcpV9b5FlAh0LUR2ldLYMiD2qWPAoy5siLLsPwxGMEqdmQPITKFagQcNkX7pJG-2B5bkmJSEhmiF9nRZ1nSGO3jMXXTttcy2wlSMbcAoZuVvpPzyVjNShisjXsdhJX8GPurrISssfgkLXNBj3GcalRZThWqPzC2TieEtAORA7l4NWp-2Fq7d1spqoJmGOMv5vqoeD9k4Jjflpei5vgXDCFlYEkxaza2nBbp70ibg38eDj1hptBL0WfJ-2FJhpACKDJJjx-2F1ORLCVetPrZQif4tJZCB6DuTDWw-2BjzdWs7Jdbb-2FaN2Ic4TpUXy38BrY7S6jvlMK8XWyEGtUFu6TLeAhTkS1JSeBkF-2BYC0rGiebgdDvWvH4lKLSwooyF82mm8A-3D" target="_blank" rel="noopener noreferrer nofollow"><span>My channel</span></a></b></span><span style="color:#161616;"> </span><span style="color:#161616;"><b>| </b></span><span style="color:#161616;"><b><a class="link" href="https://link.mail.beehiiv.com/ls/click?upn=u001.hNypL3L8TokyM5Rky05o9P9H5uyfQadCsjv09yBIOrNHQwHN9b7ZVOMuNjKfYEqmSl0qaUKgjSK3UNQjjXivuH-2FTx0swYyODZW5sb6yZYBPMgvuUpOQi51Z692OkpgTdoXNKmAadAdtUHIPNpH7KcHbuwOA4Cnp44Ix-2Fje-2Bn8EtcoSJ-2FfHaLbnT8lNfs2tb6kLpA2A0WGkCbEd-2BGmXuwKbuZlYZfgFcHrRdAPPhsh-2BYDVcJMHa64wbZJzQMQcoV8w4Ktf-2FQOf6-2BOjDlv700wfQ-3D-3D-pEn_2pv9X20uw9-2BKo8fIdy0J8-2FiGKYTUvtcSuvFh1aGIl0yzP4FvP-2BTiVmOST7Re4R7jVTuNfOE4ta8SNgc8L3nm5lJMRM6kPuFKT5cO9s87dB-2FzXL9aqqeqJFMWQmVzweadsMiv2TPQhc5tqjCX50M-2FaP3EVwAyEnETSPh4u4TGRV-2BaxjH0emOcpV9b5FlAh0LUR2ldLYMiD2qWPAoy5siLLsPwxGMEqdmQPITKFagQcNkX7pJG-2B5bkmJSEhmiF9nRZ1nSGO3jMXXTttcy2wlSMbcAoZuVvpPzyVjNShisjXsdhJX8GPurrISssfgkLXNBj3GcalRZThWqPzC2TieEtAORA7l4NWp-2Fq7d1spqoJmGOMv5vqoeD9k4Jjflpei5vgXDCFlYEkxaza2nBbp70ibro77fPNcBjni-2BpQwNeSBdStzJwWNDOBhyhS-2FJdF9VrulZKazMfc9U-2B730MOQiVyCMOZtkHKWg10zizJbdBpyv88cf-2BFvgu3qqn5qOnw2W4jFVqAsvfmznD-2BECGoAwjY9insyFjbEjRKHFH8fNNZhyM-3D" target="_blank" rel="noopener noreferrer nofollow"><span>Sponsor This Newsletter</span></a></b></span></p></td></tr><tr><td align="center" valign="top" style="padding-bottom:20px;padding-left:15px;padding-right:15px;padding-top:20px; " class="dd"><table role="none" border="0" cellspacing="0" cellpadding="0" style="margin:0 auto 0 auto;"><tr><td align="center" valign="top" style="width:126px;"><img src="https://media.beehiiv.com/cdn-cgi/image/fit=scale-down,format=auto,onerror=redirect,quality=80/uploads/asset/file/49f41ede-f34d-44d3-be63-576c8db69686/500w-logo.png?t=1738244373" alt="Cosden Solutions Logo" height="auto" width="126" style="display:block;width:100%;border-radius:0px 0px 0px 0px;border-style:solid;border-width:0px 0px 0px 0px;box-sizing:border-box;border-color:#E5E7EB;" border="0"/></td></tr></table></td></tr><tr><td class="dd" align="left" style="padding:0px 15px;text-align:left;word-break:break-word;"><p style="mso-line-height-alt:150.0%;"><span style="color:rgb(3, 7, 18);">Hey guys,</span></p></td></tr><tr><td class="dd" align="left" style="padding:0px 15px;text-align:left;word-break:break-word;"><p style="mso-line-height-alt:150.0%;"><span style="color:rgb(3, 7, 18);font-family:Helvetica, Arial, sans-serif;font-size:16px;">Welcome to another edition of </span><span style="color:rgb(3, 7, 18);font-family:Helvetica, Arial, sans-serif;font-size:16px;"><b>Import React </b></span><span style="color:rgb(3, 7, 18);font-family:Helvetica, Arial, sans-serif;font-size:16px;">by Cosden Solutions!</span></p></td></tr><tr><td class="dd" align="left" style="padding:0px 15px;text-align:left;word-break:break-word;"><p style="mso-line-height-alt:150.0%;"><span style="color:#161616;">We’re getting closer to the holidays, so you’d expect things to quiet down, but somehow this week delivered bangers across React, CSS, and AI. Async React, TanStack AI, agentic coding, bundle-slashing, productivity frameworks, and more.</span></p></td></tr><tr><td class="dd" align="left" style="padding:0px 15px;text-align:left;word-break:break-word;"><p style="mso-line-height-alt:150.0%;"><span style="color:#161616;">Let’s get into it. </span>👇️<span style="color:#161616;"> </span></p></td></tr></table></td></tr></table></td></tr><tr><td align="center" valign="top" style="font-size:0px;line-height:0px;padding:30px 0px 30px;" class="dd"><table class="j" role="none" width="80%" border="0" cellspacing="0" cellpadding="0" align="center"><tr><td> </td></tr></table></td></tr><tr><td class="dd" align="left" style="padding:0px 15px;text-align:left;word-break:break-word;"><p style="mso-line-height-alt:150.0%;"><b>This Week's Sponsor Is… Well, Me!</b></p></td></tr><tr><td class="dd" align="left" style="padding:0px 15px;text-align:left;word-break:break-word;"><p style="mso-line-height-alt:150.0%;"> Quick question: Have you ever finished a React tutorial, felt pretty good about it, and then immediately thought… </p></td></tr><tr><td class="dd" align="left" style="padding:0px 15px;text-align:left;word-break:break-word;"><p style="mso-line-height-alt:150.0%;"><i>"Okay… so what do I learn next?"</i></p></td></tr><tr><td class="dd" align="left" style="padding:0px 15px;text-align:left;word-break:break-word;"><p style="mso-line-height-alt:150.0%;"> And then spent 2 hours researching whether you should learn state management, or TypeScript, or routing, or hooks patterns, or… wait, what even IS the right order? </p></td></tr><tr><td class="dd" align="left" style="padding:0px 15px;text-align:left;word-break:break-word;"><p style="mso-line-height-alt:150.0%;"> Yeah. That's the problem. </p></td></tr><tr><td class="dd" align="left" style="padding:0px 15px;text-align:left;word-break:break-word;"><p style="mso-line-height-alt:150.0%;"><b>👉 </b><a class="link" href="https://link.mail.beehiiv.com/ls/click?upn=u001.hNypL3L8TokyM5Rky05o9IMTTiFq0ZTlAodJ5I8QayyfQiOc6yh2EXJ8IRbFs3cJxdXkoRPkemJ1qdTpkAI5gbJ9Ax2w7EdwbkQzVgROx9QR1BzNU9pweiAaU-2BSCRm-2FFGInB-2B5pzkgnPQFrvGypWBUYFycr38jir4hrCJNC1Awr21ZyJK5xdOQtw827cPi-2BKYxujSX44GwfjBtlNk0r-2BsPeSO9gIk4KFp96m64gLNgUuRViGIVie4j-2Bi-2FUDOsQ8eCq4Wad4Ga8RiH1tT8oPUpW8TU7G0tT9ggKEuSlCnsco-3D36ug_2pv9X20uw9-2BKo8fIdy0J8-2FiGKYTUvtcSuvFh1aGIl0yzP4FvP-2BTiVmOST7Re4R7jVTuNfOE4ta8SNgc8L3nm5lJMRM6kPuFKT5cO9s87dB-2FzXL9aqqeqJFMWQmVzweadsMiv2TPQhc5tqjCX50M-2FaP3EVwAyEnETSPh4u4TGRV-2BaxjH0emOcpV9b5FlAh0LUR2ldLYMiD2qWPAoy5siLLsPwxGMEqdmQPITKFagQcNkX7pJG-2B5bkmJSEhmiF9nRZ1nSGO3jMXXTttcy2wlSMbcAoZuVvpPzyVjNShisjXsdhJX8GPurrISssfgkLXNBj3GcalRZThWqPzC2TieEtAORA7l4NWp-2Fq7d1spqoJmGOMv5vqoeD9k4Jjflpei5vgXDCFlYEkxaza2nBbp70ibsNZCl9QCp-2Fds2IaV-2FUFcxGMRwasetBS7U2UyM8-2F6RcSmCAWBZ-2Bu-2BvDbCFPcLdtxK9W3pMjo8ctPu6FEloVcMGW50QcHp1lp5-2B4y-2BeyOEjQniHRT38qBuBBpfoCy4nzhpg-2F8zmtKJ2lVWhrWuYneJBI-3D" target="_blank" rel="noopener noreferrer nofollow"><span><b>Cosden Code</b></span></a><b> isn't another random React course. It's a complete learning platform with a clear roadmap from beginner to advanced.</b></p></td></tr><tr><td class="dd" align="left" style="padding:0px 15px;text-align:left;word-break:break-word;"><p style="mso-line-height-alt:150.0%;"> Here's what that actually means: </p></td></tr><tr><td class="dd" align="left" style="padding:0px 15px;text-align:left;word-break:break-word;"><p style="mso-line-height-alt:150.0%;"> ✅<b> Never wonder "what's next"</b><br>Clear, structured curriculum that builds logically. You always know exactly what to learn and when. No more analysis paralysis.<br>✅<b> Everything in one place</b><br>No more juggling 10 browser tabs. Video lessons, hands-on coding environment, AI mentor, and community, all unified in a single platform.<br>✅<b> Learn by building, not just watching</b><br>Every lesson includes interactive coding challenges. You write real React code and get instant feedback. This is how understanding actually sticks. </p></td></tr><tr><td align="center" valign="top" style="padding-bottom:20px;padding-left:15px;padding-right:15px;padding-top:20px; " class="dd"><table role="none" border="0" cellspacing="0" cellpadding="0" style="margin:0 auto 0 auto;"><tr><td align="center" valign="top" style="width:630px;"><a href="https://link.mail.beehiiv.com/ls/click?upn=u001.hNypL3L8TokyM5Rky05o9IMTTiFq0ZTlAodJ5I8QayyfQiOc6yh2EXJ8IRbFs3cJxdXkoRPkemJ1qdTpkAI5gbJ9Ax2w7EdwbkQzVgROx9QR1BzNU9pweiAaU-2BSCRm-2FFGInB-2B5pzkgnPQFrvGypWBUYFycr38jir4hrCJNC1Awr21ZyJK5xdOQtw827cPi-2BKYxujSX44GwfjBtlNk0r-2BsPeSO9gIk4KFp96m64gLNgXJgqXn6UeyoSogwHuWO9sMU4Hl9jKPxaeorFzSpEU4jTSHkbgOJbx2Z0sp1dONAJQ-3DPhB8_2pv9X20uw9-2BKo8fIdy0J8-2FiGKYTUvtcSuvFh1aGIl0yzP4FvP-2BTiVmOST7Re4R7jVTuNfOE4ta8SNgc8L3nm5lJMRM6kPuFKT5cO9s87dB-2FzXL9aqqeqJFMWQmVzweadsMiv2TPQhc5tqjCX50M-2FaP3EVwAyEnETSPh4u4TGRV-2BaxjH0emOcpV9b5FlAh0LUR2ldLYMiD2qWPAoy5siLLsPwxGMEqdmQPITKFagQcNkX7pJG-2B5bkmJSEhmiF9nRZ1nSGO3jMXXTttcy2wlSMbcAoZuVvpPzyVjNShisjXsdhJX8GPurrISssfgkLXNBj3GcalRZThWqPzC2TieEtAORA7l4NWp-2Fq7d1spqoJmGOMv5vqoeD9k4Jjflpei5vgXDCFlYEkxaza2nBbp70ibt7PfYwWIeqgxKLfU4jg4ozFWUFTcsvKDwMt6-2FMmUbw87z2VzyQXNsnWWwBPjbbZVZqcmOO5uvOXFTfbF4ErTuBe7vhJf0SnfRES16JH6730uRfFZK8uGkPDOgv6Mw6OJbPQ9FWvrlUjumt-2FTYeNc5s-3D" rel="noopener noreferrer nofollow" style="text-decoration:none;" target="_blank"><img src="https://media.beehiiv.com/cdn-cgi/image/fit=scale-down,format=auto,onerror=redirect,quality=80/uploads/asset/file/6a23b598-16da-4f39-a8be-a52393c3b045/image.png?t=1765451329" alt="" height="auto" width="630" style="display:block;width:100%;" border="0"/></a></td></tr><tr><td align="center" valign="top" class="t" style="width:630px; padding: 4px 0px 4px 0px;"><p>The leaderboard is heating up, who’s taking the top spot next?</p></td></tr></table></td></tr><tr><td class="dd" align="left" style="padding:0px 15px;text-align:left;word-break:break-word;"><p style="mso-line-height-alt:150.0%;"> If React mastery is your 2026 goal, this is your complete roadmap: </p></td></tr><tr class="btn_row"><td valign="top" style="padding-bottom:14px;padding-left:15px;padding-right:15px;padding-top:14px;text-align:center;width:100%;word-break:break-word;" class="dd"><table width="100%" role="none" border="0" cellspacing="0" cellpadding="0" style="margin:14px auto 14px auto;"><tr><td align="center" valign="middle"><table role="none" border="0" cellspacing="0" cellpadding="0"><tr><td style="background-color:#030712;border-radius:8px;mso-padding-alt:14px 20px;" class="btn"><a href="https://link.mail.beehiiv.com/ls/click?upn=u001.hNypL3L8TokyM5Rky05o9IMTTiFq0ZTlAodJ5I8QayyfQiOc6yh2EXJ8IRbFs3cJxdXkoRPkemJ1qdTpkAI5gbJ9Ax2w7EdwbkQzVgROx9QR1BzNU9pweiAaU-2BSCRm-2FFGInB-2B5pzkgnPQFrvGypWBUYFycr38jir4hrCJNC1Awr21ZyJK5xdOQtw827cPi-2BKYxujSX44GwfjBtlNk0r-2BsPeSO9gIk4KFp96m64gLNgVeYh-2B53HdVSu2n-2FGMuPes7ev3xOFLinh0nn-2BnLj5yOnLf9pXXFflSn56cUNNIB5yc-3DU9_R_2pv9X20uw9-2BKo8fIdy0J8-2FiGKYTUvtcSuvFh1aGIl0yzP4FvP-2BTiVmOST7Re4R7jVTuNfOE4ta8SNgc8L3nm5lJMRM6kPuFKT5cO9s87dB-2FzXL9aqqeqJFMWQmVzweadsMiv2TPQhc5tqjCX50M-2FaP3EVwAyEnETSPh4u4TGRV-2BaxjH0emOcpV9b5FlAh0LUR2ldLYMiD2qWPAoy5siLLsPwxGMEqdmQPITKFagQcNkX7pJG-2B5bkmJSEhmiF9nRZ1nSGO3jMXXTttcy2wlSMbcAoZuVvpPzyVjNShisjXsdhJX8GPurrISssfgkLXNBj3GcalRZThWqPzC2TieEtAORA7l4NWp-2Fq7d1spqoJmGOMv5vqoeD9k4Jjflpei5vgXDCFlYEkxaza2nBbp70ibhTPK0G7zYQkJjdBFBACWc8AkenX8E0VPvSLJCG4ZtzQT1BUYDCsYozcfowKeE-2FUn4Nfh1vExsWyK3XIwflRxPB9kzGp92S2Nhx6Bf8nW6u3v-2FXrppKJrFLVbq8SpqkNo4f3bLJJy9glKmfP7ZtEAKA-3D" target="_blank" rel="noopener noreferrer nofollow" style="background-color:#030712;border-radius:8px;color:#F9FAFB;display:inline-block;font-family:'Verdana',Geneva,sans-serif;font-size:16px;font-weight:normal;line-height:18px;padding:14px 20px;text-decoration:none;"> Start Learning React The Right Way </a></td></tr></table></td></tr></table></td></tr><tr><td align="center" valign="top" style="font-size:0px;line-height:0px;padding:30px 0px 30px;" class="dd"><table class="j" role="none" width="80%" border="0" cellspacing="0" cellpadding="0" align="center"><tr><td> </td></tr></table></td></tr><tr><td id="the-latest-in-react" class="dd" align="left" valign="top" style="color:#2A2A2A;font-weight:normal;padding:0px 15px;text-align:left;"><h2 style="color:#2A2A2A;font-weight:normal;mso-line-height-alt:150.0%;">⚡️ <span style="font-family:"Trebuchet MS", "Lucida Grande", Tahoma, sans-serif;">The Latest In React</span> </h2></td></tr><tr><td class="dd" align="left" style="padding:0px 15px;text-align:left;word-break:break-word;"><p style="mso-line-height-alt:150.0%;"> 👀 <span style="text-decoration:underline;"><b><a class="link" href="https://link.mail.beehiiv.com/ls/click?upn=u001.hNypL3L8TokyM5Rky05o9Bba0QiwdNUQyPY5MkS8yMYlxIeu-2FJ8-2BFyn2tSAksvkDeNud11TIZtxB0qfuV1Q2CKWJQQpRt8jOQpKn7j0QbxOyTkcKp-2B8houoeP7R-2BfSSbqBrFksRvtTzr1mTV8qU8ODbAX-2BD67gtj13agWotyJipVJWEsRl6bWcCQvFFs4h9OCXOtZHnBKYl9-2FZmI1z712in0rovxzj40v3zFs0r8Su7shf1VvjPev1bt-2BemeN4uIDdjrSVx2stButwyn5Sd52kcSPPmiEXRs4Rlt8HHarX0-3D-KXT_2pv9X20uw9-2BKo8fIdy0J8-2FiGKYTUvtcSuvFh1aGIl0yzP4FvP-2BTiVmOST7Re4R7jVTuNfOE4ta8SNgc8L3nm5lJMRM6kPuFKT5cO9s87dB-2FzXL9aqqeqJFMWQmVzweadsMiv2TPQhc5tqjCX50M-2FaP3EVwAyEnETSPh4u4TGRV-2BaxjH0emOcpV9b5FlAh0LUR2ldLYMiD2qWPAoy5siLLsPwxGMEqdmQPITKFagQcNkX7pJG-2B5bkmJSEhmiF9nRZ1nSGO3jMXXTttcy2wlSMbcAoZuVvpPzyVjNShisjXsdhJX8GPurrISssfgkLXNBj3GcalRZThWqPzC2TieEtAORA7l4NWp-2Fq7d1spqoJmGOMv5vqoeD9k4Jjflpei5vgXDCFlYEkxaza2nBbp70ibhLNz9GJwFTnGj1tS11QMEuhg7JMf-2B-2BhETngW35yvStFviD0Tzzr8SXzZiKNdtmM63-2Fi7ZpN9FbsQM5Ep7BM07WCSn8SRIF8d9dzFct9bO9lRohJmv1iYSrVxa3vLnfuHSk6y59fM7ERL2MHlo3YrVY-3D" target="_blank" rel="noopener noreferrer nofollow"><span>The next era of React has arrived: Here’s what you need to know</span></a></b></span><br>This article breaks down the <b>new era of Async React</b>, showing how React 19’s coordination primitives, like <b>Actions, Suspense, use(), transitions, deferred values, and optimistic updates</b>, finally eliminate the messy manual async handling we’ve all been hacking around for years. It explains how these tools work together to create UIs that stay responsive even on slow networks, why this shift matters for real-world apps, and how frameworks like Next.js are already baking these patterns in. </p></td></tr><tr><td class="dd" align="left" style="padding:0px 15px;text-align:left;word-break:break-word;"><p style="mso-line-height-alt:150.0%;"> ⚙️ <span style="text-decoration:underline;"><b><a class="link" href="https://link.mail.beehiiv.com/ls/click?upn=u001.hNypL3L8TokyM5Rky05o9LHxCYVnIGCuxSp-2FqgVuJkiJ3C4lFUtjQsYrn7lDrhsGzsrJ70kjkzr8xj5UfmE1q1v1qiGDA2HfYR-2F93hruVODSTMkeZnJYlCgjGxsjP3UrDVcbpPT3-2BM1EVPN-2Fiytponk0OzYdjVMeLUAq-2BU-2B-2FcxDXQeKgnnHO8SWQDj2wbqsNOqoYM8jSBtq-2BfWJsbJjPeq-2Bm-2BFxKKRsxgi1LyCHh-2FbqhtxlLVdxeOCiuup4OcYdCAkj8kQj04wBxn-2FhmnSj2IjQssE3J7eIiuH0zxsWSfAJrBR3EZ8NiLl0axgJCsFrWyFfMtU08ABXMRLInaIqHAQ-3D-3D4rl__2pv9X20uw9-2BKo8fIdy0J8-2FiGKYTUvtcSuvFh1aGIl0yzP4FvP-2BTiVmOST7Re4R7jVTuNfOE4ta8SNgc8L3nm5lJMRM6kPuFKT5cO9s87dB-2FzXL9aqqeqJFMWQmVzweadsMiv2TPQhc5tqjCX50M-2FaP3EVwAyEnETSPh4u4TGRV-2BaxjH0emOcpV9b5FlAh0LUR2ldLYMiD2qWPAoy5siLLsPwxGMEqdmQPITKFagQcNkX7pJG-2B5bkmJSEhmiF9nRZ1nSGO3jMXXTttcy2wlSMbcAoZuVvpPzyVjNShisjXsdhJX8GPurrISssfgkLXNBj3GcalRZThWqPzC2TieEtAORA7l4NWp-2Fq7d1spqoJmGOMv5vqoeD9k4Jjflpei5vgXDCFlYEkxaza2nBbp70ibl-2BL5wKyli19-2FdskHkAHIUczjSKPxAHEtVVrYzWNv5nsD2KKX2oSB6Q2-2FrKXk7XK2B2N6KPCvTw-2B2pN8VUfPji7xLPOGwz0qvFAWYm8S1iJmbAbYJaJoE-2FIg4Lj8Tc-2BkZ-2BKEHkpD2ezOwn4Z2k3-2B4Jk-3D" target="_blank" rel="noopener noreferrer nofollow"><span>Controlled vs Uncontrolled Components in React</span></a></b></span><br>This article breaks down the classic <b>controlled vs uncontrolled</b> question in React by focusing on the real core: <b>who owns the state, the parent or the component itself?</b> It shows how this applies both to form inputs and custom components, why controlled patterns enable coordination between parts of your UI, and when uncontrolled patterns keep things simpler and more performant. You’ll walk away understanding how to design components that behave predictably, when to expose value/onChange-style APIs, and why mixing modes leads to bugs. <b>Great read if you want to level up how your React components communicate.</b></p></td></tr><tr><td class="dd" align="left" style="padding:0px 15px;text-align:left;word-break:break-word;"><p style="mso-line-height-alt:150.0%;"> 🧠 <span style="text-decoration:underline;"><b><a class="link" href="https://link.mail.beehiiv.com/ls/click?upn=u001.hNypL3L8TokyM5Rky05o9P7OLrx2Va4Szpc05OYYc9oJ51eydPnzicYQLcBmiekRBpH-2F1hr0637ljssB-2B-2BpcVrFTHo0RTJudSikbZkx69ZrmYFbsx4oh7bOVHPHf4icgD-2BE67FOqECAEMwMy1Lc7DChek0jlxdgrXEkh-2FTIB7ONC4OKJLH-2BvJrCZmlhXoQooGa-2FkEsLrOsLhuznoIYKzc-2BpA1cYrM75CDXANY0m3jREagr-2FlqHRFCg9l9jKgZ9CE3UlNdb4-2FHr-2BPZpu5yulH1Q-3D-3DUaJE_2pv9X20uw9-2BKo8fIdy0J8-2FiGKYTUvtcSuvFh1aGIl0yzP4FvP-2BTiVmOST7Re4R7jVTuNfOE4ta8SNgc8L3nm5lJMRM6kPuFKT5cO9s87dB-2FzXL9aqqeqJFMWQmVzweadsMiv2TPQhc5tqjCX50M-2FaP3EVwAyEnETSPh4u4TGRV-2BaxjH0emOcpV9b5FlAh0LUR2ldLYMiD2qWPAoy5siLLsPwxGMEqdmQPITKFagQcNkX7pJG-2B5bkmJSEhmiF9nRZ1nSGO3jMXXTttcy2wlSMbcAoZuVvpPzyVjNShisjXsdhJX8GPurrISssfgkLXNBj3GcalRZThWqPzC2TieEtAORA7l4NWp-2Fq7d1spqoJmGOMv5vqoeD9k4Jjflpei5vgXDCFlYEkxaza2nBbp70ibsjiGLBSdrU6yb-2B41xjq5GCuissLCv6ueZlivE9k-2FbabYawIeL5bod4YF-2FOqZrdvshBAmJqVCwzf1NCmrkdbKGHvom30oVjcrTrVHbd5LNWD5NhyvallclE4MD9yZdU5lDlTUBnY4HemfPMVOxFEo9I-3D" target="_blank" rel="noopener noreferrer nofollow"><span>TanStack AI - A powerful, open-source AI SDK</span></a></b></span><br>TanStack just dropped <b>TanStack AI</b>, a super clean, fully open-source AI SDK that gives you a <b>unified, type-safe interface</b> across OpenAI, Anthropic, Gemini, Ollama, and whatever else you plug in, no vendor lock-in, no proprietary wrappers, just pure TypeScript sanity. It standardizes tool calling, streaming, reasoning tokens, client/server adapters, and even ships with next-gen devtools so you can actually see what your AI stack is doing. </p></td></tr><tr><td class="dd" align="left" style="padding:0px 15px;text-align:left;word-break:break-word;"><p style="mso-line-height-alt:150.0%;"> ‼️ <span style="text-decoration:underline;"><b><a class="link" href="https://link.mail.beehiiv.com/ls/click?upn=u001.hNypL3L8TokyM5Rky05o9CC3eRQ7bxPNi46SxqanS5SjszmgSzToIWPFIwuB3Zfaq3DQt6re3ajXfroD7EUcaRRtLWGiOrso5ulvFhVnxtkjcGEqI0LF2SqmB8G6ai-2BOf-2BdR-2BBHARWDCWWoenXrDZ4OzdMYPH52IZhLPK-2FNNMvS-2BfHzObtejtkoq6mTi0IwbXTSsGIZA3DLW6qF8VyVh9O1ZVrEOerknt0ZZYs-2B8GmF1bGqkqwOvzMvJnVEmigrjbF1ZMoLe5rNVukGZeMV9aVid-2BqbBAZveVQERhpUsKqNZa9sVimrPJ7HdAQteHjaHrwrk_2pv9X20uw9-2BKo8fIdy0J8-2FiGKYTUvtcSuvFh1aGIl0yzP4FvP-2BTiVmOST7Re4R7jVTuNfOE4ta8SNgc8L3nm5lJMRM6kPuFKT5cO9s87dB-2FzXL9aqqeqJFMWQmVzweadsMiv2TPQhc5tqjCX50M-2FaP3EVwAyEnETSPh4u4TGRV-2BaxjH0emOcpV9b5FlAh0LUR2ldLYMiD2qWPAoy5siLLsPwxGMEqdmQPITKFagQcNkX7pJG-2B5bkmJSEhmiF9nRZ1nSGO3jMXXTttcy2wlSMbcAoZuVvpPzyVjNShisjXsdhJX8GPurrISssfgkLXNBj3GcalRZThWqPzC2TieEtAORA7l4NWp-2Fq7d1spqoJmGOMv5vqoeD9k4Jjflpei5vgXDCFlYEkxaza2nBbp70ibv-2FRwneUaRiaLaSB7KAoFJ78G-2Fqqfpxl44H0bwKmow3v0i1thWaXxo5kdRNhnX7hveJZamhfC4Z1MNEnTmqCJyIQX6q5N7iLn6YpI84nJ4LS4kt94WaB8NwHM50Iq-2BESmltswqk3r1UQEzopjB8vmkA-3D" target="_blank" rel="noopener noreferrer nofollow"><span>Avoid These TanStack Router Mistakes</span></a></b></span><br>This post digs into the real-world “skeletons” you hit when building production apps with <b>TanStack Router + Better Auth</b>, and how to architect routes, layouts, guards, and loading states so your UI feels solid instead of spooky. Oscar walks through layout patterns that actually scale, the notorious <b>auth flash</b> bug and how to eliminate it with async guards, and the polish steps, pending components, error boundaries, validated search params, that turn a flexible router into a clean, predictable system. </p></td></tr><tr><td class="dd" align="left" style="padding:0px 15px;text-align:left;word-break:break-word;"><p style="mso-line-height-alt:150.0%;"> 🦥 <span style="text-decoration:underline;"><b><a class="link" href="https://link.mail.beehiiv.com/ls/click?upn=u001.hNypL3L8TokyM5Rky05o9BQtJJyAl-2BTSfVaasi90dyJ86ea6dnPIX6SxvJbhlWkFSMduVDD0f2SYExM6E-2Fq6VjpOaUdOg-2BTu2s-2BMsgfihJ6quc6d0qrNvLFnv8WV3GvnB1hlr8gYQgBE0-2BZ285jL6IjUM1KgBVgY4pcm2UtPqmhSZOoZmsV4PLTy3j-2FQjM3Z2F0NffBi7DDYmUuMLiSN4wTFpGTiybuGSu-2BhFroZHsANmr6UdqZdc6QUxpyKK5dnFn604Pg9LRYJk6tG9gvmo7G9fU3oBmAsiMJg8YBgsWd-2B2GAQ7XvxOmg-2FZGIT7DGnoh5O_2pv9X20uw9-2BKo8fIdy0J8-2FiGKYTUvtcSuvFh1aGIl0yzP4FvP-2BTiVmOST7Re4R7jVTuNfOE4ta8SNgc8L3nm5lJMRM6kPuFKT5cO9s87dB-2FzXL9aqqeqJFMWQmVzweadsMiv2TPQhc5tqjCX50M-2FaP3EVwAyEnETSPh4u4TGRV-2BaxjH0emOcpV9b5FlAh0LUR2ldLYMiD2qWPAoy5siLLsPwxGMEqdmQPITKFagQcNkX7pJG-2B5bkmJSEhmiF9nRZ1nSGO3jMXXTttcy2wlSMbcAoZuVvpPzyVjNShisjXsdhJX8GPurrISssfgkLXNBj3GcalRZThWqPzC2TieEtAORA7l4NWp-2Fq7d1spqoJmGOMv5vqoeD9k4Jjflpei5vgXDCFlYEkxaza2nBbp70ibgDj64050wYLPGfR13dfkWcUDGH5AeSHfJJ8fgL071Mkh-2B65TmOhV8AVqkPLtUQ61dBpbaRZQM6HiGinEE9utv6i-2BZl7GaL7MdV7rp5MS2HiEvhJZCJZFtz8eDwL-2FT6vnKzaK5u0bqm77MoFAsRcQcM-3D" target="_blank" rel="noopener noreferrer nofollow"><span>Why Your React App Is Shipping Megabytes of Useless JavaScript</span></a></b></span><br>This guide walks you through a <b>practical, detective-style approach to shrinking bloated JavaScript bundles</b>, showing exactly how to analyze bundle graphs, spot oversized dependencies, fix broken tree-shaking, replace heavy libraries, and eliminate accidental duplicates. Nadia shows how a tiny app ballooned to 5MB of JS and then step-by-step trims it down to ~600KB using real examples with MUI, Lodash, Moment, Luxon, and transitive dependencies. If you’ve ever wondered why your React app feels heavier than it should, this article gives you a <b>repeatable workflow for diagnosing and fixing bundle size issues.</b></p></td></tr><tr><td align="center" valign="top" style="font-size:0px;line-height:0px;padding:30px 0px 30px;" class="dd"><table class="j" role="none" width="80%" border="0" cellspacing="0" cellpadding="0" align="center"><tr><td> </td></tr></table></td></tr><tr><td class="dd" align="left" style="padding:0px 15px;text-align:left;word-break:break-word;"><p style="mso-line-height-alt:150.0%;"><b>Quick Links</b></p></td></tr><tr><td style="padding-bottom:12px;padding-left:37px;padding-right:27px;padding-top:12px;" class="ee"><div style="margin-left:0px;" class="edm_outlooklist"><ul style="font-weight:normal;list-style-type:disc;margin-bottom:12px !important;margin-top:12px !important;padding:0px 0px 0px 0px;"><li class="listItem ultext"><p style="mso-line-height-alt:150.0%;padding:0px;text-align:left;word-break:break-word;"><a class="link" href="https://link.mail.beehiiv.com/ls/click?upn=u001.hNypL3L8TokyM5Rky05o9O-2F3i3XrpwlykcdcBZQumLMDouwtqwU6S1Xu7IsygF8nR7mHQF5r8g2vhYwQ23EV4fGmbAikHNSflUoCa9acQh8l5pE8CGq1Lsc95jTTxT5C0Lk-2Bj7hmEbxosRPM92ehlSmjOzjKFkYf-2B3fgDnsa-2FQw4iD2COXZLbI-2BGpEnoZTsC8q68J-2FLPadqQyLwG2g8RGfaP3MrIA4qQmEJrzMfcZ-2B4kfU9zzrfOeXemY9-2F6qpmsk9WQdIYw6Ol3U3huPL-2BTuKI42emrTMoOKfHeLMH072A-3DCVBp_2pv9X20uw9-2BKo8fIdy0J8-2FiGKYTUvtcSuvFh1aGIl0yzP4FvP-2BTiVmOST7Re4R7jVTuNfOE4ta8SNgc8L3nm5lJMRM6kPuFKT5cO9s87dB-2FzXL9aqqeqJFMWQmVzweadsMiv2TPQhc5tqjCX50M-2FaP3EVwAyEnETSPh4u4TGRV-2BaxjH0emOcpV9b5FlAh0LUR2ldLYMiD2qWPAoy5siLLsPwxGMEqdmQPITKFagQcNkX7pJG-2B5bkmJSEhmiF9nRZ1nSGO3jMXXTttcy2wlSMbcAoZuVvpPzyVjNShisjXsdhJX8GPurrISssfgkLXNBj3GcalRZThWqPzC2TieEtAORA7l4NWp-2Fq7d1spqoJmGOMv5vqoeD9k4Jjflpei5vgXDCFlYEkxaza2nBbp70ibnXW1NoijTt0itZOGc13cQgc6Zv5Xp8woYfG9Gwe7mT44CneFdN1ej-2BcdD40iLsaoje1L3dn18AFDxWwMAX-2F8cU-2Bgm5QKbHrwXgrAsjJ0VYqZEgU-2FIHHcr2zCQT5aFV03dO5XucnUHRHOelOdupAvdA-3D" target="_blank" rel="noopener noreferrer nofollow"><span>How I rebuilt macOS</span></a> into a frictionless, muscle-memory-driven workflow. </p></li><li class="listItem ultext"><p style="mso-line-height-alt:150.0%;padding:0px;text-align:left;word-break:break-word;"><a class="link" href="https://link.mail.beehiiv.com/ls/click?upn=u001.hNypL3L8TokyM5Rky05o9DRxAXv52Z4yMcjrTyvA9IDZmwXmK59EYTdGbZ-2Fmi6B6oskbkr-2FN5a3Qrw2ySh-2FSTsCMHUeLSu3aJNNBYhLfdThq-2F4EH2YXSzKkjzC7m-2F43vRODs69w0KsCQdBt6itNO1wdCtQ-2FhR4Lf0-2Fvf-2BFP4Bi6zmylo2rIxFIWu-2BlHEGLq8IrDxGpLJ-2BnTpg-2BaSRb9CecQcX8N2dyPABAXps31ZUggYwZueDWnOVyG5LeLSYIWzXvwA3SaFLK67IeMWq6s4eJJg7fMwM62aroJiQ-2F5-2Bho0-3DwJhX_2pv9X20uw9-2BKo8fIdy0J8-2FiGKYTUvtcSuvFh1aGIl0yzP4FvP-2BTiVmOST7Re4R7jVTuNfOE4ta8SNgc8L3nm5lJMRM6kPuFKT5cO9s87dB-2FzXL9aqqeqJFMWQmVzweadsMiv2TPQhc5tqjCX50M-2FaP3EVwAyEnETSPh4u4TGRV-2BaxjH0emOcpV9b5FlAh0LUR2ldLYMiD2qWPAoy5siLLsPwxGMEqdmQPITKFagQcNkX7pJG-2B5bkmJSEhmiF9nRZ1nSGO3jMXXTttcy2wlSMbcAoZuVvpPzyVjNShisjXsdhJX8GPurrISssfgkLXNBj3GcalRZThWqPzC2TieEtAORA7l4NWp-2Fq7d1spqoJmGOMv5vqoeD9k4Jjflpei5vgXDCFlYEkxaza2nBbp70iboUqphyOdDReENsyvRSMw79fBRm4k-2BUqhNEOfHsKEx9vYuZuHi3VPQQC9wqMneVJ730-2FBYCSiawdksIK1DowREdfrS1FaqhfZKoSHO7uqcnQ7UCdwO9ZSccdagM8pCh0mQuIm8X8Nx32S3T02matcUA-3D" target="_blank" rel="noopener noreferrer nofollow"><span>Why</span></a> <a class="link" href="https://link.mail.beehiiv.com/ls/click?upn=u001.hNypL3L8TokyM5Rky05o9DRxAXv52Z4yMcjrTyvA9IDZmwXmK59EYTdGbZ-2Fmi6B6oskbkr-2FN5a3Qrw2ySh-2FSTsCMHUeLSu3aJNNBYhLfdThq-2F4EH2YXSzKkjzC7m-2F43vRODs69w0KsCQdBt6itNO1wdCtQ-2FhR4Lf0-2Fvf-2BFP4Bi6zmylo2rIxFIWu-2BlHEGLq8IrDxGpLJ-2BnTpg-2BaSRb9CecQcX8N2dyPABAXps31ZUggNX3NFuUO-2BO0CT1KjhsUNVxSZadAInvjH6cK4bP1rIw6ajIhhPN0Xrms-2FyYG2YkyY-3DAEU8_2pv9X20uw9-2BKo8fIdy0J8-2FiGKYTUvtcSuvFh1aGIl0yzP4FvP-2BTiVmOST7Re4R7jVTuNfOE4ta8SNgc8L3nm5lJMRM6kPuFKT5cO9s87dB-2FzXL9aqqeqJFMWQmVzweadsMiv2TPQhc5tqjCX50M-2FaP3EVwAyEnETSPh4u4TGRV-2BaxjH0emOcpV9b5FlAh0LUR2ldLYMiD2qWPAoy5siLLsPwxGMEqdmQPITKFagQcNkX7pJG-2B5bkmJSEhmiF9nRZ1nSGO3jMXXTttcy2wlSMbcAoZuVvpPzyVjNShisjXsdhJX8GPurrISssfgkLXNBj3GcalRZThWqPzC2TieEtAORA7l4NWp-2Fq7d1spqoJmGOMv5vqoeD9k4Jjflpei5vgXDCFlYEkxaza2nBbp70ibqb6vZVvCQ7pTMHUsLQ2RoT2sFFT98aeA9uZ-2FdSTwmTDZ-2FA76eQ4fQI9iSexZfb7d5579YmgjgVyxwgcjQoxe5I7rtkRepX5Hv4TrS-2F4zWgV8GGLLfOtpiW9e14zKARXT1WcDSu3PxlNdgVxpkGOEcM-3D" target="_blank" rel="noopener noreferrer nofollow"><span>estimates feel pointless</span></a> to developers, indispensable to product owners, and painful for everyone. </p></li><li class="listItem ultext"><p style="mso-line-height-alt:150.0%;padding:0px;text-align:left;word-break:break-word;"><a class="link" href="https://link.mail.beehiiv.com/ls/click?upn=u001.hNypL3L8TokyM5Rky05o9A-2BJqtILE8wfHeX7yjEPrHa3IEMi8E7LDHhP1d4rna6P-2BKj31tMsOggEjmVXJ9DJjnXRNyMcfIqVra02e2Q6mexP5TGT7lerhZoDXPzjk7nThZLEnTWEfiJddfn3MNs9KcbsPgaAzopEY6bf7Y6w-2BvWKb17c1UbtQCHU2sG49sYJxzAeLh8n4ByXEqEYY1-2FEmCwJtXJBGNtNRQAqx4Y4aaKd7aM64AngTsHnDjQ38mdjWUJeAKeSpzKFtaxyH46asAbXLy8ANrfpJ-2BiAN4FDJcg-3D0Y6O_2pv9X20uw9-2BKo8fIdy0J8-2FiGKYTUvtcSuvFh1aGIl0yzP4FvP-2BTiVmOST7Re4R7jVTuNfOE4ta8SNgc8L3nm5lJMRM6kPuFKT5cO9s87dB-2FzXL9aqqeqJFMWQmVzweadsMiv2TPQhc5tqjCX50M-2FaP3EVwAyEnETSPh4u4TGRV-2BaxjH0emOcpV9b5FlAh0LUR2ldLYMiD2qWPAoy5siLLsPwxGMEqdmQPITKFagQcNkX7pJG-2B5bkmJSEhmiF9nRZ1nSGO3jMXXTttcy2wlSMbcAoZuVvpPzyVjNShisjXsdhJX8GPurrISssfgkLXNBj3GcalRZThWqPzC2TieEtAORA7l4NWp-2Fq7d1spqoJmGOMv5vqoeD9k4Jjflpei5vgXDCFlYEkxaza2nBbp70ibk-2F8scVLikpe6MULD8NafR-2B-2FBR3a7mvendJtKZO5y9g0JQdwohlE9AQGMzjyRCFe0CsdCcDTnGwhOTtiwzO3yuoynjlcUF120HYIXyR-2B9EMwHqjInvuBr71q-2Bi0fTH5GML5OefZEWHs8CW6tvka-2Fix8-3D" target="_blank" rel="noopener noreferrer nofollow"><span>A new data client </span></a>that brings Relay-style fragments, caching, and modern React ergonomics to tRPC. </p></li><li class="listItem ultext"><p style="mso-line-height-alt:150.0%;padding:0px;text-align:left;word-break:break-word;"><a class="link" href="https://link.mail.beehiiv.com/ls/click?upn=u001.hNypL3L8TokyM5Rky05o9O3UDZ9Y9-2F8Em9s8NxnvaZYBnM5C7zLoIP2Wm5V6Yo9C2YPYM7is8J9O23g1-2B9VQJ7uGaG-2FtWIXlQhOPXZIU4-2BANo-2FlKYrw1hjdeHJD7TEWOXTZ6yxkzCmX-2FUzAYzWOU3b5HskrnACCxsTNpCjKLBkVkKxG6idnyqA4CtK3N12vUk6TBv441FqByIizNnisqZcACRJS1VyR4mpw8u-2Foj5uZagv4uLO4FdNF9XXmN-2FDPT0fR6Zw2drelMJIypz9BXaDRfgCGa-2FK2NLR7PDIu4O65og23t8UDuBzoLpL5RSv0gTwkKQvZyi4YXiDyALoDNXg-3D-3DRQTI_2pv9X20uw9-2BKo8fIdy0J8-2FiGKYTUvtcSuvFh1aGIl0yzP4FvP-2BTiVmOST7Re4R7jVTuNfOE4ta8SNgc8L3nm5lJMRM6kPuFKT5cO9s87dB-2FzXL9aqqeqJFMWQmVzweadsMiv2TPQhc5tqjCX50M-2FaP3EVwAyEnETSPh4u4TGRV-2BaxjH0emOcpV9b5FlAh0LUR2ldLYMiD2qWPAoy5siLLsPwxGMEqdmQPITKFagQcNkX7pJG-2B5bkmJSEhmiF9nRZ1nSGO3jMXXTttcy2wlSMbcAoZuVvpPzyVjNShisjXsdhJX8GPurrISssfgkLXNBj3GcalRZThWqPzC2TieEtAORA7l4NWp-2Fq7d1spqoJmGOMv5vqoeD9k4Jjflpei5vgXDCFlYEkxaza2nBbp70ibkGffr2NdyJ1gymlEk9-2FsS2Nm6xlJ2OSU9HVnZ07hjiXrCexf9f1UJ96FCQZvpbr1MSLSe-2B-2BKti8T-2BgZ5m3vYUxeXogk60kHH9sP9gHkJNw81cuJ3-2BASMgGzbWOJPrMuSDYqdBi8BoAmm-2F35eyHz4bU-3D" target="_blank" rel="noopener noreferrer nofollow"><span>A practical breakdown of the most common authentication methods</span></a>, Basic, Bearer, OAuth2, JWT, and SSO, and how to choose the right one for your app. </p></li><li class="listItem ultext"><p style="mso-line-height-alt:150.0%;padding:0px;text-align:left;word-break:break-word;"> Beijing linked hackers are <a class="link" href="https://link.mail.beehiiv.com/ls/click?upn=u001.hNypL3L8TokyM5Rky05o9MP70R2gGzjaMqLBvYaDkKDOwSp7QrRZEkQGL-2FJR6-2BQlleYlTdJbXu7l0VMGDEe-2BFLR0Ul3B5F-2Fr6eC-2BHCFTmMEfgshCKW0527u01FQ7gsjtAtJAotTQaFxIjIRVTAj2y5Oie4b2aCOT5eJ7QInRTgGq9hZyia7VEKZiPmMMMD1lYRm4ADsR35NINda1muA5SkeqY6OvhdFQ36J3dTZBBw8iNToS18TVxZuk6b0jzM0bl6QH1j-2BOXEPD7Yw3PEpXtxcG2nHcLMeCTK5CvfHv47bY6VU59bivLRWss-2BGw462WZom8_2pv9X20uw9-2BKo8fIdy0J8-2FiGKYTUvtcSuvFh1aGIl0yzP4FvP-2BTiVmOST7Re4R7jVTuNfOE4ta8SNgc8L3nm5lJMRM6kPuFKT5cO9s87dB-2FzXL9aqqeqJFMWQmVzweadsMiv2TPQhc5tqjCX50M-2FaP3EVwAyEnETSPh4u4TGRV-2BaxjH0emOcpV9b5FlAh0LUR2ldLYMiD2qWPAoy5siLLsPwxGMEqdmQPITKFagQcNkX7pJG-2B5bkmJSEhmiF9nRZ1nSGO3jMXXTttcy2wlSMbcAoZuVvpPzyVjNShisjXsdhJX8GPurrISssfgkLXNBj3GcalRZThWqPzC2TieEtAORA7l4NWp-2Fq7d1spqoJmGOMv5vqoeD9k4Jjflpei5vgXDCFlYEkxaza2nBbp70ibn9-2B4jEDDaZNqwDZpDeTooyEVXZn0-2B-2FiktQOp64EQdVK5ShKX9UmgEvL4zC0ENrJcuShj6zqf8q8-2FuKUfESage2ffDK7pykOw4F3f8bcBuJsDKgiXn2JY0w5AM2CIvHVfmrkPTvFW58vbEP5s-2FAduRI-3D" target="_blank" rel="noopener noreferrer nofollow"><span>hammering max-severity React bug</span></a>, AWS warns. </p></li><li class="listItem ultext"><p style="mso-line-height-alt:150.0%;padding:0px;text-align:left;word-break:break-word;"> A deep dive into <a class="link" href="https://link.mail.beehiiv.com/ls/click?upn=u001.hNypL3L8TokyM5Rky05o9BEN7-2F2ahgc7bC2b6dDUaz-2FpOY-2BmaGEfURc-2Bfzc8kYSciVFbrTtvd6y6ZwVWu-2BdFDKZe-2BCbDcHmwKqyDEWP42xZxfFO8qWA1SABd80S2aIgaPygR4nJclsopALuhWmID-2BzGZ6niblADK7ThAQKltJ9RU8E8LzPARJasCDX24SMsjVI90EU56QrRQayjyYG0TAA77K2vvjCOUHjvNx3jRlsFbI23ETl9DHr7N1DaMEM29A0OHVLmdExK2GmA2lhr3BYfZnF75EQRZgDrf-2B9Wu5SSicOrNqUcnGW-2FI1-2FWRBPPYbE6LqoLo4l3TqsyRY8KSvqXl55W2TAOIMvaDogpfFk-2FY07HmOQFNSrdzByTgl1Nxpe-J_2pv9X20uw9-2BKo8fIdy0J8-2FiGKYTUvtcSuvFh1aGIl0yzP4FvP-2BTiVmOST7Re4R7jVTuNfOE4ta8SNgc8L3nm5lJMRM6kPuFKT5cO9s87dB-2FzXL9aqqeqJFMWQmVzweadsMiv2TPQhc5tqjCX50M-2FaP3EVwAyEnETSPh4u4TGRV-2BaxjH0emOcpV9b5FlAh0LUR2ldLYMiD2qWPAoy5siLLsPwxGMEqdmQPITKFagQcNkX7pJG-2B5bkmJSEhmiF9nRZ1nSGO3jMXXTttcy2wlSMbcAoZuVvpPzyVjNShisjXsdhJX8GPurrISssfgkLXNBj3GcalRZThWqPzC2TieEtAORA7l4NWp-2Fq7d1spqoJmGOMv5vqoeD9k4Jjflpei5vgXDCFlYEkxaza2nBbp70ibrqLppy9-2B9Q5oYNzvhiozsnJJjS-2Bx03hQcfpIaRqwljpRc478n1o92dGaDkh-2Fg4xrwXbSWuiXRVJOls0Gy4ckAtx5xzVWBPJ3IuSQBGTAWqSFJU2LsA6CqLA7-2BwFMWccm5-2BPX2Fv1MHnbzFLzo5M-2FkM-3D" target="_blank" rel="noopener noreferrer nofollow"><span>why coding is just one chapter</span></a> in programming’s much older story. </p></li></ul></div></td></tr><tr><td align="center" valign="top" style="font-size:0px;line-height:0px;padding:30px 0px 30px;" class="dd"><table class="j" role="none" width="80%" border="0" cellspacing="0" cellpadding="0" align="center"><tr><td> </td></tr></table></td></tr><tr><td id="ai-general-programming" class="dd" align="left" valign="top" style="color:#2A2A2A;font-weight:normal;padding:0px 15px;text-align:left;"><h2 style="color:#2A2A2A;font-weight:normal;mso-line-height-alt:150.0%;">🧠 <span style="font-family:"Trebuchet MS", "Lucida Grande", Tahoma, sans-serif;">AI & General Programming</span></h2></td></tr><tr><td class="dd" align="left" style="padding:0px 15px;text-align:left;word-break:break-word;"><p style="mso-line-height-alt:150.0%;"> ⁉️ <span style="text-decoration:underline;"><b><a class="link" href="https://link.mail.beehiiv.com/ls/click?upn=u001.hNypL3L8TokyM5Rky05o9PSDYQAGf-2BdJK1SCr5zRKoI9tPZAfNhtO8Uw9qoAb7wBlhsjlQ-2FzhfZyhX83uQApioULxZreJ9F8A0-2F3b8AHXauBC9Xy8jr0u45gjEb6l4LwiSFezXdt68-2B-2BPP94yqOcVpdEkz4UOGzy0YAreDXuzm5Qb5DR1m6Gu2egwgwDQmwIlU2nuOihYzh3GcnmLcLunMkJorHH20R14LWQsos-2F-2FGbl4-2BtSyBbwRQpoHT7JOLrerDdtZSZuqtsPdKKifRHzhw-3D-3Dg4Sy_2pv9X20uw9-2BKo8fIdy0J8-2FiGKYTUvtcSuvFh1aGIl0yzP4FvP-2BTiVmOST7Re4R7jVTuNfOE4ta8SNgc8L3nm5lJMRM6kPuFKT5cO9s87dB-2FzXL9aqqeqJFMWQmVzweadsMiv2TPQhc5tqjCX50M-2FaP3EVwAyEnETSPh4u4TGRV-2BaxjH0emOcpV9b5FlAh0LUR2ldLYMiD2qWPAoy5siLLsPwxGMEqdmQPITKFagQcNkX7pJG-2B5bkmJSEhmiF9nRZ1nSGO3jMXXTttcy2wlSMbcAoZuVvpPzyVjNShisjXsdhJX8GPurrISssfgkLXNBj3GcalRZThWqPzC2TieEtAORA7l4NWp-2Fq7d1spqoJmGOMv5vqoeD9k4Jjflpei5vgXDCFlYEkxaza2nBbp70ibq0HiGjJmCBBIY3lTyj4yW03N-2BpjwrjpSRrkfhvyhI-2FXWpijGw0AVllLv2oGXPNUp9JEzobrozLmRgIGvDLg-2Fj9P0RqE2XfJ01wPwWkED3ecuGFwtpDeQxCpDsrmmRWvSA-2FZoNzgBOMyQlt4xXvBSzI-3D" target="_blank" rel="noopener noreferrer nofollow"><span>CSS Wrapped 2025</span></a></b></span><br>This year’s <b>CSS Wrapped 2025</b> is a full recap of how far things have developed this year, highlighting the features that quietly transformed front-end workflows across the year, from customizable selects and declarative dialog/popover controls to new carousel primitives, anchored container queries, scroll-state styling, sibling-index animations, view-transition upgrades, and ergonomic helpers like typed attr(), if(). </p></td></tr><tr><td class="dd" align="left" style="padding:0px 15px;text-align:left;word-break:break-word;"><p style="mso-line-height-alt:150.0%;"> 💻️ <span style="text-decoration:underline;"><b><a class="link" href="https://link.mail.beehiiv.com/ls/click?upn=u001.hNypL3L8TokyM5Rky05o9HpIi-2FAl0Eo7encA8232buJBEr3ySq0K1p922XXPzP8WeFn8dIYXuLLRyRbQ-2BtuJIRnZfrCOfpmc4vvLLOSJeMLUMdoNjB97S-2Bp8hbJXwQ-2FUL4np4DTDwPdehW8JpWcpjLw-2BLawCnSDC2107fHx9jWKCgi5k42KlvLcbdYInUCei6Zd4FoDdXp6G6DRDK4XZhSQRPZSW9EQXFoXvZZdOwoB-2FKEF265K5jghFyU3MDtb45K3RYDhJgqyRMOzmk7r3PZGOrx0pw2XIPWEg6bP3g3CuyE5mSpEmT1L9Or5v38txLUTn_2pv9X20uw9-2BKo8fIdy0J8-2FiGKYTUvtcSuvFh1aGIl0yzP4FvP-2BTiVmOST7Re4R7jVTuNfOE4ta8SNgc8L3nm5lJMRM6kPuFKT5cO9s87dB-2FzXL9aqqeqJFMWQmVzweadsMiv2TPQhc5tqjCX50M-2FaP3EVwAyEnETSPh4u4TGRV-2BaxjH0emOcpV9b5FlAh0LUR2ldLYMiD2qWPAoy5siLLsPwxGMEqdmQPITKFagQcNkX7pJG-2B5bkmJSEhmiF9nRZ1nSGO3jMXXTttcy2wlSMbcAoZuVvpPzyVjNShisjXsdhJX8GPurrISssfgkLXNBj3GcalRZThWqPzC2TieEtAORA7l4NWp-2Fq7d1spqoJmGOMv5vqoeD9k4Jjflpei5vgXDCFlYEkxaza2nBbp70ibuh6vW9GfiHC22mT-2FEbnD3hCqJn-2B-2Bzgi9GBC5qMUYMnxeADysUHzrc1knhZj8-2FQq8iCkvYv3As26xc4Up1Ae0Nm6cSEoVZG3CqC5kF-2BFZrMDM1IDD2XT1vvOAHDVU-2BM85f0No-2BlmFMVmBrDk9zoll-2FU-3D" target="_blank" rel="noopener noreferrer nofollow"><span>What Millions of AI Agent Queries Reveal About Developers</span></a></b></span><br>This Perplexity + Harvard study gives the first large-scale look at how people actually use <b>AI agents in the real world</b>, and the findings flip the usual “digital butler” narrative on its head. The data shows most usage is <b>deep cognitive work</b>, productivity, research, analysis, not errands or simple tasks, and heavy users evolve from casual queries into full workflow delegation over time. </p></td></tr><tr><td class="dd" align="left" style="padding:0px 15px;text-align:left;word-break:break-word;"><p style="mso-line-height-alt:150.0%;"> 💵 <span style="text-decoration:underline;"><b><a class="link" href="https://link.mail.beehiiv.com/ls/click?upn=u001.hNypL3L8TokyM5Rky05o9Jk6-2Bhkp13OjnQd982ApAxXNLbFhl9MkribsoYLjljRsaSn8tnEsvpxcDsOgZg5aBDWAS1qRhp49WBqcX2rEX1Y97358FFAzI4aGiRUmgfHU9ccGSZ7tkqqusd3gaAGzh-2FkmSvptvQ0shc0mrZLQY3-2BxHKy3uDYUJmf2L83i6Nq8NsGb4yumhchJwaRuO-2FSBFbp6frjx9bEj-2FJL7Xg2ev2ELZuC0fsPoM0o-2B2zHAoe51MPYiKfMwh2RrLSvLZ93hRsc2gGwa8xBd7EIzvWT82tMl29xy76t0AHqS52vpAx8V4jUlMS2rrwHgjejXxd-2FLkQ-3D-3DjkB1_2pv9X20uw9-2BKo8fIdy0J8-2FiGKYTUvtcSuvFh1aGIl0yzP4FvP-2BTiVmOST7Re4R7jVTuNfOE4ta8SNgc8L3nm5lJMRM6kPuFKT5cO9s87dB-2FzXL9aqqeqJFMWQmVzweadsMiv2TPQhc5tqjCX50M-2FaP3EVwAyEnETSPh4u4TGRV-2BaxjH0emOcpV9b5FlAh0LUR2ldLYMiD2qWPAoy5siLLsPwxGMEqdmQPITKFagQcNkX7pJG-2B5bkmJSEhmiF9nRZ1nSGO3jMXXTttcy2wlSMbcAoZuVvpPzyVjNShisjXsdhJX8GPurrISssfgkLXNBj3GcalRZThWqPzC2TieEtAORA7l4NWp-2Fq7d1spqoJmGOMv5vqoeD9k4Jjflpei5vgXDCFlYEkxaza2nBbp70ibkYzOJ3CZCgK-2BE0sL8lGRuOCRYSNfeb9YgKN9FID-2FsW50mU4czP6iyN29PSatlmpsGmknISNcW6Mzcx7AP0sKXRwtOyfFMhcIZUVbIlz-2FUd2uGMuDVe0t7kr-2BPtltPwpCxiE-2BlncYKobJSUFRgirUns-3D" target="_blank" rel="noopener noreferrer nofollow"><span>Has the cost of building software just dropped 90%?</span></a></b></span><br>This essay argues that <b>agentic coding tools are collapsing the cost and time of building software, by something like 90% for many projects</b>, shifting the bottleneck from typing code to thinking clearly about the problem and domain. Martin describes how small teams using AI agents can now ship in a week what used to take a month, with agents handling boilerplate, tests, and refactors while humans provide architecture and domain judgment. Instead of killing demand for developers, this unleashes <b>huge latent demand for custom software</b>, making domain expertise and the ability to steer agents the real moat. </p></td></tr><tr><td class="dd" align="left" style="padding:0px 15px;text-align:left;word-break:break-word;"><p style="mso-line-height-alt:150.0%;"> 🤔 <span style="text-decoration:underline;"><b><a class="link" href="https://link.mail.beehiiv.com/ls/click?upn=u001.hNypL3L8TokyM5Rky05o9DJ3aKd4HvjQCU4WoX0Ddfp-2BXblkaIV9PZKbGcqiFx81XGvdHzkZz-2B8kNWlDvIXGRv3-2FHOpByPX1L5-2FhReaL2DiV-2BaRadwzWQDDXKKBsPWvN0CdEV1wTy1lHheDPBvy5gJJlcN11VAezuTrpYa3h4B1xbUrlZe-2F06zECE-2BD12saRQg6VC5rgHELEYTscK3uOS0hbIPkuUDFwnM7IKgrKKLOyRtSfH66idEyfrstJP-2FMhB-2BFbDm4wAuoUdGatCKYpJrAJd90sUPE7biCXd74b3xBtFLPIPNCiVOCUblxyY6yU-2FvIAFtf-2BVHeESrTcqtfYBA-3D-3DpWNY_2pv9X20uw9-2BKo8fIdy0J8-2FiGKYTUvtcSuvFh1aGIl0yzP4FvP-2BTiVmOST7Re4R7jVTuNfOE4ta8SNgc8L3nm5lJMRM6kPuFKT5cO9s87dB-2FzXL9aqqeqJFMWQmVzweadsMiv2TPQhc5tqjCX50M-2FaP3EVwAyEnETSPh4u4TGRV-2BaxjH0emOcpV9b5FlAh0LUR2ldLYMiD2qWPAoy5siLLsPwxGMEqdmQPITKFagQcNkX7pJG-2B5bkmJSEhmiF9nRZ1nSGO3jMXXTttcy2wlSMbcAoZuVvpPzyVjNShisjXsdhJX8GPurrISssfgkLXNBj3GcalRZThWqPzC2TieEtAORA7l4NWp-2Fq7d1spqoJmGOMv5vqoeD9k4Jjflpei5vgXDCFlYEkxaza2nBbp70ibjQ3SQu4MpiYCutY7aVDrKS3VTi7MbN60AJhBHEeMcYLhsCDlTO-2FeKLvAhLz-2BiYz4yScS1UWrEvkI5KtVlL7tclghIPlh7yWh3qSIQPtvuLEfGojHJg-2BRQ6fnxPxtdPAtJQqhfKONDvd9IZx4afeEuk-3D" target="_blank" rel="noopener noreferrer nofollow"><span>A Better Way for Engineers to Stay Motivated on Long-Term Goals</span></a></b></span><br>This guide digs into <b>why engineers’ long-term goals usually collapse</b> and shows how mixing <b>SMART top-down goals</b> with <b>tiny bottom up experiments</b> creates motivation that actually survives chaos. Fran breaks down the motivation equation, expectancy, value, impulsiveness, delay, and explains how big goals fail because the rewards are too far away and work is too unpredictable. </p></td></tr><tr><td class="dd" align="left" style="padding:0px 15px;text-align:left;word-break:break-word;"><p style="mso-line-height-alt:150.0%;"></p></td></tr><tr><td align="center" valign="top" style="font-size:0px;line-height:0px;padding:30px 0px 30px;" class="dd"><table class="j" role="none" width="80%" border="0" cellspacing="0" cellpadding="0" align="center"><tr><td> </td></tr></table></td></tr><tr><td><table role="none" width="100%" border="0" cellspacing="0" cellpadding="0" style=""><tr><td bgcolor="transparent" style="background-color:transparent;padding:0.0px 0.0px 0.0px 0.0px;"><table role="none" width="100%" border="0" cellspacing="0" cellpadding="0"><tr><td class="dd" align="left" style="padding:0px 15px;text-align:left;word-break:break-word;"><p style="mso-line-height-alt:150.0%;"><span style="color:rgb(3, 7, 18);">See you in next weeks newsletter.</span></p></td></tr><tr><td class="dd" align="left" style="padding:0px 15px;text-align:left;word-break:break-word;"><p style="mso-line-height-alt:150.0%;"><span style="">Darius Cosden</span></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr><tr><td align="center" valign="top"><table role="none" width="100%" border="0" cellspacing="0" cellpadding="0" align="center"><tr><td><tr><td class="b" align="center" valign="top" bgcolor="#030712" style="padding:0px 0px 0px 0px;border-style:solid;border-width: 0px 0px 0px 0px;border-color: #FFFFFF;border-bottom-left-radius:10px;border-bottom-right-radius:10px;"><table role="none" width="100%" border="0" cellspacing="0" cellpadding="0" align="center"><tr><td align="center" valign="top" bgcolor="#a6825a" style="padding:12px"><table role="none" width="100%" border="0" cellspacing="0" cellpadding="0" align="center"><tr><td><span style="padding-left:1px;"></span></td><td align="center" valign="middle" width="75" style="width:75px;"><a href="https://link.mail.beehiiv.com/ls/click?upn=u001.hNypL3L8TokyM5Rky05o9GGxwM96eQbd0lu7oIx5MD1KobHP6TGDwFn7R32-2FREpxJw-2BuxMz92F1dilGhYGNp1-2BfGt48qCj6R55oEqD2tiPHeQo38krwd8Xv3WPySw6uOxfCH2Ok-2FOhx12v-2FP-2FkOZXcikVjOH8Oa-2BNaGp-2B3kz07kaT2Iu2u0kzvURvREKECXd9PQfLkESurC8dwNnZszr0mnZpaVx2kDKTjARxeagSd3s5dyGtjKdSv5gEMclJtQpPgVBKDKnC2ck2HWA3P1xn-2BmpjzZ8pA9RN-2BgAcGX8H-2Bk-3DwOpB_2pv9X20uw9-2BKo8fIdy0J8-2FiGKYTUvtcSuvFh1aGIl0yzP4FvP-2BTiVmOST7Re4R7jVTuNfOE4ta8SNgc8L3nm5lJMRM6kPuFKT5cO9s87dB-2FzXL9aqqeqJFMWQmVzweadsMiv2TPQhc5tqjCX50M-2FaP3EVwAyEnETSPh4u4TGRV-2BaxjH0emOcpV9b5FlAh0LUR2ldLYMiD2qWPAoy5siLLsPwxGMEqdmQPITKFagQcNkX7pJG-2B5bkmJSEhmiF9nRZ1nSGO3jMXXTttcy2wlSMbcAoZuVvpPzyVjNShisjXsdhJX8GPurrISssfgkLXNBj3GcalRZThWqPzC2TieEtAORA7l4NWp-2Fq7d1spqoJmGOMv5vqoeD9k4Jjflpei5vgXDCFlYEkxaza2nBbp70ibthPUScVCWIawdZB5AKd34oTHjHE-2FmSjOezAdgTTTXKCPd4-2FOihrVWcJrxDd5snwNi6R4bx0mWp-2BqSNgItw1kvuH2Hn6JtyamGeIRtKtLEbc-2F5MYJHnA-2FtsCbYKOzd2LhtjAcosdbSelMOJGUn-2F8x7I-3D" style="text-decoration:none;"><img width="22" height="16" alt="yt" border="0" style="display:block;max-width:22px;color:Dark" src="https://media.beehiiv.com/cdn-cgi/image/fit=scale-down,format=auto,onerror=redirect,quality=80/static_assets/youtube_dark.png"/></a></td><td><span style="padding-left:1px;"></span></td></tr></table></td></tr><tr><td height="10" style="line-height:1px;font-size:1px;height:10px;"> </td></tr><tr><td class="w" align="center" valign="top" style="padding:15px 15px 15px 15px;"><table role="none" width="100%" border="0" cellspacing="0" cellpadding="0" align="center"><tr><td align="center" valign="top"><p style="font-family:'Verdana',Geneva,sans-serif;color:#FFFFFF!important;"> Update your email preferences or unsubscribe <a class="link" href="https://link.mail.beehiiv.com/ls/click?upn=u001.hNypL3L8TokyM5Rky05o9JDNntLr6wlKbHz9T6LOwNLgRww025yDiOxuqqgt2z7oJ9M6lQUNQxtW3eK5p9eavygzp7KD-2BewGFi1VQxw-2FM2zIRtiJWT5WQ27DMaw8cqFwKMxwkTrN57nffNOdafocT-2FDlGRdUOyOi-2Fe7BWGJn3Gv-2B4xtoKeR1lV8Im7HcCbieY-2FvoM2PNkDiyzTCDOOOnyDpquN-2BwPFn1pyCoAsCx3yUp-2Baggx0dscJ-2F0txNyxtd2AlzwcRkIAV6w7Qbvxf5zaLHssIc2I-2BMSEQ6lwYgC6rP86DoYaPjZNoe4TS8aaOi5bJ7WoT2-2BV-2F7BqCx3pw8QZIlXPe29w-2FUQQqPiARO7jrfYbIVMq90yRpHNtZjcrapQtOo1p34kmYoQ2OEMR3Dg-2BeK1UKdOVyxgPx5QXNP0wdLOHZ8XLFiiz-2BBRVLJ9MTNhH6X5dxQ4CS66gkDgb83N9rBvCJJgZiNIcMmi2PQ9wprBtQPst4-2B0EOxiuQE-2BI6N8OtW7dN9lHD-2BvotUYKmDRBwt2f8BwTrncbUe8aZxYo9aCLuuNPT4P14TQWpG4cRnHNNU0awlsI1-2FdnBeT0e5nxKf92C54MFC8gTxf1dlSv6g-3DgcTV_2pv9X20uw9-2BKo8fIdy0J8-2FiGKYTUvtcSuvFh1aGIl0yzP4FvP-2BTiVmOST7Re4R7jVTuNfOE4ta8SNgc8L3nm5lJMRM6kPuFKT5cO9s87dB-2FzXL9aqqeqJFMWQmVzweadsMiv2TPQhc5tqjCX50M-2FaP3EVwAyEnETSPh4u4TGRV-2BaxjH0emOcpV9b5FlAh0LUR2ldLYMiD2qWPAoy5siLLsPwxGMEqdmQPITKFagQcNkX7pJG-2B5bkmJSEhmiF9nRZ1nSGO3jMXXTttcy2wlSMbcAoZuVvpPzyVjNShisjXsdhJX8GPurrISssfgkLXNBj3GcalRZThWqPzC2TieEtAORA7l4NWp-2Fq7d1spqoJmGOMv5vqoeD9k4Jjflpei5vgXDCFlYEkxaza2nBbp70ibgbM7aJl7x8nYE5tGAJZQnsb9Zp5-2FP2NDYRJcZjZ7sQr3pnvJsCOzWgd7LTNDRwKRiMhyYcg0woyUj5gRFYj4hjTIKArZJfEEtjUt80yeWrBmL5OAVSmeq9AXPJ3qafRn3p2PPKCM4aoKN14hO-2Fc6xs-3D" style="text-decoration:underline;text-decoration-color:#FFFFFF!important;color:#FFFFFF!important;"> here</a></p><p class="copyright" style="font-family:'Verdana',Geneva,sans-serif;color:#FFFFFF!important;"> © 2025 Import React </p><p style="font-family:'Verdana',Geneva,sans-serif;color:#FFFFFF!important;"> 228 Park Ave S, #29976, New York, New York 10003, United States </p></td></tr><tr><td align="left" valign="top" height="2" style="height:2px;"><a href='https://link.mail.beehiiv.com/ls/click?upn=u001.hNypL3L8TokyM5Rky05o9Ci4OYy2TizAXnCjo1FKpv0mZ5ul8vdFlzmdV9hvTCDqRSf0irzXFesKtt8ctY1-2FxYPHZ3EXS7ovYSGd5GzgTus-3DjGB5_2pv9X20uw9-2BKo8fIdy0J8-2FiGKYTUvtcSuvFh1aGIl0yzP4FvP-2BTiVmOST7Re4R7jVTuNfOE4ta8SNgc8L3nm5lJMRM6kPuFKT5cO9s87dB-2FzXL9aqqeqJFMWQmVzweadsMiv2TPQhc5tqjCX50M-2FaP3EVwAyEnETSPh4u4TGRV-2BaxjH0emOcpV9b5FlAh0LUR2ldLYMiD2qWPAoy5siLLsPwxGMEqdmQPITKFagQcNkX7pJG-2B5bkmJSEhmiF9nRZ1nSGO3jMXXTttcy2wlSMbcAoZuVvpPzyVjNShisjXsdhJX8GPurrISssfgkLXNBj3GcalRZThWqPzC2TieEtAORA7l4NWp-2Fq7d1spqoJmGOMv5vqoeD9k4Jjflpei5vgXDCFlYEkxaza2nBbp70ibsVOtX1T-2Bn1Ge3zdpUUf8NNNMIQah0yGm9wEL1qBkpulJlGKvRMdlC1y-2FzLvQPYj9QSKiqroPqVf5ptOGHnf7OCR5hhOgE2VjWs7JNViTRjt15YEYzN0VNtvKVo-2BBgDqXbNlds58BFgTjimowBy94Hc-3D' style="color: #030712 !important; cursor: default; font-size: 1px; text-decoration: none;"> Terms of Service </a></td></tr></table></td></tr></table></td></tr></td></tr></table></td></tr></table></td></tr></table></td></tr></table></div></body></html>