It is almost a year since the singularity, which was, I feel, the moment at which agents became good enough at writing code to become genuinely useful. Albeit with lots of coaching and guidance in taste and judgment.
What a year! Today, at least in the code repositories my agents are working in, where the quality bar is set unusually high (mostly Rust, pedantic lints, loads of unit tests), the agents are writing code that is better than any I’ve ever seen a human write. If I’ve pointed the agent in exactly the right direction (with good specs, designs and plans) then I don’t really need to check the code anymore. I just need a glance and a sense that it’s right. I know it will be.
I think this is what we’re all seeing. And it seems to be leading to the following premise.
If agents are writing better code than humans, we should let them do it. And if we do, then why wouldn’t we let them use the very best tools that exist.
Agents are just as good at writing Rust as they are at writing JavaScript. Probably better. So why wouldn’t we just let them write Rust? The only argument that carried any weight when humans were writing Rust, was that Rust is hard to learn and the team didn’t already know the language. That doesn’t apply anymore.
When humans were writing code, we also didn’t want to write separate apps for web, iOS, and Android. It was a lot of work and we’d write different bugs into each copy. So we chose React Native, or Flutter, or Kotlin Multiplatform Mobile so that we could write the app once and have it work (for some definition of “work”) everywhere.
Recently there’s been a bunch of posts related to high-profile agent-assisted migrations. The Bun rewrite. The GitHub Copilot rewrite. And now the Shopify app migration from React Native to fully native (Swift for iOS, Kotlin for Android, and I guess TypeScript for web). DHH, the creator of Ruby On Rails and founder of 37 Signals, has declared humans dead with respect to writing code and is moving his apps to their native languages.
The thinking is that if the agents are writing all the code they may as well write it separately for each platform.
I get this. When I’m building an app, I want the best, most idiomatic, user experience I can get. And that means using the platform’s native UI framework (SwiftUI and Jetpack Compose).
But even if the agents are not going to complain like the humans did, and will do a great job at this, there’s still one thing nagging me. I can’t actually guarantee that my app will function identically on all three platforms. Sure I can write lots of tests. And those tests can be testing the same things on each platform. And the agent’s going to write those too, so it can make sure that they are identical.
Well it probably can. But would you be sure? Would you be confident that subtle behaviour differences hadn’t crept in? You’d still have bugs, right? And those bugs would be different on each platform. Possibly even subtly different. So you’re still amplifying the bug surface. And someone is going to report them. And you’ll have to ask them what platform the bug was on. And go to the code on that platform and fix it for that platform. Before long you’re in the place you were trying to avoid.
This is why we built Crux.
Crux allows you (and the agents) to build apps that are fully native, with idiomatic UX on every platform, but also to write the behaviour of your app once. And then use it everywhere. So you can guarantee that your app works exactly the same wherever it is deployed. What’s more, the shared core in Crux apps, is pure and therefore easily testable. It becomes trivial to wrap the behaviour with thousands of unit tests that prove your app works. On every platform.
And to top it off, that behaviour is written in Rust. Why not? The agents are building it anyway.
We are most satisfied when we can have our cake and eat it as well. Rust lets us do that (we get correctness and performance). And Crux lets us do that too (we get Rust and shared behaviour). In the modern agentic era, we should demand that we can at least eat our cake.
Interested in how Red Badger applies hypothesis-driven validation inside complex enterprises? Get in touch.