WEBVTT

NOTE Sentence-level transcript of https://www.youtube.com/watch?v=mJqwmmOx4WA

NOTE One cue per sentence. Cue ids are the line anchors on /transcripts/mJqwmmOx4WA.html. A cue ends where the next begins, or 2 s after its last word.

s1
00:00:01.309 --> 00:00:03.309
[music]

s2
00:00:12.800 --> 00:00:14.480
Hi everyone.

s3
00:00:14.480 --> 00:00:15.440
My name is Andrew Garvin.

s4
00:00:15.440 --> 00:00:17.359
I'm one of the co-founders of Metronome.

s5
00:00:17.359 --> 00:00:23.279
Metronome, if you're not familiar, is the top platform for usage billing, which as you might imagine is taking off right now.

s6
00:00:23.279 --> 00:00:28.640
Um, so much so that earlier this year we were acquired by Stripe in the largest deal that Stripe has ever done.

s7
00:00:28.640 --> 00:00:33.520
Um, and what I'm going to show you today is a fun project that we've been cooking on with the Stripe team.

s8
00:00:33.520 --> 00:00:38.559
Um, that is a demonstration of some of the things that we could work on together.

s9
00:00:38.559 --> 00:00:43.520
Um, this is going to combine two very different uh products within Stripe.

s10
00:00:43.520 --> 00:00:46.960
Um, if you haven't seen it already, I recommend looking at Stripe Projects.

s11
00:00:46.960 --> 00:00:50.239
Just open up open that up on your phone while I'm going through this.

s12
00:00:50.239 --> 00:00:54.160
Um, this is something that actually was launched literally the week that Metronome was acquired.

s13
00:00:54.160 --> 00:00:59.039
And so, as you might imagine, the velocity of development at Stripe and at Metronome is pretty high.

s14
00:00:59.039 --> 00:01:06.240
Basically, what Stripe Projects is is it's an orchestrator to allow you to operate and build your business as fast as possible.

s15
00:01:06.240 --> 00:01:22.000
Um, and so in essence, what it does is it provisions a Stripe account for you as well as backend services that you may need, think like Versel, Postgress, and in this case, a metronome billing agent in order to launch a product quickly or an application quickly all through the CLI.

s16
00:01:22.000 --> 00:01:31.600
Um, so the demonstration that we're going to do today is a very simple demonstration of how to get set up through Stripe projects, but you can imagine all the sorts of things that people are building on Stripe today.

s17
00:01:31.600 --> 00:01:36.640
Um, one of the really cool aspects of being inside Stripe is their scale and data.

s18
00:01:36.640 --> 00:01:45.840
Um, and one of the things that we've observed inside of Stripe is that the use of Stripe's CLI has exponentially increased over the course of the past five six months.

s19
00:01:45.840 --> 00:01:54.479
We're thinking about all of the implications of the coding agents operating systems which we'll get into uh a greater topic on later in this demonstration.

s20
00:01:54.479 --> 00:02:00.960
Um so the beginning part was sort of the thesis for this is how to avoid dis disaster when vibe coding a billing engine.

s21
00:02:00.960 --> 00:02:10.239
Uh as you might imagine being in the billing space for multiple years now we've seen all sorts of crazy things happen and it's even getting crazier now that people are expecting to operate metronome

s22
00:02:10.239 --> 00:02:14.239
a very complicated and deep product with a coding agent.

s23
00:02:14.239 --> 00:02:23.840
Um, and so as a result, we are working from a developer experience standpoint to make this a more seamless experience for people and to have them avoid disaster.

s24
00:02:23.840 --> 00:02:29.840
Um, and so we're going to see in a second what that de a demonstration of what that might look like and how we're guiding things.

s25
00:02:29.840 --> 00:02:38.239
Um, but just to frame it the what's happening today in with launching agent products can go crazy and it can go sideways in all sorts of ways.

s26
00:02:38.239 --> 00:02:41.840
So as just a couple of the types of problems that metronome helps solve for folks.

s27
00:02:41.840 --> 00:02:50.959
Uh first we are for example and have for many years now taken in all of the API calls to OpenAI and Enthropic and metered that for those companies.

s28
00:02:50.959 --> 00:02:53.440
We've worked with those companies since before they had any revenue.

s29
00:02:53.440 --> 00:02:59.440
Uh and so obviously we've operated at global scale operating a metering service with a number of different data impacts.

s30
00:02:59.440 --> 00:03:02.080
In addition to that we also operate credit models.

s31
00:03:02.080 --> 00:03:13.280
Obviously today with usage based pricing it's not just about having a pay go uh metered business model but also all sorts of different forms of credits commits salesled uh discounts and offers.

s32
00:03:13.280 --> 00:03:26.720
And then finally now in in the last 6 months especially the impact of failures here is growing in importance in particular because agents can run away with spend and so we're thinking about how to give more

s33
00:03:26.720 --> 00:03:29.920
controls to our customers that they can offer to theirs.

s34
00:03:29.920 --> 00:03:37.599
So think like for example having agents have a wallet um that they only they can spend from and having controls at that level.

s35
00:03:37.599 --> 00:03:37.920
Okay.

s36
00:03:37.920 --> 00:03:39.360
So that's what we're going to go into today.

s37
00:03:39.360 --> 00:03:42.080
Let's actually get into doing this demonstration.

s38
00:03:42.080 --> 00:03:43.519
You're going to see how simple it is.

s39
00:03:43.519 --> 00:03:49.120
Um so I'm going to initialize Stripe projects right now.

s40
00:03:51.217 --> 00:03:52.159
[sighs]

s41
00:03:52.159 --> 00:03:54.159
Oops.

s42
00:03:54.239 --> 00:03:56.080
And this is in fact a live demo.

s43
00:03:56.080 --> 00:03:59.120
So you should expect all sorts of different things to happen here.

s44
00:03:59.120 --> 00:04:02.560
So what this is doing is again initializing stripe projects.

s45
00:04:02.560 --> 00:04:07.040
Um we are going to I think this should work.

s46
00:04:07.840 --> 00:04:12.000
Um so we've selected that we're going to use claude here and we have a very simple thing.

s47
00:04:12.000 --> 00:04:15.920
What I I go around the world basically talking with companies about their business model.

s48
00:04:15.920 --> 00:04:17.759
It's not initialized.

s49
00:04:17.759 --> 00:04:18.320
Aha.

s50
00:04:18.320 --> 00:04:20.560
I see.

s51
00:04:21.199 --> 00:04:22.079
All right.

s52
00:04:22.079 --> 00:04:24.400
Come on up.

s53
00:04:25.600 --> 00:04:27.600
Cool.

s54
00:04:35.103 --> 00:04:37.103
[snorts]

s55
00:04:37.280 --> 00:04:38.240
I got it.

s56
00:04:38.240 --> 00:04:38.400
All right.

s57
00:04:38.400 --> 00:04:40.400
Thanks.

s58
00:04:46.800 --> 00:04:47.120
All right.

s59
00:04:47.120 --> 00:04:48.160
Sweet.

s60
00:04:48.160 --> 00:04:49.040
Um, yes.

s61
00:04:49.040 --> 00:04:51.360
Let's proceed.

s62
00:04:52.800 --> 00:04:54.800
Cool.

s63
00:04:56.240 --> 00:04:56.560
All right.

s64
00:04:56.560 --> 00:05:01.040
So, our product, our project is in fact ready now.

s65
00:05:01.840 --> 00:05:05.040
And so, I go around the world talking with companies about how to set up their businesses.

s66
00:05:05.040 --> 00:05:10.400
One of the things that's really top of mind right now is um replicating certain business models.

s67
00:05:10.400 --> 00:05:13.199
People want to get off the ground without having to think about it too deeply.

s68
00:05:13.199 --> 00:05:17.600
One of the key topics right now is replicating Lovable's pricing model.

s69
00:05:17.600 --> 00:05:28.800
And so I'm going to enter a prompt in natural language that allows us to guide the metronome billing agent and Stripe to set up a demo account that has that

s70
00:05:28.800 --> 00:05:41.680
um that has that element to it and create a demo billing engine uh in Metronome mimicking the lovable pricing model.

s71
00:05:41.680 --> 00:05:42.400
Oops.

s72
00:05:42.400 --> 00:05:45.360
Just make sure I don't misspell that.

s73
00:05:45.360 --> 00:05:51.199
Um, and so if you want to on the side you can see you can open up Levable's pricing and you can see all the different elements to it.

s74
00:05:51.199 --> 00:05:58.800
But in particular they have a prepaid credit auto recharge model which is very common in um in sort of a self-s served motion today.

s75
00:05:58.800 --> 00:06:01.360
Um so let's get this going.

s76
00:06:01.360 --> 00:06:06.479
Um so while this is going I want you to pay attention to a couple of things that will happen.

s77
00:06:06.479 --> 00:06:11.919
Um and in particular if you look at the obviously the slide on the left there's a couple different points that I want to hit on.

s78
00:06:11.919 --> 00:06:29.600
So first um again metronome is a very complicated and deep product and uh there's a lot of different ways to hit foot guns etc uh if you're not guided and so what we've invested in is building an extensible set of skills files that can provide context to the agent that's implementing metronome and working with our API.

s79
00:06:29.600 --> 00:06:34.000
Um these skills files are also portable and easy to install so you can use them on your own side.

s80
00:06:34.000 --> 00:06:40.160
Um and what it does is it allows us to essentially remove the friction associated with getting started.

s81
00:06:40.160 --> 00:06:47.360
Um and so here uh that and that's very important because you want to be able to test and work with the product and evolve over time.

s82
00:06:47.360 --> 00:06:51.120
You're seeing here in error code um from a developer experience standpoint.

s83
00:06:51.120 --> 00:07:00.880
You know this is nothing new but our our perspective is to have much more verbose and clear errors so that the agent can self-correct.

s84
00:07:00.880 --> 00:07:11.280
Um and uh and so again our developer experience teams are working on finding more failure cases like that um and being able to help guide especially in the initialization

s85
00:07:11.280 --> 00:07:12.400
and setup.

s86
00:07:12.400 --> 00:07:18.000
Um one thing that's that's important here I think keying off of the last talk that was in this room.

s87
00:07:18.000 --> 00:07:27.199
Um the goal that we have from a product development standpoint is not to have a customer operate the entire system without a human in the loop.

s88
00:07:27.199 --> 00:07:31.599
This is a type of system that is both business critical, has deep business logic behind it.

s89
00:07:31.599 --> 00:07:43.280
And so instead, what we are recommending and building toward is to use the use your coding agent as a way to accelerate your work and get into a test mode and test environment.

s90
00:07:43.280 --> 00:07:46.639
Um, and so again, what we're doing here, we're not expecting to ship into production.

s91
00:07:46.639 --> 00:07:48.000
We're not pushing it into production.

s92
00:07:48.000 --> 00:07:53.840
In fact, when we go into the metronome environment, you'll see that basically what we've done is built a sandbox experience.

s93
00:07:53.840 --> 00:08:09.520
Um and in the metronome context there's what it means to sort of test your initial setup is not just that you can see uh a contract or something like that or see a customer provision but also you need to see usage and so in in on the back end here our skills files are directing

s94
00:08:09.520 --> 00:08:18.400
um the agent to actually flow usage into the metronome platform so that you can see what a live uh in what a live customer would look like.

s95
00:08:18.400 --> 00:08:21.840
Um I'm going to do one more beat on stripe projects here.

s96
00:08:21.840 --> 00:08:31.440
I think in this case what's happening is that stripe projects so so using the stripe CLI it's it's engaging with metronome which is an external vendor here you could also imagine

s97
00:08:31.440 --> 00:08:44.480
also provisioning a bunch of other applications uh and using natural language to call for those as well um and so what again what's nice about this is that it basically removes the friction associated with setting up a test application or a test environment

s98
00:08:44.480 --> 00:08:52.000
um and we again have seen a ton of uh of usage of this form um and we expect to see even more.

s99
00:08:52.000 --> 00:09:06.720
Um, this is sort of like from our perspective coming into Stripe, this is one of the things that's been really amazing is that Stripe is on the forefront of thinking about agentic commerce and preparing primitives for the moment that we're in right now where in fact this is exactly what's happening.

s100
00:09:06.720 --> 00:09:14.640
Companies that are launching new um new applications and new businesses that we've seen an exponential increase in new business formation at Stripe.

s101
00:09:14.640 --> 00:09:24.080
Um and then in addition to that an exponential increase in customers that are using Stripe and using Metronome through the coding agents themselves.

s102
00:09:24.320 --> 00:09:25.519
Okay.

s103
00:09:25.519 --> 00:09:30.720
Um we are almost done here I believe.

s104
00:09:30.720 --> 00:09:38.080
Um, while this is going, I I like another sort of like thing to sit back and think about when I go around to product teams today.

s105
00:09:38.080 --> 00:09:44.800
They're obviously thinking about building for agents, but I think one of the things that's important to do is to de decode what exactly does that mean?

s106
00:09:44.800 --> 00:09:53.200
And so I what I like about this sort of framework for thinking about the coding agents today is thinking about the different roles that they play.

s107
00:09:53.200 --> 00:10:06.560
So obviously companies are launching agents as a product and therefore that's one of the reasons why they need to have a usage based pricing model because if the agent can be the product and run up token a token bill it's important for you to be able to meter on that.

s108
00:10:06.560 --> 00:10:11.440
Um what we're talking about here with the Stripe project CLI is the agent as a buyer.

s109
00:10:11.440 --> 00:10:17.120
So literally procuring their initial Stripe instance as well as additional backend services.

s110
00:10:17.120 --> 00:10:25.200
That's important to basically make your services discoverable to agents that may be building an application or working in the open web.

s111
00:10:25.200 --> 00:10:32.480
Um, on the Stripe side, that means both in a B2C environment, so they're working on a gentommerce, but then in the metronome environment, we're talking about in a B2B context.

s112
00:10:32.480 --> 00:10:36.720
Um, and uh, and so there's sort of like multiple different levels to play out there.

s113
00:10:36.720 --> 00:10:42.160
And then finally, one of the reasons why Metronome is really taking off right now is because of the agents as a user.

s114
00:10:42.160 --> 00:10:46.000
Um, and so for example, we've been working with HubSpot for the past couple of years.

s115
00:10:46.000 --> 00:10:51.120
They are currently on a path to transform their entire business from a seatbased model to a creditspbased model.

s116
00:10:51.120 --> 00:10:59.360
Um, if you've seen some things in the news, that's starting in in EMIA where they have dramatically lowered their seats based price and added on a creditspbased model.

s117
00:10:59.360 --> 00:11:06.560
The fundamental reason behind that is because what they need to be concerned about is a world in which an agent can operate their entire system.

s118
00:11:06.560 --> 00:11:14.480
Um, and in that world essentially paying for a seat level access to the product to perform your work is no longer important in some sense.

s119
00:11:14.480 --> 00:11:18.240
Um, we've been talking about this in uh as sort of headlessness.

s120
00:11:18.240 --> 00:11:20.720
You know, Salesforce, various others have have talked about this.

s121
00:11:20.720 --> 00:11:23.040
This is what Metronome is literally seeing today.

s122
00:11:23.040 --> 00:11:33.519
Um, and so as like one example, last week I was at a uh I was at Andre's demo day where all five of the demoing companies were salesled agents

s123
00:11:33.519 --> 00:11:50.000
meant to operate platforms like SAP or operate um operate invoicing platforms, etc., etc. Um, and again in that world, it's important for you to have a usagebased pricing model because you have the possibility of essentially all of the value acrewing to essentially one

s124
00:11:50.000 --> 00:11:54.399
user of your platform, which in this case would be an agent.

s125
00:11:54.720 --> 00:12:00.000
If you guys are thinking about pricing models, so not just developing in the agentic space, I'm a good person to talk to.

s126
00:12:00.000 --> 00:12:01.440
I'll be out here in a second.

s127
00:12:01.440 --> 00:12:15.200
Some of the things that we're um thinking about here are basically um not only having a creditsbased model which has been uh dominant on the market since openai launched their prepaid credit auto recharge model a couple of years ago through metronome

s128
00:12:15.200 --> 00:12:32.560
but in addition to that offering more and like more and extended offers including in a salesled in an enterprise environment um and so for example what's happening with all the coding agency in the enterprise think like cognition or cursor or openAI anthropic themselves is that they are starting to adopt more

s129
00:12:32.560 --> 00:12:37.519
um uh commit structures like the CSPs have done for the past 10 years.

s130
00:12:37.519 --> 00:12:44.320
Think having prepaid commitments, postpaid commitments, and specific types of offers for specific types of customers.

s131
00:12:44.320 --> 00:12:47.040
Okay, I think that we should be good to go now.

s132
00:12:47.040 --> 00:12:51.519
And let's see what it looks like when we open up Metronome.

s133
00:13:01.519 --> 00:13:03.519
Okay.

s134
00:13:11.760 --> 00:13:14.000
What's up?

s135
00:13:15.040 --> 00:13:17.040
Uhhuh.

s136
00:13:17.360 --> 00:13:21.279
We've done multiple different versions of this, as you might imagine.

s137
00:13:28.079 --> 00:13:29.200
Okay.

s138
00:13:29.200 --> 00:13:35.680
So, as we open this up, uh, pull this.

s139
00:13:45.279 --> 00:13:45.680
It's fun.

s140
00:13:45.680 --> 00:13:48.079
I love all these demos where you're just looking at people logging in.

s141
00:13:48.079 --> 00:13:56.160
Um, so as we open this up, so the general pain that Metronome has is an onboarding wizard meant for a human that needs to set up their environment.

s142
00:13:56.160 --> 00:13:59.600
We've we don't need this now because we had an agent set up this environment.

s143
00:13:59.600 --> 00:14:03.279
And as I come in, you're going to see some of the core metronome primitives here.

s144
00:14:03.279 --> 00:14:05.360
Let's start by looking at the customer that was set up.

s145
00:14:05.360 --> 00:14:07.199
Again, this is for testing purposes.

s146
00:14:07.199 --> 00:14:11.839
Um, up at the top, you're seeing the customer with a certain lifetime spend.

s147
00:14:11.839 --> 00:14:16.720
This was auto again populated by um by the agent for the demo environment.

s148
00:14:16.720 --> 00:14:21.519
Um I'm immediately going to go into their invoice and we'll come back to this in a second.

s149
00:14:21.519 --> 00:14:30.399
Um and so what you what you see here is a draft invoice that was created associated with um sort of replicating the lovable pricing model again.

s150
00:14:30.399 --> 00:14:33.199
Um so if you have this on the side you can see all the different elements of that.

s151
00:14:33.199 --> 00:14:39.839
But the core aspect of lovable's pricing model is a creditonly pricing model where you autorecharge on a monthly basis.

s152
00:14:39.839 --> 00:14:47.760
Um and then in add in addition to that they have multiple different types of credits that are scoped to different types of usage beyond the the use of those credits.

s153
00:14:47.760 --> 00:14:52.320
Then if you go over and if you overspend then you have an invoice at the end of the period.

s154
00:14:52.320 --> 00:14:58.160
Um so a couple of the different like concepts there that are relatively complicated to administer is the credit itself.

s155
00:14:58.160 --> 00:15:01.199
And so Metronome has a first class uh credit object here.

s156
00:15:01.199 --> 00:15:05.920
What you're seeing is that there was a credit credit created for the initial period that we're testing for.

s157
00:15:05.920 --> 00:15:10.079
we had usage that that draw that drew down from that entire credit balance.

s158
00:15:10.079 --> 00:15:18.000
And then finally, if we go back to the customer pane, um in addition to that, you can see the usage that we that we plopped in.

s159
00:15:18.000 --> 00:15:23.360
All obviously in a production environment, you would be seeing this in against real usage that you have.

s160
00:15:23.360 --> 00:15:31.839
The core reason again to show it in this manner is to just see what it would look like if you adopted the pricing model and then had real usage against it.

s161
00:15:31.839 --> 00:15:33.199
Again, I'm going to come back to the invoice.

s162
00:15:33.199 --> 00:15:36.399
And so here you can click into each of these different components.

s163
00:15:36.399 --> 00:15:39.600
Um, build credits, plan mode credits, cloud credits, AI gateway credits.

s164
00:15:39.600 --> 00:15:41.760
This is exactly what the lovable pricing model looks like.

s165
00:15:41.760 --> 00:15:49.440
And again, the way that we coached the agent to be able to do to to build this was just describing a natural language to replicate lovable pricing model.

s166
00:15:49.440 --> 00:15:51.600
It was nothing more difficult than that.

s167
00:15:51.600 --> 00:16:02.240
Um, so without going into Metronome's platform to too great an extent, um, the what we just did here was we initialized uh and created a stripe instance.

s168
00:16:02.240 --> 00:16:07.680
We then in through Stripe projects uh we also created a metronome instance.

s169
00:16:07.680 --> 00:16:16.480
Then we coached the agent to be able to uh build a demo instance of metronome that had a real pricing model live in production.

s170
00:16:16.480 --> 00:16:24.639
And so you could imagine basically testing then from there the exact testing and tweaking from there exactly what you wanted before bringing that into production.

s171
00:16:24.639 --> 00:16:41.920
Um this sort of framework for thinking about development both applies to Stripe where we are working very very hard to make it easier to uh run a complicated business model and get off the ground but also I think it bears lessons for how we might pursue agentic development more generally outside of Stripe.

s172
00:16:41.920 --> 00:16:45.120
So again, think about some of the primitives that we talked about here today.

s173
00:16:45.120 --> 00:16:54.480
Agent as a buyer, agent as your product, agent as your user and disambiguating what the different the different um modes and uh and like implications of those are.

s174
00:16:54.480 --> 00:17:03.519
And then in addition to that um having having ways in which we coach the agent to operate more effectively in including in a in a in a difficult environment.

s175
00:17:03.519 --> 00:17:04.959
You can try this for yourself now.

s176
00:17:04.959 --> 00:17:14.319
So uh the easiest way to get started is with the commands that are that are listed here and you can see everything that is available through Stripe Projects through Stripe Projects online.

s177
00:17:14.319 --> 00:17:18.559
Um as there are a number of different providers that are onboarding every day.

s178
00:17:18.559 --> 00:17:32.960
Um so companies like Versell um like hugging face etc are basically like working in Stripe projects environment to be able to make their own products more discoverable to agents that are operating Stripe system.

s179
00:17:46.352 --> 00:17:48.352
[music]
