
Today’s issue: A happy whoopsies, React’s solution for rising gas prices, and a deep cut for the Gleam nerds.
Welcome to #527.


Making the beat go boom with this.update()
One year ago, our dads Ryan Florence and Michael Jackson got up on stage at Remix Jam and revealed Angular 2.0 Remix 3, starting their crusade against React, build tools, and all the unnecessary complexity we’ve come to accept as web developers. But a lot can change in a year.
For starters, one of the more notable announcements from this year’s Remix Jam was that Ryan is no longer with the team. And in fairness, if I had to sell React developers on this.update(), I’d probably quit too. But this year, the main topic of conversation wasn’t the component model, it was everything else.
A full-stack JavaScript framework… finally?:
One of the great mysteries in the JS hellscape we have lived in for most of our careers is why a Rails- or Laravel-style full-stack JavaScript framework has never taken off. This is what Remix 3 is trying to be – a truly full-stack framework. “For most web apps, remix can be the only runtime dependency in package.json.”
Here’s what comes out of the box with Remix 3:
HTTP Server: Remix provides a type-safe router, controllers, and middleware using the same building blocks as your front-end code: Request and Response.
Auth: Remix handles sessions and login providers, while middleware resolves identity and protects routes.
Data: We all know front-end devs shouldn’t database, but Remix 3 provides a built-in type-safe ORM that can connect to Postgres, MySQL, or SQLite with a Zod-like schema validator.
Assets: The Remix asset server can compile TypeScript, JavaScript, and CSS on demand, transform files on the fly, and serve them as native browser modules with import maps. During development, code hot reloads instantly.
UI: The Reactless utopia dozens of developers yearn for is finally here with Components, Frames, styles, animations and a built-in UI library.
Bottom line: There has been a lot of debate on whether or not we need frameworks like Remix anymore, but last time I checked tokens aren’t free (yet), so I’m happy to let Shopify burn them on my behalf.


Your agent the moment it gets production credentials
Your agent works great on your laptop. Then the security review starts, someone asks which agent wiped the staging database, and you realize they all share one service account.
Google Cloud is running Advent of Agents all October to fix exactly that. Every day answers one question about running agents securely in production, with a short video and runnable code. Coming up:
Jump in today and catch up on week one whenever. No sign-in, no paywall.

Lovable now has a native Apify connector. Paste one API token and your app pulls live data from Google Maps, Instagram, TikTok, Amazon, or any other website. Use code BYTES for $25 in free credits.
const mockAPIData = {
items: [
{ id: 1, price: 100 },
{ id: 2, price: 200 }
]
};
class DataCache {
constructor() {
this.cache = new Map();
}
getData(key) {
if (!this.cache.has(key)) {
this.cache.set(key, mockAPIData);
}
return this.cache.get(key);
}
calculateTotal(data) {
data.items.forEach(item => {
item.price = item.price * 1.2;
});
return data;
}
}
const cache = new DataCache();
const data = cache.getData('products');
const withTax = cache.calculateTotal(data);
console.log('Before tax calculation:', data.items[0].price);
console.log('With tax:', withTax.items[0].price);

Jenna Smith wrote about how to make React Context cheap using React’s Compiler. Who’s working on the React Compiler for gas prices?
Since JavaScript developers are busy rewriting everything in Rust, Nicholas Nethercote wrote a helpful article on how to speed up the Rust compiler.
The future of mobile development is agentic. And it’s built on Expo. For years, mobile shipped slower than the web. Now agents are writing code, testing it, fixing it, shipping it OTA, and then monitoring it. All on Expo. [sponsored]
Jared Palmer made Kev, a family of open-source decision models inspired by Jev that you can run locally.
Rich Harris and co. released SvelteKit 3.0, which the Svelte team describes as having “a little more polish, a little more type safety, and a little less junk.”
Cassidy Williams wrote about how agents might have accidentally made websites more accessible. Love a happy whoopsies.
If you’ve been wondering whether or not software engineering is dying, you should watch Convex CEO Jaimie Turner’s keynote We Were Never Paid to Write Code from Abstract Conf. [sponsored]
Alice Moore declared that it’s time to stop installing agent skills.
Deep cut for the nerds, but Gleam 1.19 has a new way of generating Erlang code that makes builds much faster for projects targeting the BEAM.
Greptile is the only AI code reviewer that actually runs your code, instead of just reading it. That’s how it’s been able to catch real bugs in open source repos from Netflix, Posthog, NVIDIA, and lots more. [sponsored]
Matt Rothenberg succumbed to a wave of nostalgia, revisited Guillermo’s 11-year-old post, and wrote Pure UI in the Agentic Era.
Tanner released TanStack Charts 1.0.0, which is now stable and ready to help you commit some data visualization crimes in production.
The calculateTotal method changes the cached data in place, so the “before tax” price becomes 120 instead of staying at 100. Return a new object with new item objects to keep the original data intact.
const mockAPIData = {
items: [
{ id: 1, price: 100 },
{ id: 2, price: 200 }
]
};
class DataCache {
constructor() {
this.cache = new Map();
}
getData(key) {
if (!this.cache.has(key)) {
this.cache.set(key, mockAPIData);
}
return this.cache.get(key);
}
calculateTotal(data) {
const newData = {
items: data.items.map(item => ({
...item,
price: item.price * 1.2
}))
};
return newData;
}
}
const cache = new DataCache();
const data = cache.getData('products');
const withTax = cache.calculateTotal(data);
console.log('Before tax calculation:', data.items[0].price);
console.log('With tax:', withTax.items[0].price);