WEBVTT

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

NOTE One cue per sentence. Cue ids are the line anchors on /transcripts/1et3Lb_KLQo.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.560 --> 00:00:14.640
Thank you all so much for being here.

s3
00:00:14.640 --> 00:00:21.640
In this talk, I'm going to try to convince you that if you care about somebody and if you work with them regularly, even if you don't work with them regularly,

s4
00:00:21.640 --> 00:00:23.920
you should build that person a factory.

s5
00:00:23.920 --> 00:00:26.480
And we're going to talk about what that means and why.

s6
00:00:26.480 --> 00:00:28.000
So, first, why do I say this?

s7
00:00:28.000 --> 00:00:31.880
Um so, I'm an open-source developer, have been for 15 years now.

s8
00:00:31.880 --> 00:00:36.320
But since my early teens, I was writing uh voraciously and constantly.

s9
00:00:36.320 --> 00:00:39.280
It started off with pencil paper, pen, and notebooks.

s10
00:00:39.280 --> 00:00:41.800
And then around 16, I was onto word processors.

s11
00:00:41.800 --> 00:00:49.200
And in the course of my career in the last 15 years, I've worked at a bunch of startups and I've published stuff on on their blogs as an engineer while working there.

s12
00:00:49.200 --> 00:00:51.600
And then I've constantly been publishing on my own site.

s13
00:00:51.600 --> 00:00:56.600
So, I have a ton of essays and tutorials and things that I find interesting to kind of scratch my own itch.

s14
00:00:56.600 --> 00:01:03.160
And then as part of that cycle, as soon as I scratch that itch, I like to just publish it and kind of share it with the world.

s15
00:01:03.160 --> 00:01:10.080
And so, that is all just to say that I write sort of obsessively, kind of fanatically, and have been doing so for for quite some time.

s16
00:01:10.080 --> 00:01:16.080
And we'll get into one of the posts that I I wrote here that has done consistently the best and that I wrote in 23 minutes.

s17
00:01:16.080 --> 00:01:18.520
And we'll talk about uh how I did that, too.

s18
00:01:18.520 --> 00:01:23.520
But I'm sure that some of you are already thinking uh this isn't, you know, this isn't an AI conference, isn't an AI talk.

s19
00:01:23.520 --> 00:01:26.240
Uh certainly there is slop involved here.

s20
00:01:26.240 --> 00:01:33.640
And uh I'm going to tell you that there is something that I'm far more concerned about than AI slop in particular.

s21
00:01:33.640 --> 00:01:41.920
And I believe that if we uh bring the right intention to shaping the work and we judge the result and we hold ourselves and each other accountable, that it is actually possible

s22
00:01:41.920 --> 00:01:52.520
to use AI to produce better stories than we can without it and to improve processes so that more of us can tell stories more effectively and more consistently.

s23
00:01:52.720 --> 00:02:00.452
So, to get back to that post I was talking about, uh this is a post that I wrote about my own experience over the course of, you know, decade and a half running

s24
00:02:00.452 --> 00:02:02.572
and self-publishing a tech blog.

s25
00:02:02.572 --> 00:02:08.372
And I made some, you know, shared kind of what the experience was like and what it what it's like running that and keeping up the consistency.

s26
00:02:08.372 --> 00:02:19.412
And I published this in I wrote the entire thing from didn't exist to written into markdown and and fully published in 23 minutes before LLMs.

s27
00:02:19.412 --> 00:02:24.852
And it was after a particularly brutal bedtime routine putting down my two toddlers.

s28
00:02:24.852 --> 00:02:30.372
And so inevitably what my colleagues and some of my friends would would constantly ask me is how do you write so fast?

s29
00:02:30.372 --> 00:02:32.452
Like what are you doing and how how is this possible?

s30
00:02:32.452 --> 00:02:34.572
You don't have more time in the day than I do.

s31
00:02:34.572 --> 00:02:38.332
And when I thought about this, I realized that the answer is that I am always writing.

s32
00:02:38.332 --> 00:02:47.852
And so to some degree, I'm kind of obsessively trying out new titles or ideas or sentences or how what stories might I tell or how might I develop that story so that it is

s33
00:02:47.852 --> 00:02:51.292
the most compelling and impactful that it could possibly be.

s34
00:02:51.292 --> 00:02:56.252
And as a result, I was essentially the once the only content factory that I knew personally.

s35
00:02:56.252 --> 00:03:02.812
You know, just kind of, you know, doing my thing, working at in startups, being a developer, but then constantly publishing.

s36
00:03:02.812 --> 00:03:13.412
And so I personally am not as worried about AI slop because I think there's a tremendous number of techniques that we can apply to to fix that and I think there's ways to solve that problem.

s37
00:03:13.412 --> 00:03:18.212
I'm I'm significantly more concerned about all the stories that go untold.

s38
00:03:18.212 --> 00:03:26.132
And so what I've noticed over the course of my career and working with a bunch of excellent and talented folks is that a lot of folks tell themselves, oh, I'm not a writer, I can't do that.

s39
00:03:26.132 --> 00:03:40.892
A lot of folks feel fear and shame for various reasons, whatever the their experience might be or or their self-concept limits them from actually sharing the most impactful work and sharing it in a way that would be most impactful to them and their their future career.

s40
00:03:40.892 --> 00:03:47.012
And so this is why I say that it's it's time to consider building factories of love and grace and to give them away.

s41
00:03:47.012 --> 00:03:49.372
So we're going to develop what that actually means.

s42
00:03:49.372 --> 00:03:54.052
So I am a engineer on the Applied AI team at WorkOS.

s43
00:03:54.052 --> 00:03:56.092
I've been there for 2 years.

s44
00:03:56.092 --> 00:04:09.094
About a year or so ago, we decided that we needed to increase publishing velocity again, not to slop cannon in the internet, but because we had multiple teams and folks that were doing excellent and innovative work constantly,

s45
00:04:09.094 --> 00:04:16.374
and we were not consistently telling all those stories and kind of bringing, you know, our insight and stuff that we were doing to the marketplace.

s46
00:04:16.374 --> 00:04:19.574
And so I built the initial what we call Blog Bot, right?

s47
00:04:19.574 --> 00:04:32.294
And this is a system that was built on Cloudflare, and it runs in the cloud, and because of this sort of obsessive writing background that I had, what I was able to do was to think about what do I believe

s48
00:04:32.294 --> 00:04:36.894
makes a good artifact in in this in this craft, if you will, right?

s49
00:04:36.894 --> 00:04:48.814
And so what are all the things that over time and many, many repetitions I have come to believe personally make something more interesting, more engaging, you know, um to have better pedagogical value.

s50
00:04:48.814 --> 00:04:55.894
And I just kind of stuffed those all into a box that made it automated, and then I handed that box to my colleagues.

s51
00:04:55.894 --> 00:05:00.094
And what that ended up producing for them was this what I call asymmetric leverage now.

s52
00:05:00.094 --> 00:05:08.654
So a colleague can come into a very simple interface in Slack, something that they already understand and use every day, and say, "At Blog Bot, we've got this transcript from an event,

s53
00:05:08.654 --> 00:05:17.614
and I want you to produce an on-brand, you know, on-theme, you know, reaching the quality bar WorkOS blog post about it recapping it."

s54
00:05:17.614 --> 00:05:22.254
And what they get out is, you know, a draft that is 85 to 90% of the way there.

s55
00:05:22.254 --> 00:05:32.294
It means that they haven't had to manually and tediously assemble all the context from the Granola recordings or the images of the event or what folks said about it in Slack to prepare

s56
00:05:32.294 --> 00:05:33.574
or the framing that we wanted to use.

s57
00:05:33.574 --> 00:05:36.054
All of that is automatically sourced for them.

s58
00:05:36.054 --> 00:05:46.214
And what they arrive at is a blog that is essentially ready to almost ready to go, but needs a couple more iterations and for a human to read all the way through and to put their name on it and to publish it.

s59
00:05:46.214 --> 00:05:59.534
And so the nice thing about asymmetric leverage is that you can hide behind a very simple interface an incredibly powerful and even complex, you know, distributed system that has a data connector to every source of information that you care about in your company,

s60
00:05:59.534 --> 00:06:12.375
custom tools, the ability to ask a human for approval to confirm facts, etc. We even have a special endpoint that has that does image generation that is um the outputs

s61
00:06:12.375 --> 00:06:16.255
resemble exactly what our excellent and very talented design team would produce.

s62
00:06:16.255 --> 00:06:25.215
And so that, you know, consistently doing this and allowing other people to run it does across the org increase publishing velocity.

s63
00:06:25.215 --> 00:06:30.215
And so with just that initial draft or just that initial prompt where my colleague said, "Hey, we just had an event.

s64
00:06:30.215 --> 00:06:32.335
We want to do a recap post about it.

s65
00:06:32.335 --> 00:06:35.695
I have some other things on my plate right now, so why don't you start the draft, right?"

s66
00:06:35.695 --> 00:06:40.455
And what they get back, what I mean by asymmetric leverage is this is what they get back, something substantial.

s67
00:06:40.455 --> 00:06:42.575
It is not ready to one shot all the way to prod.

s68
00:06:42.575 --> 00:06:52.935
Somebody has to take responsibility for it and read it all, but we have done or the system has done a significant amount of the work for them to assemble the the initial pieces.

s69
00:06:52.935 --> 00:07:01.535
And then it is, more importantly, something that is solely in their power to adjust and tune to their liking without me being involved at all.

s70
00:07:01.535 --> 00:07:07.375
So they don't need to, you know, ask me to do anything or anyone else that that might have a writing background.

s71
00:07:07.375 --> 00:07:11.895
They can just make the changes that they want in a very simple way and kind of get their work done.

s72
00:07:11.895 --> 00:07:19.775
And so, you know, this was fun to initially see after I published that this stuff started working and folks there were producing things.

s73
00:07:19.775 --> 00:07:24.295
And I remember around this time I had a conversation with Michael Grinich, the founder of Work OS.

s74
00:07:24.295 --> 00:07:33.775
We were talking about, you know, the pretty the debate that was happening kind of in the public square about, you know, slop canonning and and, you know, AI writing is all slop, etc.

s75
00:07:33.775 --> 00:07:44.855
And at the same time the desire to move faster and for us as experienced developers, we were seeing it was very obvious that you could use these powerful tools to build things in days that used to take us months at a time.

s76
00:07:44.855 --> 00:07:54.575
And so Michael used a metaphor and he showed me a YouTube video where a company was mass assembling symbols on a production line and, you know, producing them very, very rapidly

s77
00:07:54.575 --> 00:07:57.775
and yet inspecting all of them.

s78
00:07:57.775 --> 00:08:05.415
And initially, and he was trying to, you know, draw the the parallel to this is kind of what we're starting to experiment with with these this blog bot and other tools as well.

s79
00:08:05.415 --> 00:08:07.857
And Michael said, "This screams craft to me."

s80
00:08:07.857 --> 00:08:20.177
And I remember the initial time that we were kind of looking at that video together, I sort of flinched and didn't fully feel comfortable to accept that, "Yeah, I guess I can produce an articles even faster or content even faster."

s81
00:08:20.177 --> 00:08:22.857
But Michael's point was that craft runs through the entire line.

s82
00:08:22.857 --> 00:08:31.937
So, even though machines are often doing must much of the heavy lifting or even all the heavy lifting in some parts and producing units at a speed that humans could not approach,

s83
00:08:31.937 --> 00:08:45.337
what has not left that company is a complete and profound dedication to craft and inspecting every single device as played by a musician that has been with the company for a long time and understands

s84
00:08:45.337 --> 00:08:53.577
what the quality bar is and plays and he you can kind of see if you read his lips he's saying it's beautiful and then he hands it off and that one's good to go and he's putting,

s85
00:08:53.577 --> 00:08:56.017
"I, this person, signed off on this symbol.

s86
00:08:56.017 --> 00:08:59.457
It is ready to be produced under this brand name."

s87
00:08:59.457 --> 00:09:01.137
So, they play, they listen, and they decide.

s88
00:09:01.137 --> 00:09:06.057
They might be being produced at extreme speed, but the quality has not left the process.

s89
00:09:06.057 --> 00:09:10.097
And this is the reason why Michael told me that this screams craft to me.

s90
00:09:10.097 --> 00:09:18.257
And so, I was initially uncomfortable with that, but I went went back and kind of thought about my own journey in in writing and I I realized that I didn't disagree with him.

s91
00:09:18.257 --> 00:09:27.937
And so, we published a recap post after the second or third version of blog posts was out and we had seen publication rates rise across the org and I had anecdotally, more importantly, seen

s92
00:09:27.937 --> 00:09:35.097
colleagues that were doing excellent work but didn't always share that work were now regularly producing articles to say, "This is what we worked on.

s93
00:09:35.097 --> 00:09:35.897
This is how it works.

s94
00:09:35.897 --> 00:09:37.497
This is what it does."

s95
00:09:37.497 --> 00:09:39.417
And so, I knew that it was starting to work.

s96
00:09:39.417 --> 00:09:48.977
But we got one of the the first comments that we got online was from someone saying that this is cool that you did this, but now every single thing I read online, I flinch when I read it.

s97
00:09:48.977 --> 00:09:50.297
I read it with a flinch.

s98
00:09:50.297 --> 00:09:53.537
And I'm interrogating in my mind every sentence, "Was this AI?

s99
00:09:53.537 --> 00:09:54.697
Was that one AI?

s100
00:09:54.697 --> 00:09:55.657
Was this one human-written?

s101
00:09:55.657 --> 00:09:56.777
Was that one?"

s102
00:09:56.777 --> 00:10:05.257
And at a certain level, I understood this complaint initially, but it it also bothered me and and taken in conjunction with the conversation around the assembly line and craft,

s103
00:10:05.257 --> 00:10:09.897
I decided that I kind of had to get my own thinking on this issue clear and straight.

s104
00:10:09.897 --> 00:10:13.218
And so, of course the way that I do that is to write.

s105
00:10:13.218 --> 00:10:23.818
And so I decided to look back and think about what do I think about the way I used to write and what it means to write as a person and now the fact that I can do it with an LLM and get to the the end goal that I want

s106
00:10:23.818 --> 00:10:27.218
um you know, 6x faster with many more iterations.

s107
00:10:27.218 --> 00:10:40.778
And I decided to borrow an extended metaphor from the blacksmithing world and say that in this case I am the spark who is still conscious, who's still dealing with people in the world experiencing friction and pain

s108
00:10:40.778 --> 00:10:55.658
um and suffering and joy etc. And so I decide as a developer or a person with taste uh that this is something that's good or that I don't it's not good or I like it or I don't like it or actually this is an important and interesting story that is worth telling and sharing.

s109
00:10:55.658 --> 00:10:57.778
And then I'm simultaneously the bellows.

s110
00:10:57.778 --> 00:11:10.698
Now even if at this point in the process the LLM or the machinery might be doing the actual tedious um minutia for me I'm still watching what develops and saying this over here is is okay,

s111
00:11:10.698 --> 00:11:14.538
this section is completely you know, um irrelevant just drop it.

s112
00:11:14.538 --> 00:11:18.738
Uh all of these need to be developed but they need to be developed in this exact way and this is wrong, right?

s113
00:11:18.738 --> 00:11:22.938
And so I'm continuously shaping the work closer and closer to where I want it to go.

s114
00:11:22.938 --> 00:11:30.058
And then finally uh you know, something has to be done enough to at least initially publish it at a URL and so I am also the quench.

s115
00:11:30.058 --> 00:11:37.218
I am the thing that you you know, drop into I'm so sorry if there's actual blacksmiths in this I'm as I torture this extended metaphor.

s116
00:11:37.218 --> 00:11:44.338
But I am the thing that you drop your hot iron into the you know, into the water and it and it seals it and stops it and says publish,

s117
00:11:44.338 --> 00:11:51.538
Zack Prosser said this and he stands behind all these words and these claims and these links and these specs and and this performance data.

s118
00:11:51.538 --> 00:12:03.378
And so the finished work still has to earn my name and so the more that I thought about this the more that I felt like now I had a framework for kind of understanding how we're going to move forward and still produce quality in the future even if the velocity is increasing.

s119
00:12:03.378 --> 00:12:16.059
And and furthermore the more I thought about this the more I realized that because of my background in producing a lot all the time and iterating constantly I feel that if the end user can't tell the difference between

s120
00:12:16.059 --> 00:12:28.019
on the left me writing every single element by hand in the document and then printing it, and on the right me spending two and a half or three hours going through 14 iterations with an LLM and then saying no, not that, change this word, change that sentence like that.

s121
00:12:28.019 --> 00:12:29.139
Okay, that's pretty close.

s122
00:12:29.139 --> 00:12:37.499
And then hand editing a few more at the end myself, and then publishing it, there's effectively no no difference for the end user.

s123
00:12:37.499 --> 00:12:41.899
You know, you either say that that thing that Zach Prosser produced is garbage, I'm going to read them again.

s124
00:12:41.899 --> 00:12:42.779
That's fine.

s125
00:12:42.779 --> 00:12:47.659
Uh or you say like that's okay and maybe next week I'll come back and give that person another try.

s126
00:12:47.659 --> 00:12:55.779
And so I I realized that what I actually care about and what I think I would suggest we care about is that uh the real the real rubric here is is it true?

s127
00:12:55.779 --> 00:12:57.019
Is it useful?

s128
00:12:57.019 --> 00:12:57.739
Is it beautiful?

s129
00:12:57.739 --> 00:13:00.059
And does it help anybody else?

s130
00:13:00.059 --> 00:13:04.979
Because that's what we're actually going for if we're producing things that are for humans to review at all.

s131
00:13:04.979 --> 00:13:15.619
And so uh you know, all of us in this room, whether we realize it or think of it or conceive of ourselves in that way or not, have something like this, some artifact or workflow that they are

s132
00:13:15.619 --> 00:13:17.499
um absolutely an expert in.

s133
00:13:17.499 --> 00:13:22.059
It could be an internal process, it could be um something extremely arcane or complex.

s134
00:13:22.059 --> 00:13:32.179
And the the overall concept, regardless of where you work or the field and industry or what you're trying to do, is to create that into a tool initially, kind of get it working where you start to see

s135
00:13:32.179 --> 00:13:35.139
something that you recognize and can produce.

s136
00:13:35.139 --> 00:13:43.819
And then you let other folks try it and say uh if you try this and put your stuff through it, you know, uh are you able to get to the end goal that you're trying to get to?

s137
00:13:43.819 --> 00:13:48.819
Are you able to get to your work uh your work done more completely and more effectively?

s138
00:13:48.819 --> 00:13:54.819
And so I think that this is a broadly applicable pattern that we're going to see increasingly more and more.

s139
00:13:54.819 --> 00:13:59.099
And uh you know, so the first factory that I built in the story essentially is for my colleagues.

s140
00:13:59.099 --> 00:14:03.379
So more of where we can reach someone, people are publishing more about the excellent work that they're doing.

s141
00:14:03.379 --> 00:14:16.541
But the experience, of course, with working with LLMs and the acceleration that I get from that as a software developer, then had me questioning uh in this new world, what if an audience that's even smaller is also worth building a factory for.

s142
00:14:16.541 --> 00:14:20.981
What if uh two people were enough of an audience to build a particular factory?

s143
00:14:20.981 --> 00:14:29.341
And so I applied the same idea again and uh got this fully working with uh Opus 55 extra high end in 4 hours.

s144
00:14:29.341 --> 00:14:32.221
But this time my factory was for specifically two people.

s145
00:14:32.221 --> 00:14:47.061
So uh I do a I've as I mentioned I have I'm a father to two toddlers and so I do a ton of bedtime story duties and uh I built this app so that it looks at the photos of their day and kind of finds what we were doing and then automatically sort of suggest them into a

s146
00:14:47.061 --> 00:14:51.981
story that can be ready for bedtime and that cast them in it as well.

s147
00:14:51.981 --> 00:14:53.901
And so their day becomes a story.

s148
00:14:53.901 --> 00:14:58.781
Lessons or things that we did together they see again and can kind of see reflected in them.

s149
00:14:58.781 --> 00:15:02.381
There's like animations and stuff and it'll kind of narrate to them.

s150
00:15:02.381 --> 00:15:12.061
And uh this was a pretty trippy experience because I can say with confidence that this is the fastest successful playtest I've ever had in my entire career um from zero to

s151
00:15:12.061 --> 00:15:15.261
working and again again again in 4 hours.

s152
00:15:15.261 --> 00:15:18.541
So the first thing I added next was uh real-time voice control.

s153
00:15:18.541 --> 00:15:22.381
So when they say again again again at the end it just plays it again.

s154
00:15:22.381 --> 00:15:24.181
So again this is the same pattern though.

s155
00:15:24.181 --> 00:15:26.741
This is another factory that I built that's fully working.

s156
00:15:26.741 --> 00:15:36.461
It's codified with what I believe makes a good bedtime story what I have you know opinions about and have as a practitioner of bedtime stories for having served long enough to have opinions.

s157
00:15:36.461 --> 00:15:47.301
And what comes out is exactly their content in their day and now they can literally go up to it and say I want a story about Captain America and I want a story about me and Captain America at the zoo

s158
00:15:47.301 --> 00:15:50.701
and and then there you go and in a minute and a half like you have that full story.

s159
00:15:50.701 --> 00:15:53.661
They go through it and they see themselves reflected in it.

s160
00:15:53.661 --> 00:16:04.981
And so you know I I share all this because it's a moment of like incredible potential and advancement and anxiety and hand-wringing and uncertainty and fear and doubt.

s161
00:16:04.981 --> 00:16:13.021
And I've experienced those things as you know as a visual artist going from oh I draw and I like to draw to oh why would I ever draw again

s162
00:16:13.021 --> 00:16:17.581
um to the same thing for writing, same thing for software and then back to the other side.

s163
00:16:17.581 --> 00:16:28.142
And so I just wanted to share that this is now the in some ways an antidote to that kind of fear and certainty doubt because I know that I like to produce these things, and I like to help other people produce those things,

s164
00:16:28.142 --> 00:16:40.662
and I get immense joy and satisfaction out of seeing my colleagues who are doing excellent work but might not think of themselves as creators or writers now getting credit for and sharing their work with and the patterns that they've discovered with the world.

s165
00:16:40.662 --> 00:16:48.862
And so, seeing my colleagues put increasingly more and more stories and technical deep dives and announcements through the first factory is incredibly satisfying.

s166
00:16:48.862 --> 00:16:59.902
You know, seeing my kids produce their own stories that that literally talk through what we did in that day and what we learned, and you know, why we need to have soft hands and not slap our sis you know, sister etc.

s167
00:16:59.902 --> 00:17:12.262
Um But again, most successful play tests I've ever done uh the the average uh request for book repeat is like three per story, and it's you know, the primary feedback is again again again.

s168
00:17:12.262 --> 00:17:16.342
Uh so, now I get to enjoy what they make, and that's true for for both these factories.

s169
00:17:16.342 --> 00:17:20.302
So, it's true for the factory that I work with with my colleagues with and then also at home.

s170
00:17:20.302 --> 00:17:26.942
So, it's just because that I've done this one thing and made this type of artifact long enough to have opinions about what makes it interesting what makes it good,

s171
00:17:26.942 --> 00:17:39.302
and now I allow the people that I care about to bring their own content and their own stories through it, and then that is where I'm getting my contentment and getting feedback from them about saying like hey, it would be even cooler if it did XYZ, and you're like okay, you're right.

s172
00:17:39.302 --> 00:17:45.702
And so, the question that I would turn back to all of you in this room is who will you build a factory of loving grace for?

s173
00:17:45.702 --> 00:17:48.782
So, who is somebody that you care about or a team that you care about?

s174
00:17:48.782 --> 00:17:58.502
What is something that you specifically know by heart or are constantly told by colleagues or friends man, or you are so good at XYZ, or you have a real passion for XYZ.

s175
00:17:58.502 --> 00:18:00.102
Can you Can you build a factory for it?

s176
00:18:00.102 --> 00:18:10.902
If you're a developer, you know, go to town, and if if you're not, have an agent help you do it, and uh pour into that factory everything that you've learned uh from doing and from building,

s177
00:18:10.902 --> 00:18:19.302
all of your strong uh strongly held opinions, and then hand it off to somebody else that doesn't normally produce that kind of stuff, and then see what they create,

s178
00:18:19.302 --> 00:18:25.583
and uh that is why I hope I've convinced you that if you care about somebody, you should build them a factory.

s179
00:18:25.583 --> 00:18:26.962
Thank you very much.

s180
00:18:26.962 --> 00:18:28.962
[applause]
