Back to Index

We accidentally made an AI platform: Jamie Turner


Transcript

So, originally I had this very fancy title for this talk, Deterministic Workflow, and I don't know. But what I really want to title it is we accidentally made an AI platform, and what are we going to do about it? This is true mission, my company, is to replace traditional back-end engineering, all the kind of stuff that we do on back-end engineering, generative AI, by the way, thinks that fate limiting is one of those things, it's kind of cool.

Sounds ominous, but it is ominous, right? So we glue things to things, we configure stuff for different systems. We map data formats constantly, and a lot of times teams are spending a lot of their time, like half their time on this stuff, it has nothing to do with your product, your users don't care, and they don't benefit.

So we want to replace all this stuff with a high-level API, kind of functional interface that feels native to your application, similar to something like Firebase or Parse before it. So if you were doing this in the 2020s, and it was a design exercise, what would you replace all that stuff with?

What would that API look like? Well, for us, we took heavy inspiration from React, and really more generally, the way that kind of all applications are starting to have this functional reactive data flow relationship to state. If you're not familiar with React, here's a little baby example. You can create a state variable, it has the setter.

And what React really empowers is it makes sure that whenever that state changes, all the places that depend on it are updated, re-rendered, refreshed. And so in this case, our app would have "Hi, Olivia," in all caps. The problem is this paradigm breaks down when the server gets involved, the server doesn't play the game this way.

You still have to pull the server, you have to invalidate caches, you have to invent your own push mechanisms. So Convex fixes that. So Convex has queries and mutations, like other frameworks you may be familiar with. But in Convex's case, it completely tracks pervasively data flow and dependencies through the backend.

And so it extends the reactive paradigm into the backend. These are these universally subscribable entities that applications can get updates from as soon as updates are available. So you might say, "What does this have to do with AI?" So what it has to do with is that some of the reacting entities are actually server-side actions.

It's not just the application. This may be a kind of architecture you've thought through before or played with. So something like a note-taker, maybe you're doing automatic speech recognition and then you summarize it and you generate embeddings and find related notes or whatever. And along the way to these different checkpoints, the application sometimes needs to be brought in.

Show the summary, show related notes, et cetera. But in practice, we find that apps are actually a lot more sophisticated than this. This is a developer named Web Dev Cody who's building an application on Convex that kind of generates a first project plan given a prompt. So in this case, he is an app to track recipes.

And when he hits create plan, he's running on Convex, this is sort of like, "Let's get a bunch of project names. Let's get first features requests, color palettes, icon ideas." All of these, as you can imagine, are kind of concurrent chains that are running in the background. And all of them kind of flow into the application as they have results.

It ends up that Convex is kind of combination of like seamlessly syncing state between these back-end steps and the application is incredibly useful for a lot of generative AI apps. And for that reason, post-ChatGPT boom, like 90-plus percent of projects on Convex are generative AI. And a lot of generative AI startups.

So here's what we're doing about it. So the first thing we did is we got a lot of feedback from developers that one of those steps was always vector indexing, or quite often vector indexing. So the developer said, "This is how you make a schema on Convex. It's just TypeScript, type completions, all that good stuff." They said, "Well, you already allow us to add indexes to our fields like this.

Could you allow us to add vector indexes?" And so we said, "Sure." We rolled that out late last year, and it's being used very broadly now by projects on Convex. The second thing we just did, which is just kind of announcing right now, is we started a Convex for Startups program.

Discount program, kind of access to startup-only forums and events and stuff like that. And the first batch, we just admitted tons and tons of generative AI companies in it. So again, this is sort of like the most engaged, excited customers right now. And then very soon, we're releasing these kind of high-level components.

We have this Convex components framework, which kind of encapsulates whole state machines in these building blocks. You can easily drop into your app to have your back-end encompass these sophisticated workflows that we've co-developed with customers very easily and rapidly. So anyway, that's us. If you're building something cool and generative AI, and you want to sort of ship with confidence and quickly, check us out at Convex.dev.

Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you.

Thank you. We'll see you next time.