WEBVTT

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

NOTE One cue per sentence. Cue ids are the line anchors on /transcripts/_ehJyfHg1Vk.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:13.679 --> 00:00:14.080
Hello.

s3
00:00:14.080 --> 00:00:16.559
Hello everyone.

s4
00:00:18.080 --> 00:00:20.080
Welcome.

s5
00:00:22.320 --> 00:00:28.400
I want to start with saying I haven't written a single line of code this year.

s6
00:00:28.400 --> 00:00:34.000
Um, maybe I haven't even looked at most of it yet.

s7
00:00:34.000 --> 00:00:35.200
I do ship.

s8
00:00:35.200 --> 00:00:44.879
Uh, I have a product I built that thousands of people use and trust with their email inbox, which is amazing.

s9
00:00:44.879 --> 00:00:51.280
I'm actually proud of the code I ship and I'm proud of the product I ship.

s10
00:00:51.280 --> 00:00:59.039
I've been doing this for two years and trying to extract my thinking and my taste into a system that compounds.

s11
00:00:59.039 --> 00:01:02.960
And I'm going to share you how I do that.

s12
00:01:02.960 --> 00:01:11.360
Lots of stuff you hear is like, "Oh, you should use this the factory dark factory do that blah blah blah all the new hip cool things."

s13
00:01:11.360 --> 00:01:14.159
Uh, what I'm trying to do is not that today.

s14
00:01:14.159 --> 00:01:29.759
I'm going to just show you how I work and hopefully share something that you can bring to your workflow that will outlift trends and really set yourself up for success for newer models, bigger models.

s15
00:01:29.759 --> 00:01:31.600
Uh there are two halves in this talk.

s16
00:01:31.600 --> 00:01:37.119
One is why it's so important to compound how I got here.

s17
00:01:37.119 --> 00:01:42.079
So this is for people that maybe are not at the end of the the trajectory.

s18
00:01:42.079 --> 00:01:44.159
It's interesting to see how to get there.

s19
00:01:44.159 --> 00:01:55.439
And then stuff you can run yourself, you can use uh day-to-day to ship, to build, uh to research, to do knowledge work even.

s20
00:01:55.520 --> 00:01:57.040
Hello, I'm Kiran.

s21
00:01:57.040 --> 00:02:01.520
I work at every is an AI lab for the future of work.

s22
00:02:01.520 --> 00:02:05.600
And we ask ourselves the question, what's next?

s23
00:02:05.600 --> 00:02:10.080
And we write about it, we teach about it, we build.

s24
00:02:10.080 --> 00:02:25.360
And we have a studio se uh studio um where we have mostly single engineering teams that take a problem they really care about and use AI to build a product out and really leverage that and

s25
00:02:25.360 --> 00:02:39.280
compounded knowledge is a big way we do that lots of loops shipping faster and faster and core as mine is where I invented compound engineering and it's a complete AI email inbox

s26
00:02:39.280 --> 00:02:40.560
it's agent native.

s27
00:02:40.560 --> 00:02:44.080
So that means whatever you can do the agent can do.

s28
00:02:44.080 --> 00:02:53.840
H it runs on your desktop phone CLI insight codeex like uh MCPS and I'm rebuilding it as version two.

s29
00:02:53.840 --> 00:03:00.319
Uh so soon beta access if you want access just DM me talk to me.

s30
00:03:00.319 --> 00:03:04.800
The cool part is it's one engineer and I have support.

s31
00:03:04.800 --> 00:03:06.319
I have design support.

s32
00:03:06.319 --> 00:03:13.599
I have some like database hardcore engineering problem support like you need some support.

s33
00:03:13.599 --> 00:03:23.200
Um but I built a full email client alone and I've only started building this in January this new rebuild.

s34
00:03:23.200 --> 00:03:24.560
I use reals on the back end.

s35
00:03:24.560 --> 00:03:30.640
I love Ruby React on the front end and I own products fully.

s36
00:03:30.640 --> 00:03:39.280
So I talk to people when something goes down I'm the one responsible and it's set up like this on purpose.

s37
00:03:39.280 --> 00:03:44.640
I'm an ex VPB of engineer and founder and I know how to hire grow teams all that stuff.

s38
00:03:44.640 --> 00:03:57.519
But I wanted to do the opposite with sonnet 3.5. I just felt there was something new that was unlocked and I wanted to see how far can AI go before I actually need to grow the team.

s39
00:03:57.519 --> 00:04:00.640
And I'm still alone with some support which is cool.

s40
00:04:00.640 --> 00:04:04.720
So I built Kora and this is what I learned.

s41
00:04:05.439 --> 00:04:09.840
Two years ago I started and the bottleneck by then was code.

s42
00:04:09.840 --> 00:04:17.600
So it kept moving and my job changed over the years but first there was bad code hallucination just stuff that didn't work.

s43
00:04:17.600 --> 00:04:21.600
I added agents I added skills just reviewing it.

s44
00:04:21.600 --> 00:04:24.320
So okay code got good.

s45
00:04:24.320 --> 00:04:30.479
The plan was the bottleneck because I could do things but larger things.

s46
00:04:30.479 --> 00:04:38.240
So whenever I have a good plan set out, it would do bigger things than just code changes.

s47
00:04:38.240 --> 00:04:39.840
Okay, plans got good.

s48
00:04:39.840 --> 00:04:44.479
Um the next bottleneck was deciding what to build.

s49
00:04:44.479 --> 00:04:48.479
Talking with users, really understanding problems you're solving.

s50
00:04:48.479 --> 00:04:51.280
This is why it's so good that you use your own product.

s51
00:04:51.280 --> 00:04:54.240
You love what you're building for.

s52
00:04:54.240 --> 00:04:58.639
And that got really good as well.

s53
00:04:58.639 --> 00:05:00.080
The scope got bigger.

s54
00:05:00.080 --> 00:05:03.360
AI could help writing uh plans.

s55
00:05:03.360 --> 00:05:06.639
And I kept repeating myself and that was annoying.

s56
00:05:06.639 --> 00:05:10.160
So I figured out there needs to be some kind of memory system.

s57
00:05:10.160 --> 00:05:17.759
So every time um I repeat myself, I can say, "Hey, can you make sure to store this knowledge in some way?"

s58
00:05:17.759 --> 00:05:22.880
I started with storing this in cloth MD, but at some point that became too large.

s59
00:05:22.880 --> 00:05:36.160
Um, so I built a system that remembers and that's really where compound engineering came from and you see me go away from typing more towards judgment and taste and

s60
00:05:36.160 --> 00:05:49.680
I think implementation is mostly solved even though you see many people that do orchestration dark factories who it kind of works which is cool but the thing that doesn't work is

s61
00:05:49.680 --> 00:05:52.800
our judgment and our taste.

s62
00:05:52.800 --> 00:06:05.440
And for me it's really where do I turn my brain on versus when do I leverage the model and it's where you make judgments and it's where you add taste.

s63
00:06:05.440 --> 00:06:24.479
So where you think where you iterate where you jam where you brainstorm I extract that into a system and if it's extracted into the system you can move on to bigger problems because the next time the AI will come up with a brainstorm it will already include that thinking

s64
00:06:24.479 --> 00:06:37.440
so you can go on for the next one and I see that one engineer with a compounding system just beats teams like full teams that use AI that don't.

s65
00:06:38.080 --> 00:06:39.840
This is my loop.

s66
00:06:39.840 --> 00:06:44.880
It's it there's more to it than this, but this is the overview.

s67
00:06:44.880 --> 00:06:51.280
Brainstorming, planning, working, reviewing, polishing, compounding, and repeating.

s68
00:06:51.280 --> 00:06:53.759
And the real trick here is on both ends.

s69
00:06:53.759 --> 00:07:00.240
It's kind of the human AI sandwich where the human is the bread and the AI is the middle part.

s70
00:07:00.240 --> 00:07:02.880
And the brain is on on the ends.

s71
00:07:02.880 --> 00:07:14.319
So the start brainstorming where you have to decide what to work on what the problem is and really understand what you're trying to do and at the end where your taste comes in where you decide

s72
00:07:14.319 --> 00:07:24.960
this looks very good makes me very happy or we need to raise the bar we need to do better we need to make it more snappy we need to go optimistic or whatever that is like

s73
00:07:24.960 --> 00:07:34.560
like delight and throughout here especially in the brain on parts it's important to extract the learnings to compound.

s74
00:07:34.560 --> 00:07:37.759
So that's basically the loop.

s75
00:07:37.840 --> 00:07:41.759
You cannot run the middle if it's not set up correctly.

s76
00:07:41.759 --> 00:07:51.680
And it's very important to be able to let go and let the machine rip overnight for many hours in parallel.

s77
00:07:52.080 --> 00:07:58.800
And the only way to be able to do that is making sure you spend time on uh on that system.

s78
00:07:58.800 --> 00:08:06.639
So my rules 50% should go into creating uh the feature just making sure like did it build the feature?

s79
00:08:06.639 --> 00:08:09.120
Did it deliver the value you set out to do?

s80
00:08:09.120 --> 00:08:15.440
But 50% of the time should go to um teaching the system for anything that it did wrong.

s81
00:08:15.440 --> 00:08:16.479
Can we learn something?

s82
00:08:16.479 --> 00:08:18.400
Can you teach the system something?

s83
00:08:18.400 --> 00:08:27.039
And this is something that is kind of hard, but it's very important because it will make the next time better.

s84
00:08:27.039 --> 00:08:49.760
One bonus is because of this extraction um I store all of this knowledge inside my repository as solution documents and people say oh but tokens and in my research it's actually more token efficient because if you have the right answers and the right solutions already within the token you don't need to do review

s85
00:08:49.760 --> 00:08:59.200
you don't need to correct you don't need to do deep research across the internet because the token's already there so it's actually more token efficient in the long term, which is cool.

s86
00:08:59.200 --> 00:09:03.440
Less research, finding things faster.

s87
00:09:03.440 --> 00:09:11.519
The real reason why this works is my brain is fixed and AI isn't or less fixed.

s88
00:09:11.519 --> 00:09:22.560
And my philosophy is keep extracting until the complete middle runs itself and is so freaking good that it will surprise you.

s89
00:09:23.360 --> 00:09:26.240
Um let me show you how this works.

s90
00:09:26.240 --> 00:09:42.160
Uh so I have a plugin called the compound engineering plugin that you can install in whatever tool you use codeexcloud code cursor plus 10 others and I just built this while building Kora shared it at some point and now

s91
00:09:42.160 --> 00:09:44.240
hundreds of thousands of people use it daily.

s92
00:09:44.240 --> 00:09:46.640
So thank you all for using it if you did.

s93
00:09:46.640 --> 00:09:47.760
I'm honored.

s94
00:09:47.760 --> 00:09:52.080
Um, I never decided this should be something like hype.

s95
00:09:52.080 --> 00:09:55.680
It's just me using my plug-in shipping code.

s96
00:09:55.680 --> 00:09:57.440
Uh, you can install it wherever.

s97
00:09:57.440 --> 00:10:03.839
Uh, you can also create your own version of this, which could be just storing information in files.

s98
00:10:03.839 --> 00:10:05.200
Uh, however you do it.

s99
00:10:05.200 --> 00:10:06.480
But let me show you the plug-in.

s100
00:10:06.480 --> 00:10:12.240
So, compound engineering became compound product as well.

s101
00:10:12.240 --> 00:10:20.880
Uh I have a lovely uh co-contributor Trevan Chowo who has a very good product sense and product background.

s102
00:10:20.880 --> 00:10:32.240
So he brought a lot of product thinking and I think compound engineering is really for engineers, PMs, designers, even people that do knowledge work within every love to use compound engineering.

s103
00:10:32.240 --> 00:10:37.600
It's such a uh like universal uh concept of compounding knowledge.

s104
00:10:37.600 --> 00:10:41.279
It doesn't have to be used for engineers but that's where it came from me.

s105
00:10:41.279 --> 00:10:48.480
So the first demo is um it's it's here to activate your brain.

s106
00:10:48.480 --> 00:10:51.839
So this is called CE ID8 and you can run it.

s107
00:10:51.839 --> 00:10:57.760
And here I run it in it's maybe a little bit small but I say hey I have Kora version version one.

s108
00:10:57.760 --> 00:11:00.560
I want to upgrade people to version two.

s109
00:11:00.560 --> 00:11:06.079
Um come up with oh no actually this is look at all my open open tickets.

s110
00:11:06.079 --> 00:11:07.279
Tell me what to do next.

s111
00:11:07.279 --> 00:11:08.240
It's a great command.

s112
00:11:08.240 --> 00:11:16.720
It will just go through all your issues and you can link linear open like open source issues on GitHub, Slack, intercom.

s113
00:11:16.720 --> 00:11:27.120
What it will do is it will generate uh structure from all this mess and we'll make arguments about what is good to work on versus not good to work on.

s114
00:11:27.120 --> 00:11:36.160
And the cool part is it will reason about this and the output here is a clean HTML page that you can share with the team that you can be inspired by.

s115
00:11:36.160 --> 00:11:48.880
So this is generation of ids and the cool part is you can point it to your OKRs you can um get ideiation aligned to your strategy and that's kind of how it compounds.

s116
00:11:48.880 --> 00:12:02.560
So if you have past experiments or past learnings in your repository or a strategy document which you can create with CE strategy, it will score these ids against this knowledge already which is really cool.

s117
00:12:02.560 --> 00:12:23.040
And I've seen people dump this uh document inside cloth design and say create a PowerPoint and you get a beautifully designed PowerPoint with like XY matrix of where the sweet spot is for what to do for your OKRs which is very low effort for you and very impressive to bring to your team.

s118
00:12:23.600 --> 00:12:26.480
Uh next one is a very simple one.

s119
00:12:26.480 --> 00:12:29.440
It's called C do review but is very useful.

s120
00:12:29.440 --> 00:12:38.399
Um, if someone hands you a PRD or some kind of document, run dock review on it and it comes back with very sharp questions.

s121
00:12:38.399 --> 00:12:39.920
I always like the questions.

s122
00:12:39.920 --> 00:12:41.440
I'm like, "Oh, that's a good question.

s123
00:12:41.440 --> 00:12:42.959
I did not think about it."

s124
00:12:42.959 --> 00:12:48.639
So, either you relay this to your colleague or you ask them to answer.

s125
00:12:48.639 --> 00:13:02.800
You can then compound that knowledge after answering with C compound so that the next time um this answer is already baked in and it wouldn't ask you it would already know the answer because it's already embedded in the system.

s126
00:13:02.800 --> 00:13:04.639
You can share this with people.

s127
00:13:04.639 --> 00:13:07.680
You can say oh you can actually run this yourself as well.

s128
00:13:07.680 --> 00:13:09.120
This runs anywhere.

s129
00:13:09.120 --> 00:13:10.560
So you can do it in co-work as well.

s130
00:13:10.560 --> 00:13:12.720
It doesn't need to be in cloth code.

s131
00:13:12.720 --> 00:13:20.560
Um it's a very simple thing that we spend a lot of effort in to make very good and it's part of our flow.

s132
00:13:20.800 --> 00:13:25.680
This my most used one u it's when the ID is too big to describe.

s133
00:13:25.680 --> 00:13:29.600
So this was the example of Kora version one to version two.

s134
00:13:29.600 --> 00:13:31.600
I say c brainstorm.

s135
00:13:31.600 --> 00:13:33.519
This is a brain on command.

s136
00:13:33.519 --> 00:13:36.480
Uh I know I need to get into into the zone.

s137
00:13:36.480 --> 00:13:38.000
I block off time.

s138
00:13:38.000 --> 00:13:41.279
I'm not going to multitask or anything like that.

s139
00:13:41.279 --> 00:13:43.040
Um, and I run this.

s140
00:13:43.040 --> 00:13:44.880
So, it pulls in compound knowledge.

s141
00:13:44.880 --> 00:13:51.519
It looks at the difference between Kora one and two and, uh, looks at the personas I've set up.

s142
00:13:51.519 --> 00:13:55.920
So, it will see, hey, like certain people need certain things.

s143
00:13:55.920 --> 00:13:57.600
And it will ask me questions.

s144
00:13:57.600 --> 00:14:00.480
And it doesn't ask me a lot of questions.

s145
00:14:00.480 --> 00:14:06.639
It's dialed in to ask you just the right amount of questions it needs to do the work.

s146
00:14:06.639 --> 00:14:10.720
It's very easy to get 30 questions and feel, "Wow, I did so much."

s147
00:14:10.720 --> 00:14:13.440
But in the end, the goal is not to answer questions.

s148
00:14:13.440 --> 00:14:17.279
In the end, it's to get the absolute best work out of it.

s149
00:14:17.279 --> 00:14:21.199
And I think other libraries might over question.

s150
00:14:21.199 --> 00:14:24.800
H I think there's a balance uh to be found there.

s151
00:14:24.800 --> 00:14:29.600
So out comes a plan, a brainstorm document stored and compounded.

s152
00:14:29.600 --> 00:14:37.199
And then my favorite, which is SL LFG, which is basically the loop, the the automation loop.

s153
00:14:37.199 --> 00:14:42.880
And if you like vibe coding/ LFG something is great as well.

s154
00:14:42.880 --> 00:14:44.079
It will run for hours.

s155
00:14:44.079 --> 00:14:47.120
It will do planning work review testing.

s156
00:14:47.120 --> 00:14:48.079
Opens a PR.

s157
00:14:48.079 --> 00:14:48.959
It will dog food.

s158
00:14:48.959 --> 00:14:50.800
It will try fix fix things.

s159
00:14:50.800 --> 00:14:55.839
It will then do a before and after video screenshot in the pull request.

s160
00:14:55.839 --> 00:15:03.199
Makes it super easy for you to then see what happens last if it comes back.

s161
00:15:03.199 --> 00:15:04.160
So this is overnight.

s162
00:15:04.160 --> 00:15:05.279
You can do parallel.

s163
00:15:05.279 --> 00:15:06.160
There's polish.

s164
00:15:06.160 --> 00:15:09.040
This is the brain on again C polish.

s165
00:15:09.040 --> 00:15:12.959
You give it the pull request and what it will do is it will show you.

s166
00:15:12.959 --> 00:15:24.480
So I like to run it in cursor and on the left side I like to run this and it will tell me hey this was introduced with this LFG flow and on the right it will show the product.

s167
00:15:24.480 --> 00:15:25.440
This is important.

s168
00:15:25.440 --> 00:15:37.519
Sometimes I don't even know what was built because I also have video recordings that I dump into LFG that it will then process and analyze and see what went wrong.

s169
00:15:37.519 --> 00:15:41.040
So sometimes I don't even know what it was solving for.

s170
00:15:41.040 --> 00:15:45.040
So it's a good primer to know, okay, this is what we are here where we are.

s171
00:15:45.040 --> 00:15:46.000
This is what it's solving.

s172
00:15:46.000 --> 00:15:47.120
This is how I solved it.

s173
00:15:47.120 --> 00:15:50.240
And you tell me what do you think?

s174
00:15:50.240 --> 00:15:51.759
And this is not QA.

s175
00:15:51.759 --> 00:15:54.320
This is raising the bar like it should work.

s176
00:15:54.320 --> 00:15:57.279
If it doesn't work here, your LFG flow failed.

s177
00:15:57.279 --> 00:16:08.560
Um, but you can see here like this works only in this example there is a mark of a logo mark twice which is not technically wrong but I don't want two marks on one page.

s178
00:16:08.560 --> 00:16:11.920
So in this case I can say hey there are marks two marks here.

s179
00:16:11.920 --> 00:16:16.800
Can we just make sure we only ever have one and run C compound.

s180
00:16:16.800 --> 00:16:27.680
So it will extract that knowledge, make sure next time when I do design work, it's tagged correctly, it will find that file and uh know not to do that.

s181
00:16:27.680 --> 00:16:29.920
So that's closing the loop.

s182
00:16:29.920 --> 00:16:34.079
You merge it and you learn something.

s183
00:16:34.880 --> 00:16:38.639
So why does compound engineering resonate with people?

s184
00:16:38.639 --> 00:16:41.839
I think it's not a very new concept.

s185
00:16:41.839 --> 00:16:44.399
It's just something how we do software engineering.

s186
00:16:44.399 --> 00:16:57.920
is just now instead of working with teams we use with AI we use AI and we leverage that and AI is very good at specific things especially with large amounts of knowledge and doing the right thing especially with latest models so

s187
00:16:57.920 --> 00:17:11.360
uh if you want to do this yourself if you don't want to use my plug-in uh make sure to extract never repeat if you see yourself repeating yourself make sure to extract it somehow make sure it doesn't happen again

s188
00:17:11.360 --> 00:17:16.959
make sure that there is a middle that can run without you that does the planning, working, reviewing, and it should be boring.

s189
00:17:16.959 --> 00:17:18.319
It should just work.

s190
00:17:18.319 --> 00:17:22.000
Uh you should not be needed if you're still needed in the loop.

s191
00:17:22.000 --> 00:17:23.919
Spend time on the middle.

s192
00:17:23.919 --> 00:17:25.439
Do it manually.

s193
00:17:25.439 --> 00:17:29.760
Feel where it's off and like iterate until you can actually let it go.

s194
00:17:29.760 --> 00:17:36.527
And if if you are at a point where you just run something and runs for three hours and it's always good, you know you're there.

s195
00:17:36.527 --> 00:17:37.039
[sighs]

s196
00:17:37.039 --> 00:17:39.840
It's important to document the thinking, not the code.

s197
00:17:39.840 --> 00:17:43.679
This is also very anti- um developery.

s198
00:17:43.679 --> 00:17:54.960
It's like yeah but documentation shouldn't mean the code and like the code is the artifact itself but I am of the opinion to generalize you need reasoning behind why you did something

s199
00:17:54.960 --> 00:18:14.559
and all these traces even though they're bad could lead to things like hey something happened right at postmortem what decision was made by whom or what agent that led to this can we then turn that into a learning so we change that behavior for the next time and I've seen it work very well

s200
00:18:14.559 --> 00:18:24.000
uh especially with postmortems and again every interaction spend 50% of your time to make it better the next time.

s201
00:18:24.000 --> 00:18:32.880
So, make sure to build the system that will remember uh instead of was this good, make the system better and make the system know.

s202
00:18:32.880 --> 00:18:41.679
And I know it's hard like it's just hard to do for myself and we all know we need to do it, but it's kind of awkward and it's like h it's it works.

s203
00:18:41.679 --> 00:18:42.160
It's great.

s204
00:18:42.160 --> 00:18:43.039
Let's just move on.

s205
00:18:43.039 --> 00:18:50.000
But it's very important and you can see the system really go if you do that a lot.

s206
00:18:50.240 --> 00:19:05.120
So the bet is implementation is only getting cheaper and judgment is not and the future models and systems need to be set up so they have access to this judgment that we have our taste

s207
00:19:05.120 --> 00:19:07.360
uh to have more leverage.

s208
00:19:07.360 --> 00:19:17.120
So that is the bottleneck and remember brain at the ends really activate your brain make sure you really understand what you're doing in the start.

s209
00:19:17.120 --> 00:19:19.520
Don't offload the thinking to the AI.

s210
00:19:19.520 --> 00:19:23.840
Make sure you truly feel understand what you're doing, the problem.

s211
00:19:23.840 --> 00:19:27.760
H let the AI go and at the end raise the bar.

s212
00:19:27.760 --> 00:19:29.360
Make sure you don't fix things.

s213
00:19:29.360 --> 00:19:36.160
It should be very good at the end, but make sure to raise the bar because we're not shipping shitty code.

s214
00:19:36.160 --> 00:19:41.440
And your standard should be the next feature should be easier because you ship this one.

s215
00:19:41.440 --> 00:19:48.240
If the next feature is harder because you added complexity, which is normally how engineering works, we're flipping that.

s216
00:19:48.240 --> 00:19:53.679
The next feature should be easier to build because you ship this one.

s217
00:19:53.919 --> 00:19:54.880
I'm Kiran.

s218
00:19:54.880 --> 00:19:56.320
Uh, check out the plugin.

s219
00:19:56.320 --> 00:19:57.440
It's open source.

s220
00:19:57.440 --> 00:20:00.000
Please um, contribute.

s221
00:20:00.000 --> 00:20:00.880
PR is welcome.

s222
00:20:00.880 --> 00:20:03.440
I love PRs from everyone.

s223
00:20:03.440 --> 00:20:06.080
Go build your orchestration system.

s224
00:20:06.080 --> 00:20:10.080
Go build your personal uh, knowledge base that compounds.

s225
00:20:10.080 --> 00:20:11.360
And thank you.

s226
00:20:11.360 --> 00:20:16.348
I'll be hanging around if you have questions and enjoy the rest of your day.

s227
00:20:16.348 --> 00:20:18.348
[applause]
