Weekly Tech Newsletter
Multi-section weekly digest with curated articles, quick links, and a sponsor callout.
Preview
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html dir="ltr" lang="en"><head><link rel="preload" as="image" href="/static/company-logo.png"/><link rel="preload" as="image" href="/static/product/product-image1.png"/><link rel="preload" as="image" href="/static/product/product-image2.png"/><link rel="preload" as="image" href="/static/product/product-image3.png"/><link rel="preload" as="image" href="/static/product/coffee/product-image1.png"/><link rel="preload" as="image" href="/static/profilepic.png"/><meta content="text/html; charset=UTF-8" http-equiv="Content-Type"/><meta name="x-apple-disable-message-reformatting"/><style>
@font-face {
font-family: 'Inter';
font-style: normal;
font-weight: 400;
mso-font-alt: 'Arial';
src: url(https://fonts.gstatic.com/s/inter/v13/UcCO3FwrK3iLTeHuS_fvQtMwCp50KnMw2boKoduKmMEVuLyfAZ9hiJ-Ek-_EeA.woff2) format('woff2');
}
* {
font-family: 'Inter', Arial;
}
</style><style>
@font-face {
font-family: 'Inter';
font-style: normal;
font-weight: 700;
mso-font-alt: 'Arial';
src: url(https://fonts.gstatic.com/s/inter/v13/UcCO3FwrK3iLTeHuS_fvQtMwCp50KnMw2boKoduKmMEVuI6fAZ9hiJ-Ek-_EeA.woff2) format('woff2');
}
* {
font-family: 'Inter', Arial;
}
</style></head><body class="bg-gray-50 m-0 p-0"><!--$--><!--html--><!--head--><div style="display:none;overflow:hidden;line-height:1px;opacity:0;max-height:0;max-width:0" data-skip-in-text="true">Stack Report #48 — AI Coding Assistants, Postgres 17, and How Figma Rebuilt Multiplayer<div> </div></div><!--body--><table border="0" width="100%" cellPadding="0" cellSpacing="0" role="presentation" align="center"><tbody><tr><td><table align="center" width="100%" border="0" cellPadding="0" cellSpacing="0" role="presentation" class="bg-gray-50 py-8 px-4"><tbody><tr><td><table align="center" width="100%" class="max-w-[600px] mx-auto" border="0" cellPadding="0" cellSpacing="0" role="presentation" style="max-width:37.5em"><tbody><tr style="width:100%"><td><table align="center" width="100%" border="0" cellPadding="0" cellSpacing="0" role="presentation" class="bg-white rounded-t-2xl border border-gray-200 border-b-0 px-8 pt-8 pb-6"><tbody><tr><td><table align="center" width="100%" border="0" cellPadding="0" cellSpacing="0" role="presentation"><tbody style="width:100%"><tr style="width:100%"><td class="w-10" data-id="__react-email-column"><img class="rounded-lg" alt="Stack Report Logo" height="36" src="/static/company-logo.png" style="display:block;outline:none;border:none;text-decoration:none" width="36"/></td><td data-id="__react-email-column"><p class="m-0 text-[22px] font-bold text-gray-900 tracking-tight leading-none" style="font-size:14px;line-height:24px;margin-top:16px;margin-bottom:16px">Stack Report</p><p class="m-0 text-[12px] text-gray-400 tracking-widest uppercase font-medium mt-0.5" style="font-size:14px;line-height:24px;margin-top:16px;margin-bottom:16px">The Weekly Developer Digest</p></td><td class="text-right" data-id="__react-email-column"><p class="m-0 text-[12px] text-gray-400 font-medium" style="font-size:14px;line-height:24px;margin-top:16px;margin-bottom:16px">Issue #48</p><p class="m-0 text-[12px] text-gray-400" style="font-size:14px;line-height:24px;margin-top:16px;margin-bottom:16px">January 14, 2026</p></td></tr></tbody></table><hr class="border-gray-100 my-6" style="width:100%;border:none;border-top:1px solid #eaeaea"/><p class="m-0 text-[15px] text-gray-600 leading-relaxed" style="font-size:14px;line-height:24px;margin-top:16px;margin-bottom:16px">Good morning. This week: the AI coding assistant landscape is shifting fast, Postgres 17 ships with features worth knowing, and Figma's engineering team shares how they rearchitected real-time collaboration from the ground up.</p></td></tr></tbody></table><table align="center" width="100%" border="0" cellPadding="0" cellSpacing="0" role="presentation" class="bg-[#3B82F6] px-8 py-3 border-x border-[#3B82F6]"><tbody><tr><td><table align="center" width="100%" border="0" cellPadding="0" cellSpacing="0" role="presentation"><tbody style="width:100%"><tr style="width:100%"><td data-id="__react-email-column"><p class="m-0 text-[12px] text-blue-100 font-semibold uppercase tracking-widest" style="font-size:14px;line-height:24px;margin-top:16px;margin-bottom:16px">✦ This Week's Top Stories</p></td><td class="text-right" data-id="__react-email-column"><p class="m-0 text-[12px] text-blue-200" style="font-size:14px;line-height:24px;margin-top:16px;margin-bottom:16px">3 articles · 8 min read</p></td></tr></tbody></table></td></tr></tbody></table><table align="center" width="100%" border="0" cellPadding="0" cellSpacing="0" role="presentation" class="bg-white border border-gray-200 border-t-0 border-b-0 px-8 pt-8 pb-6"><tbody><tr><td><table align="center" width="100%" border="0" cellPadding="0" cellSpacing="0" role="presentation"><tbody style="width:100%"><tr style="width:100%"><td class="w-[160px] pr-5" data-id="__react-email-column"><img class="rounded-xl object-cover w-full" alt="AI coding assistants comparison illustration" height="100" src="/static/product/product-image1.png" style="display:block;outline:none;border:none;text-decoration:none" width="140"/></td><td data-id="__react-email-column"><table align="center" width="100%" border="0" cellPadding="0" cellSpacing="0" role="presentation"><tbody style="width:100%"><tr style="width:100%"><td data-id="__react-email-column"><p class="m-0 text-[11px] font-semibold uppercase tracking-widest text-[#3B82F6] mb-2" style="font-size:14px;line-height:24px;margin-top:16px;margin-bottom:16px">AI & Tooling</p></td></tr></tbody></table><h2 class="m-0 text-[18px] font-bold text-gray-900 leading-snug mb-3">AI Coding Assistants in 2026: A Comprehensive Roundup</h2><p class="m-0 text-[14px] text-gray-600 leading-relaxed mb-4" style="font-size:14px;line-height:24px;margin-top:16px;margin-bottom:16px">From GitHub Copilot to Cursor to the latest entrants from Anthropic and Google, we benchmark eight AI coding tools on real-world tasks. The gaps between them are narrowing — but the differences still matter.</p><a href="https://stackreport.dev/articles/ai-coding-assistants-roundup-2026" class="text-[13px] font-semibold text-[#3B82F6] no-underline" style="color:#067df7;text-decoration-line:none" target="_blank">Read the full roundup →</a></td></tr></tbody></table></td></tr></tbody></table><hr class="border-gray-100 mx-8 my-0" style="width:100%;border:none;border-top:1px solid #eaeaea"/><table align="center" width="100%" border="0" cellPadding="0" cellSpacing="0" role="presentation" class="bg-white border border-gray-200 border-t-0 border-b-0 px-8 pt-6 pb-6"><tbody><tr><td><table align="center" width="100%" border="0" cellPadding="0" cellSpacing="0" role="presentation"><tbody style="width:100%"><tr style="width:100%"><td class="w-[160px] pr-5" data-id="__react-email-column"><img class="rounded-xl object-cover w-full" alt="Postgres database architecture diagram" height="100" src="/static/product/product-image2.png" style="display:block;outline:none;border:none;text-decoration:none" width="140"/></td><td data-id="__react-email-column"><p class="m-0 text-[11px] font-semibold uppercase tracking-widest text-[#3B82F6] mb-2" style="font-size:14px;line-height:24px;margin-top:16px;margin-bottom:16px">Databases</p><h2 class="m-0 text-[18px] font-bold text-gray-900 leading-snug mb-3">What's New in PostgreSQL 17: Features Developers Should Know</h2><p class="m-0 text-[14px] text-gray-600 leading-relaxed mb-4" style="font-size:14px;line-height:24px;margin-top:16px;margin-bottom:16px">Postgres 17 brings incremental JSON support, improved MERGE semantics, and significant vacuum performance gains. We walk through the changes that will actually affect your production queries and schema design.</p><a href="https://stackreport.dev/articles/postgres-17-new-features" class="text-[13px] font-semibold text-[#3B82F6] no-underline" style="color:#067df7;text-decoration-line:none" target="_blank">Read the breakdown →</a></td></tr></tbody></table></td></tr></tbody></table><hr class="border-gray-100 mx-8 my-0" style="width:100%;border:none;border-top:1px solid #eaeaea"/><table align="center" width="100%" border="0" cellPadding="0" cellSpacing="0" role="presentation" class="bg-white border border-gray-200 border-t-0 border-b-0 px-8 pt-6 pb-8"><tbody><tr><td><table align="center" width="100%" border="0" cellPadding="0" cellSpacing="0" role="presentation"><tbody style="width:100%"><tr style="width:100%"><td class="w-[160px] pr-5" data-id="__react-email-column"><img class="rounded-xl object-cover w-full" alt="Figma multiplayer engine architecture visualization" height="100" src="/static/product/product-image3.png" style="display:block;outline:none;border:none;text-decoration:none" width="140"/></td><td data-id="__react-email-column"><p class="m-0 text-[11px] font-semibold uppercase tracking-widest text-[#3B82F6] mb-2" style="font-size:14px;line-height:24px;margin-top:16px;margin-bottom:16px">Engineering Deep Dive</p><h2 class="m-0 text-[18px] font-bold text-gray-900 leading-snug mb-3">How Figma Rebuilt Their Multiplayer Engine from Scratch</h2><p class="m-0 text-[14px] text-gray-600 leading-relaxed mb-4" style="font-size:14px;line-height:24px;margin-top:16px;margin-bottom:16px">Figma's original multiplayer system served them well for years — until it didn't. Their engineering team details the architectural decisions, the CRDTs they considered, and the tradeoffs they made when rebuilding real-time collaboration at scale.</p><a href="https://stackreport.dev/articles/figma-multiplayer-engine-rebuild" class="text-[13px] font-semibold text-[#3B82F6] no-underline" style="color:#067df7;text-decoration-line:none" target="_blank">Read the deep dive →</a></td></tr></tbody></table></td></tr></tbody></table><table align="center" width="100%" border="0" cellPadding="0" cellSpacing="0" role="presentation" class="bg-gray-900 border border-gray-800 px-8 py-7 rounded-none"><tbody><tr><td><table align="center" width="100%" border="0" cellPadding="0" cellSpacing="0" role="presentation"><tbody style="width:100%"><tr style="width:100%"><td data-id="__react-email-column"><p class="m-0 text-[10px] font-semibold uppercase tracking-widest text-gray-500 mb-3" style="font-size:14px;line-height:24px;margin-top:16px;margin-bottom:16px">Sponsored</p><table align="center" width="100%" border="0" cellPadding="0" cellSpacing="0" role="presentation" class="mb-4"><tbody style="width:100%"><tr style="width:100%"><td class="w-10 pr-3" data-id="__react-email-column"><img class="rounded-lg" alt="Depot CI logo" height="36" src="/static/product/coffee/product-image1.png" style="display:block;outline:none;border:none;text-decoration:none" width="36"/></td><td data-id="__react-email-column"><p class="m-0 text-[16px] font-bold text-white leading-tight" style="font-size:14px;line-height:24px;margin-top:16px;margin-bottom:16px">Depot — Faster CI Builds, Zero Config</p></td></tr></tbody></table><p class="m-0 text-[14px] text-gray-400 leading-relaxed mb-5" style="font-size:14px;line-height:24px;margin-top:16px;margin-bottom:16px">Depot is a drop-in replacement for your existing CI Docker build infrastructure. Teams see up to 40× faster builds with remote caching and native arm64 runners — no changes to your Dockerfile required. Trusted by engineering teams at Vercel, PlanetScale, and Stripe.</p><a href="https://depot.dev?ref=stackreport" class="bg-[#3B82F6] text-white text-[13px] font-semibold px-5 py-2.5 rounded-lg no-underline inline-block" style="color:#067df7;text-decoration-line:none" target="_blank">Start building faster — free trial →</a></td></tr></tbody></table></td></tr></tbody></table><table align="center" width="100%" border="0" cellPadding="0" cellSpacing="0" role="presentation" class="bg-blue-50 border border-gray-200 border-t-0 px-8 py-6"><tbody><tr><td><table align="center" width="100%" border="0" cellPadding="0" cellSpacing="0" role="presentation"><tbody style="width:100%"><tr style="width:100%"><td class="w-12 pr-4" data-id="__react-email-column"><img class="rounded-full" alt="Marcus Webb, Editor of Stack Report" height="40" src="/static/profilepic.png" style="display:block;outline:none;border:none;text-decoration:none" width="40"/></td><td data-id="__react-email-column"><p class="m-0 text-[13px] font-semibold text-gray-900 mb-1" style="font-size:14px;line-height:24px;margin-top:16px;margin-bottom:16px">Marcus Webb · Editor, Stack Report</p><p class="m-0 text-[13px] text-gray-600 leading-relaxed" style="font-size:14px;line-height:24px;margin-top:16px;margin-bottom:16px">"The Figma article is a must-read if you work on any collaborative software. The engineering tradeoffs they document are rare to see published this transparently."</p></td></tr></tbody></table></td></tr></tbody></table><table align="center" width="100%" border="0" cellPadding="0" cellSpacing="0" role="presentation" class="bg-white border border-gray-200 border-t-0 border-b-0 px-8 py-6"><tbody><tr><td><h3 class="m-0 text-[13px] font-semibold uppercase tracking-widest text-gray-400 mb-4">Also Worth Reading</h3><table align="center" width="100%" border="0" cellPadding="0" cellSpacing="0" role="presentation" class="mb-3"><tbody style="width:100%"><tr style="width:100%"><td class="w-4" data-id="__react-email-column"><p class="m-0 text-[#3B82F6] text-[14px]" style="font-size:14px;line-height:24px;margin-top:16px;margin-bottom:16px">→</p></td><td data-id="__react-email-column"><a href="https://stackreport.dev/links/bun-2-release" class="text-[14px] text-gray-700 no-underline font-medium" style="color:#067df7;text-decoration-line:none" target="_blank">Bun 2.0 ships with native S3 and SQL APIs</a></td></tr></tbody></table><table align="center" width="100%" border="0" cellPadding="0" cellSpacing="0" role="presentation" class="mb-3"><tbody style="width:100%"><tr style="width:100%"><td class="w-4" data-id="__react-email-column"><p class="m-0 text-[#3B82F6] text-[14px]" style="font-size:14px;line-height:24px;margin-top:16px;margin-bottom:16px">→</p></td><td data-id="__react-email-column"><a href="https://stackreport.dev/links/react-compiler-stable" class="text-[14px] text-gray-700 no-underline font-medium" style="color:#067df7;text-decoration-line:none" target="_blank">React Compiler reaches stable — what changes for you</a></td></tr></tbody></table><table align="center" width="100%" border="0" cellPadding="0" cellSpacing="0" role="presentation" class="mb-3"><tbody style="width:100%"><tr style="width:100%"><td class="w-4" data-id="__react-email-column"><p class="m-0 text-[#3B82F6] text-[14px]" style="font-size:14px;line-height:24px;margin-top:16px;margin-bottom:16px">→</p></td><td data-id="__react-email-column"><a href="https://stackreport.dev/links/openai-o3-api" class="text-[14px] text-gray-700 no-underline font-medium" style="color:#067df7;text-decoration-line:none" target="_blank">OpenAI o3 API pricing breakdown for production workloads</a></td></tr></tbody></table><table align="center" width="100%" border="0" cellPadding="0" cellSpacing="0" role="presentation"><tbody style="width:100%"><tr style="width:100%"><td class="w-4" data-id="__react-email-column"><p class="m-0 text-[#3B82F6] text-[14px]" style="font-size:14px;line-height:24px;margin-top:16px;margin-bottom:16px">→</p></td><td data-id="__react-email-column"><a href="https://stackreport.dev/links/sqlite-wasm-perf" class="text-[14px] text-gray-700 no-underline font-medium" style="color:#067df7;text-decoration-line:none" target="_blank">SQLite-WASM performance in the browser: 2026 benchmarks</a></td></tr></tbody></table></td></tr></tbody></table><table align="center" width="100%" border="0" cellPadding="0" cellSpacing="0" role="presentation" class="bg-white border-x border-gray-200 px-8"><tbody><tr><td><hr class="border-gray-100 my-0" style="width:100%;border:none;border-top:1px solid #eaeaea"/></td></tr></tbody></table><table align="center" width="100%" border="0" cellPadding="0" cellSpacing="0" role="presentation" class="bg-white rounded-b-2xl border border-gray-200 border-t-0 px-8 pt-6 pb-8"><tbody><tr><td><table align="center" width="100%" border="0" cellPadding="0" cellSpacing="0" role="presentation" class="mb-6"><tbody style="width:100%"><tr style="width:100%"><td class="text-center" data-id="__react-email-column"><a href="https://twitter.com/stackreport" class="text-[13px] text-gray-500 no-underline font-medium mx-3" style="color:#067df7;text-decoration-line:none" target="_blank">Twitter / X</a><a href="https://github.com/stackreport" class="text-[13px] text-gray-500 no-underline font-medium mx-3" style="color:#067df7;text-decoration-line:none" target="_blank">GitHub</a><a href="https://linkedin.com/company/stackreport" class="text-[13px] text-gray-500 no-underline font-medium mx-3" style="color:#067df7;text-decoration-line:none" target="_blank">LinkedIn</a><a href="https://stackreport.dev/rss" class="text-[13px] text-gray-500 no-underline font-medium mx-3" style="color:#067df7;text-decoration-line:none" target="_blank">RSS Feed</a></td></tr></tbody></table><hr class="border-gray-100 mb-6" style="width:100%;border:none;border-top:1px solid #eaeaea"/><p class="m-0 text-[12px] text-gray-400 text-center leading-relaxed mb-3" style="font-size:14px;line-height:24px;margin-top:16px;margin-bottom:16px">You're receiving Stack Report because you subscribed at<!-- --> <a href="https://stackreport.dev" class="text-gray-400 underline" style="color:#067df7;text-decoration-line:none" target="_blank">stackreport.dev</a>.<br/>Stack Report · 340 Pine Street, Suite 800 · San Francisco, CA 94104</p><p class="m-0 text-[12px] text-center" style="font-size:14px;line-height:24px;margin-top:16px;margin-bottom:16px"><a href="https://stackreport.dev/preferences" class="text-gray-400 underline mx-2" style="color:#067df7;text-decoration-line:none" target="_blank">Manage preferences</a>·<a href="https://stackreport.dev/unsubscribe" class="text-gray-400 underline mx-2" style="color:#067df7;text-decoration-line:none" target="_blank">Unsubscribe</a>·<a href="https://stackreport.dev/archive" class="text-gray-400 underline mx-2" style="color:#067df7;text-decoration-line:none" target="_blank">View in browser</a></p><p class="m-0 text-[11px] text-gray-300 text-center mt-4" style="font-size:14px;line-height:24px;margin-top:16px;margin-bottom:16px">© 2026 Stack Report. All rights reserved.</p></td></tr></tbody></table></td></tr></tbody></table></td></tr></tbody></table></td></tr></tbody></table><!--/$--></body></html>