AIAI EngineerJul 7, 2026· 19:50

The Pipeline Is Dead - Iris ten Teije, Sky Valley Ambient Computing

Iris ten Teije, co-founder of Differ, argues that the traditional software pipeline—built on one frozen artifact for everyone—is dying because producing code changes has become nearly free. This shift enables per-user adaptive software: instead of one codebase shipped to all, a canonical stem plus bounded, isolated, and reversible divergences adapt live per user. She explains how this dissolves the line between development and distribution, using examples like a CRM that learns an investor’s intro paths and skips unused fields. Key challenges include provenance (every divergence must be attributable and inspectable), correctness testing at scale, desirability measurement, and coordination—not merging code but merging intent and outcome. The hard part isn’t AI-generated code; it’s the observability, validation, and isolation that make per-user versions safe rather than terrifying.

  1. 0:00The Pipeline
  2. 1:16One Version
  3. 3:21Cost Collapse
  4. 5:01Personalization
  5. 7:32Adaptive Software
  6. 8:31Safe Divergence
  7. 11:14CRM Example
  8. 12:58Hard Challenges
  9. 16:11Autonomy
  10. 17:07Coordination
  11. 18:25The Shift

Powered by PodHood

Transcript

The Pipeline0:00

Iris ten Teije0:01

As we're online today, you can raise your hands, but just not at your screen. How many of you have spent a significant part of your career making software move from one computer to another? CI pipelines, package registries, container images, app store reviews—that entire stack exists to solve exactly one problem: get a frozen artifact, dead code, from the machine where it was built to the machine where it runs, safely, reproducibly, once.

And here's what I think everyone is missing: that entire stack is built around one idea that is so old, that is so old, that we stopped seeing it as a choice. One version of your software for everyone. We've shipped it that way for so long that almost nobody asks why anymore.

I'm Iris, I'm one of the co-founders of Differ. My co-founder, Noam, was the first engineer at JFrog. He helped build the pipeline that I'm about to tell you is dying. I came at it from the other end. I spent a decade in fintech, I was early at a digital bank that we scaled and exited, shipping software in the environments least willing to tolerate what I'm about to propose.

So I totally get any reservations, and I've had them myself as well. However, I'm telling you, it's coming anyway. And that's not a warning. It's the best thing that's happened to software in a long time. Every piece of distribution infrastructure that you've touched encodes the same assumption: software is produced in one place, it runs in another, and the thing in the middle, the artifact, is frozen.

One Version1:16

Iris ten Teije1:46

And that assumption was correct. For decades it was just true. Why? Because producing a "correct" change was expensive. It took skilled humans, hours, or days. So you did it rarely. It was a central event, you verified it, and froze it.

And you shipped that frozen thing to everyone. So the one-way pipeline isn't arbitrary. It's the direct consequence of production of software being expensive and risky. And of course the frozen artifact has some advantages. You get reproducibility, reviewability, rollback.

And every guarantee that we lean on in production flows from one fact: there is one artifact, and it doesn't change after we ship it. That's the deal. One version for everyone, frozen. We got reliability. But the price was that the software couldn't really be for anyone in particular.

And nobody ever made that decision. There was never a meeting where someone put "one version for everyone" versus "a version for each person" and picked the first one. And it wasn't because the second option, a version for each person, was worse.

It just wasn't an option. Giving two users different software meant forking the codebase and hand-maintaining both. A version per user, at any real scale, wasn't really a viable option. And one version for everyone never had to win an argument.

Cost Collapse3:21

Iris ten Teije3:21

It was just how it was. It was the only shape software could take. And we started treating it as the fact about software, like gravity, like something that is just true. But it was never really a fact about software.

It was a fact about cost and budget. And the economics and that cost just changed. Now, you might expect me to go into AI can code, but everyone has already said it. And that's table stakes. And to me, that's not really the interesting part.

The interesting part is where and how cheap. The cost of producing a correct and scoped change is collapsing toward zero. And just as importantly, the production of the software no longer has to happen in one place up front before anyone runs it.

Part of it can be run on a server, part of it on a client, part in the user's live session. And as each step stops being a decision you freeze at build time, and now starts becoming more of a real-time one, that also means that each piece can be placed wherever it makes most sense, includingright in front of the user in their context.

And so this whole one-way pipeline existed because making software was the expensive, central, and rare event, and running it was cheap. So you separated development from distribution. But now, as making a change becomes as cheap as running one, and it can happen in the same place as where you run it, the reason to separate them is dissolving.

So far I've talked about the supply side. Producing code has become cheap, easy, we can now make a change on a per-user basis. But I also want to address the demand side. People have always wanted software that fits them, and we have decades of proof for that.

Personalization5:01

Iris ten Teije5:21

It just wasn't really possible for most types of software because of cost. To start with one example, the forward deployed engineer. Enterprise software has always had a line item called professional services. And a whole industry exists around that.

If you're a big client of a company like Salesforce, you probably have consultants that are helping you implement custom setups, configurations. You have an engineer living in your Slack channel. And it's not that smaller customers can't benefit from this type of customization.

It just didn't make sense financially until today. To give another example that might resonate with you as engineers: think about your build files, your editor config, key bindings. You rebuild every tool you touch into your tool by hand on every machine.

It's another example of a demand for personalized software. And lastly, Excel, the most successful business software ever created. And Excel isn't really a static program. It's millions of people that all built their own programs on top of it.

So this is clear. Give people the power to make their software theirs, and they take it. Seen on the social feed that per user wins from one size fits all on every metric that mattered. This is more of an example of content versus software.

But now that we have better coding agents, we can move this also to the software layer. So my point is, none of this is really new demand. We've seen it for decades. There have been predecessors like feature flags, segmentation, A/B testing.

There's an enormous industry around this. And we've been trying to make software diverge for many years. But

we got forced into a specific shape, that of creating buckets and segments that you declare in advance. And now, for the first time, we can make software truly adaptive. So to get back to the title of this talk, when the agent is the runtime, when the thing that runs your software can also modify it, development and distribution stop being two phases.

Adaptive Software7:32

Iris ten Teije7:59

The boundary blurs and it's gone. And the shape that we bet on at Differ is that instead of one codebase gated by flags and shipped to everyone, you deploy one canonical stem, and every user runs their own divergence of it.

Same origin, but individually adapted live.

It's going from the least verse version for everyone to the best version for anyone.

Safe Divergence8:31

Iris ten Teije8:31

Now, if you're an infrastructure person, you might be a little worried. Your stomach might be turning because I have just deleted the frozen artifact, and the frozen artifact was what was holding up the entire

building. And we do get these objections, for example, from a call that I had with a CTO recently, who isright to be skeptical. What he said, roughly, was, "I can already barely reason about one AI-generated codebase. And you want me to run a million of these?

You're not describing capability. You're describing my worst problem, multiplied." And if that's your reaction, that's not surprising. It's theright instinct, but perhaps aimed at the wrong target. Here's the distinction that we make. The brittleness that you're picturing is a specific type of failure mode.

It's an unmanaged divergence inside a single artifact. Thousand-line files, everything can touch everything else, no boundaries. And that's not necessarily brittle because it's AI-generated. It's brittle because there's no structure separating things. In our vision, we're thinking about per-user divergences.

And don't write that it's the opposite of that. You've got a stem plus divergences. The divergences are bounded, isolated, and individually reversible. A bad variant can silently corrupt the stem or reach another user, which means that the blast radius of a change isn't a system, it's one context.

And any single divergence can roll back live with no deploy. So the answer to the previous objection isn't "trust us, AI is good at coordination or at coding." The honest answer is you're brittle because there's a tangled artifact with no boundaries.

In our case, we don't ship you a thousand tangled artifacts. We ship one stem and bounded divergences, each isolated, each reversible. The thing that you're afraid of is the thing that this architecture exists to prevent. And as a developer, you can also set controls and boundaries.

What can and cannot be adapted. To give a small example, we're going to have a scenario where we've got a form, and the form can be adapted in order to improve conversion rate, for example. However, as a developer, you can always indicate that specific fields can never be dropped, or parts of your app, like auth or payments, should always be out of, should always be off-limits for any sort of adaptation.

CRM Example11:14

Iris ten Teije11:14

To give another example to make adaptive software a bit more concrete,

think of, for example, a CRM. In this case, we've got an investor who's using a CRM, whereas the CRM was mostly built with a salesperson in mind. And as an investor, you might use it slightly differently. So this investor, she often logs founder intros, and she's always logging who introduced her to which deal.

So the system observes that and creates a

intro path. The system can also observe that she's always skipping specific fields. She never fills them out. So over time, the system learns and doesn't surface those fields, but instead it surfaces fields that she cares about more.

Another example can be the fact that she is always checking specific types of deals or founders, and it doesn't exactly follow the prioritization that the system sets by default. So again, can we learn and make that smarter so that the information that the user cares about is surfaced first?

Not only can the system observe, the idea is also that the user can proactively request changes. And as long as these changes are within the boundaries that the developer sets, and as long as they are within the spirit of the software, within the purpose of what the software was originally made for, it can be implemented without having to go back to the developer.

Hard Challenges12:58

Iris ten Teije12:58

So you can imagine, for a horizontal SaaS like a CRM, you can address a much wider number of customer personas without increasing your R&D spend. Now, of course, there are many hard parts when it comes to bringing this to life.

And I'm going to discuss a couple of hard challenges and problems that we're working on as we're making adaptive software real at scale. We haven't solved all of them, but we have a point of view on each of them, and it's exactly what we're working on day in, day out.

So what changes when there's no single artifact? Firstly, the source of truth. So when there's no single artifact, you can wonder what is the software. In our case, we consider the software to be the stem plus all the immutable divergences.

But of course, that creates a lineage problem. What is this user running and why? That now becomes more of a graph query versus a version number. A bug report describes a program that exists for that specific user. How do you debug or inspect that?

The answer is every divergence is immutable, inspectable, attributable. And we also need to trace any version back to this signal led to this specific recommendation and this exact adaptation. That's one of the parts that we're working on. Second is correctness.

How do you test that the how do you test that the code change that you've just implemented works, that the UI is correct? And yeah, testing, it's a much larger scale of users means that you need to reason about the stem and also every possible divergence of it.

And then desirability, because perhaps you made a code change, it's perfectly correct and working. But you also need to know that whether this was desirable, was it actually a good change? Because anyone can make a code change now, but the hard part is knowing whether you actually found an improvement, an uplift.

And yeah, that is something that is extremely important to keep track of and to measure and to consider what the goals for the company are. And this is not going to be the same for every single piece of software.

In some cases, it might be retention or less churn or lowering the number of support tickets. So it's extremely important to keep track of what are the goals that we're chasing with adaptive software and do the adaptations reach to improve the metrics that matter.

Autonomy16:11

Iris ten Teije16:11

Next is autonomy versus control. And the conservative answer here would be start with just recommendations and don't make any autonomous changes. And that's not a wrong strategy, but in our case, it's not really our vision. The vision is a system that understands the user well enough to act without asking the developer for permission every time first.

So for us, the challenge isn't building more control. It's winning enough trust that you don't have to. And it's a hard problem, but also a very interesting one. And how do you make a system good enough, legible enough, reliable enough that humans in the loop choose to step back?

And that's certainly what we are building towards.

And lastly, coordination. Everyone on their own version, how do you push new updates? How do changes propagate to a million different versions? And this is one of the challenges that we've been thinking hardest about. And the answer that we keep coming back to is don't merge code, merge intent, merge outcome, which means not everyone has to run the same commit or the exact same piece of code, but everyone converges on the same goal through their own path.

Coordination17:07

Iris ten Teije17:41

And if it wasn't already clear, the challenges that I just addressed are the hard challenges. Generation has become easy, and I would say that's actually the easy 80%. Calling a model to write some code is something that everyone can do.

The other part, observability, validation, coordination, that is the entire business. Anyone can call an LLM, but the substrate, the stem plus divergences, provenance, validation, that is really the hard part and something that we're working on every single day.

The Shift18:25

Iris ten Teije18:25

To close off with, when I started out in fintech, a bank with no branches sounded reckless.

A decade later, the branch is the weird part. My co-founder, Noam, used to fight with engineers about why you need builds and CI.

We've seen these shifts before, and adaptive software is the same type of shift. It doesn't feel obvious until it does. To go back to the start of the talk, the pipeline didn't fail because it didn't work anymore, but the constraint it was built for went away.

The assumption underneath it that software is expensive, so we need to freeze it and ship it once, that assumption stopped being true.

And when making software gets as cheap as running it, the line between distribution and development isn't a line anymore.

We spent 20 years getting good at shipping one version for everyone. The next 20 are about shipping theright version to anyone, with the isolation and provenance that makes it safe instead of terrifying. I'm Iris, this is Diffra, and that's what we're building.

Thank you for watching.