I spent the last week building with Bend 2 on real projects, and came away pretty impressed. Quick thoughts:
- Bend changes what the human needs to pay attention to.
Instead of reviewing every implementation detail, you can spend more time getting the intent and laws right, then let the coding agent figure out the implementation and proof. You still need to make sure the laws actually express what you want.
- Coding agents make formal verification much more practical.
The annoying part used to be writing and maintaining the proofs. Now the agent can do that work. Basically: you don’t need deep math knowledge to start anymore; you can work through the problem in English and use the model to find the algebra/laws.
- The proof is useful feedback for the coding agent, not just a safety certificate at the end.
This was probably the most interesting thing we actually observed. In one of our projects using Bend, the agent proposed roughly 20 laws. When we made it prove all of them, 4 of the original laws were actually false. The proving process found counterexamples, forced the edge cases to be stated correctly, and changed the implementation.
- Bend being a real general-purpose programming language with formal verification built-in matters a lot.
Before Bend 2 existed, you might have your real program in Rust/TypeScript and separately model it in Lean/TLA+. Then you have to trust that the thing you proved still matches the real program. Bend lets the code you execute also be the thing whose laws you prove. No more worrying about the 'model of your code' drifting from the real code.
- You probably shouldn’t formally prove everything.
This was an important conclusion for us. Use it where correctness really matters, where the logic has a clear mathematical shape, where agents keep tripping up, or where there's a core that will evolve a lot. Proving every trivial piece of an app can be overkill and costs more tokens/time.
- You don’t have to rewrite your whole app in Bend to use it.
It's easy to get started. We took one correctness-critical part of one of our existing TypeScript projects, rewrote just that slice in Bend, compiled it to JavaScript, and left the rest of the application alone. It is now 100% bug-free (actually proven!) and 4x faster.
I recorded the workflow step by step here if anyone is curious: YouTube
Would also be curious how other people here are thinking about Bend / applying Bend in their projects.