Getting the transcript
Reading the captions from YouTube. A video nobody has opened here before takes 10 to 30 seconds; this page fills in on its own.
Getting the transcript
Reading the captions from YouTube. A video nobody has opened here before takes 10 to 30 seconds; this page fills in on its own.

AI Engineer · @aiDotEngineer
This video has no Most replayed graph yet: YouTube shows one only once a video has enough views. These are the moments viewers replayed most in AI Engineer's most watched videos.
Most replayed moment at 18:45
4.8x that video's typical replay level
that they're they're changing they're changing things in the database not yet. You want to run them through the ontology first and make sure that works. Okay. I only got an I've got I've got another I've just a short time. I'm going to try to show you some of the things that um that you can
Said at 18:37
Most replayed moment at 16:13
3.6x that video's typical replay level
method signatures, the program layout and the call stacks. So here's some examples. I don't think you'll be able to read this one, but this is like the level of abstraction we're at. It's how we're actually going to lay this stuff out and how these systems are going to interact. Dylan Mulroy from Cloudflare talks a
Said at 16:06
Most replayed moment at 13:49
2.3x that video's typical replay level
Fable uh and it runs into an unknown, ask it to log it, right? So that um you uh you can see where the deviations happened and then you can sort of figure out why as well, you know? It will usually give you some context about what happened.
Said at 13:43
The graph counts replays. It does not show where viewers stopped watching.
Words
2,075
Runtime
17:33
Speaking pace
118wpm
Reading time
9min
118 words per minute, below the 160 25th percentile of 349 measured videos. That distribution comes from the 349-video hook study.
Opening (first 30 seconds)
In 2026, coding agents will quietly retire their first software platform. Not because it's bad, simply because the platform is unnecessary. I'm Dominic Tornow. I am founder and CEO of Resonate. Resonate is a durable execution platform built with minimalism and simplicity as its core technical values. And these properties will play a central role in this talk. At
59 words, the words spoken in the first 30 seconds at 118 words per minute.
Free, no signup. See how the first 30 seconds hold attention, with rewrites.
Sentence shape
| Measure | This transcript |
|---|---|
| Sentences | 201 |
| Average words per sentence | 10.3 |
| Longest sentence | 28 words |
| Questions asked | 23 |
| Sentences containing a number | 2 |
Most used terms
Filler phrases
5 in total: like 3 · kind of 2.
A literal whole-word count of the same phrase list the Prepublish browser extension uses, so a phrase inside another word is not counted and a phrase used in its ordinary sense still is. It is a count and not a judgement.
What this transcript is
Every word below is the caption track YouTube publishes for this video, pulled from the video itself and reproduced unchanged. It is not Prepublish's writing, not a summary, and not a re-transcription: it is the video's own published captions. English captions, generated automatically by YouTube, in the video’s original language. Source: the video on YouTube. A channel that would rather this page did not exist can ask for its removal through the contact page, and it is removed.
In 2026, coding agents will quietly retire their first software platform. Not because it's bad, simply because the platform is unnecessary. I'm Dominic Tornow. I am founder and CEO of Resonate. Resonate is a durable execution platform built with minimalism and simplicity as its core technical values. And these properties will play a central role in this talk. At Resonate, we have a working theory where software engineering is headed.
General-purpose implementations will increasingly be replaced by bespoke implementations generated on demand. Not as a new library, a new framework, or a new platform, but as a minimal extension of the infrastructure that is already in place. If this theory holds true, reuse will move upstream. Instead of reusing a general-purpose implementation, we will reuse a specification, and we will derive a bespoke implementation from it.
In fact, we can build many bespoke implementations tailor-made for the infrastructure that is already in place. We just have to ask the agent. At this point, the prompt is the platform. Resonate is a durable execution platform. We have an implementation of the Resonate server. We have implementations of the Resonate SDK for TypeScript, Python, Rust, Go, and Java. So, we have to ask, what does this new reality mean for us?
If implementations become generatable, where does our value live? And our answer? Our value moves from implementation to specification. Now, this changes how we think about Resonate. The product is no longer the implementation. The product is the specification, the protocol. And from that protocol, we want to derive multiple server implementations. One is the general-purpose Resonate server, our reference implementation.
Others are implementations built with infrastructure partners. For customers and partners, this means durable execution right on top of their existing infrastructure with minimal additional dependencies. So, the question is no longer can we build a server? The question is, can we repeatedly synthesize trusted servers from the same specification? And if so, how? When we talk about agentic engineering, we focus all of our attention on verification.
How do we know the result is correct? But today, I want to focus on the specification instead. And more importantly, how can agents participate in specifying the system? Not just building or verifying it. Now, Resonate is partnering multiple infrastructure providers to bring durable executions natively to their technology stack. One of them is Synadia, the company behind NATS.io, an open-source messaging system designed for building modern distributed systems.
For the rest of this presentation, we will use Resonate on NATS.io to explore our agentic engineering practices. How do we go from specification to implementation? First, we need to level set our mental model. This picture is a common view of agent decoding. There's an agent, there's a specification, and then there's an implementation. And for many applications, that is enough. But it is not enough for what we are trying to do.
Because we are not trying to generate one implementation from a specification. We are trying to generate multiple target-specific implementations from the specification. So, the specification must not take any aspect of an implementation into account. The specification must not assume a concrete database schema or concrete indices. The specification must not even assume a relational database with tables and transactions at all.
It must not assume a key-value store. It must not assume weak consistency. It must not assume strong consistency. The specification must be abstract. Only the implementation must be concrete. So, we ask the agent to follow the abstract specification and generate a concrete implementation. Specifically, at first, we ask the agent, "Build a Resonate server in Rust on top of Postgres." And the agent failed. The gap between the abstract specification and the concrete implementation was too large.
The agent generated a system that worked on the happy path. It passed the basic tests, but it was not correct. It broke on the concurrency. It broke on the process failure. It broke on the network failure. The implementation was closer to a prototype, but not a production system. So, we amended the process. Instead of asking the agent to jump directly from abstract spec to concrete implementation, we inserted an intermediary artifact, the concrete specification.
That concrete specification was derived interactively with the agent. But, the human was the main driver. For Postgres, that meant making target-specific decisions explicit. The data schema, the indices, the SQL queries, the transaction boundaries. Once those decisions were written down, the agent was indeed able to implement the production system. So, this worked. But, it also revealed the limitations. The agent helped us build the system, but the agent did not help us design the system.
And if the specification is a reusable product, then that's not enough. Now, the next step is obvious. Agents have to move upstream. But, how? When we started building Resonate on Natero, we changed the question. We did not ask, "Can the agent build the production system?" Instead, we asked, "What does the agent need in order to design the system first, and build the system second?" So, we gave the agent access to a deterministic simulation environment.
And we gave it a different task. Do not build the production system. Build a simulated implementation. The simulated implementation is not the product. It is executable design. Its purpose is to discover the correct algorithm under partial order under partial failure. And once these algorithms are discovered, tested, and verified in simulation, then we ask the agent to write the concrete specification. And only then to be asked the agent to write the production implementation.
So, the process becomes abstract specification, simulation implementation, concrete specification, and then concrete implementation. This is the point where the agent moves upstream. Humans are still involved in the design process, but now the agent is a driver. Two ingredients make this possible. Minimalism and simplicity. Unfortunately, minimalism and simplicity are not the starting point. They are the finish line.
We spent 3 years making the protocol smaller and simpler. Every time we ran into a problem, we asked, "What can we take away? What abstraction can we erase? What property can we remove? What relationship can we break?" The result is a very small protocol centered around two objects, a durable promise and a durable task. That simplicity matters because even simple concurrent distributed protocol have a complex state and behavior space.
So, in other terms, implementing even simple protocols on top of a few simple primitives is tough. Let's make this concrete with NATS. NATS gives us a small set of primitives we can build on. Queues, a key-value store, and delayed or scheduled messages. These are not resonate concepts. These are the concepts of the target platform. So, the design question becomes how can we express the resonate protocol using only these primitives?
Let's focus on the key value store. The key value store is versioned. We create a key with value foo, then we update it to bar, then we update it to baz. So, the latest value is baz at version two. Most of the time, when we read the key, that is exactly what we get. A fresh read. And if all reads were fresh, the design would be straightforward. But sometimes, the read is stale. Here, the latest value is still baz at version two.
But the read returns foo at version zero. That is not corruption. That is not a bug in the key value store. That is a valid read under the consistency model of the target platform. And that matters because our implementation cannot be correct only when the target behaves conveniently. The implementation has to be correct when the target behaves legally. So, the simulation environment has to expose exactly this kind of behavior.
Fresh reads, stale reads, and the version information that tells us which world we are in. Unfortunately, we do not know the read was stale simply by reading. We will find out later when we try to write. Here, we read version zero. So, we try to update version zero. But, the key has already moved on. The right fails. That is the moment the target tells us the word you saw is not the current word. Building always correct applications on top of a concurrency model that allows occasional stale reads is not simple.
Not for humans. Not for agents. So, how do we set up our agent for success? What tools does our agent need to ace this task instead of falling flat on its face? Agents thrive on feedback. Immediate unambiguous feedback. Not just feedback that shows this went wrong. Feedback that shows why and how this went wrong. What stale value was returned? What logic was triggered? What right failed? And which invariant broke because of that?
So, we built a deterministic simulation testing environment in Python. And inside that environment, we simulated the parts of Nuts IO we depend on. Here, for example, is a simulated key-value store. It keeps a full version history for every key. On get, the simulated store sometimes returns the latest version. But, sometimes, controlled by the deterministic random generator, the store returns an older version. On update, the store enforces optimistic concurrency.
The right only succeeds if the version you read is still the latest version. Otherwise, it raises. This gives the agent a store that behaves like the real store in the ways that matter for correctness. But, unlike the real target, the simulation is deterministic, it's repeatable, and it's inspectable. So, when the agent writes the wrong algorithm, we can reproduce the exact execution that broke it. And the agent can repair the algorithm against that trace.
But, deterministic simulation does more than just inject stale reads. It lets us expose facts the real platform hides. We call this the forbidden fruit. In production, when you read from the key-value store, you only get the value and the version you observed. You do not get to know whether that read was fresh or stale. You do not get to see the latest value you missed. And you shouldn't get that information because real code cannot depend on it.
But, in simulation, we can record it. Here, every get emits a trace event. If the read is fresh, the trace says, "This was fresh." If the read is stale, the trace says, "This was stale. This is what you got, and this is what the latest value was." That information is forbidden to the algorithm, but it is incredibly useful to the agent. It lets us explore failures in terms the agent can act on. Now, this is what a trace event looks like.
The production code only receives the result. It sees the promise was pending. This is all the real platform would tell us. But, the simulation also records the type of the read. This read was a stale read. And it records the latest value that was hidden from the algorithm. The latest value says the same promise is already settled. That difference is exactly the kind of fact an agent needs when it's debugging a distributed algorithm.
Not just the invariant failed, but the invariant failed because the algorithm made a decision from a stale view of the world. Again, the algorithm is not allowed to depend on this information, but the agent is allowed to use it to explain why the algorithm it designed was wrong. Cause and effect becomes visible. The agent does not just learn that the system is wrong, it learns why the system is wrong. And with this approach, the agent was able to close the gap.
First, the agent built a proof of concept in the deterministic simulator, verified by fuzz testing. From the proof of concept, the agent derived the concrete specification, where we already knew the algorithm was correct. And like before, from the concrete specification, the agent derived an implementation. Deterministic simulation lets agents participate in the design, not just in the implementation. Humans are still in the design process, but this time the agent is the driver.
From a single abstract specification, the agent designed and built the platform. Via simulation to concrete specification to concrete implementation. The prompt is the platform and the specification is the product. Thank you very much for watching. If you have any questions, please don't hesitate to reach out. You will find me in Resonate's Discord.
The words are the caption track's own and nothing is reworded or re-transcribed. Paragraph breaks are placed between sentences so the text reads as prose.
Free tools for your own script. No signup, no login.
Paste your draft and see where viewers are likely to drop off, with a rewrite for each weak line.
Paste the first 30 seconds of your own draft for a hook score and rewrites.
Check your draft against YouTube's advertiser-friendly guidelines before you record it.
Read this channel's public videos and transcripts, and download a writing brief for it.