WEBVTT

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

NOTE One cue per sentence. Cue ids are the line anchors on /transcripts/v42opQpCy60.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.480 --> 00:00:13.519
Cool.

s3
00:00:13.519 --> 00:00:15.280
Uh, let's get this going.

s4
00:00:15.280 --> 00:00:16.400
Welcome everyone.

s5
00:00:16.400 --> 00:00:18.000
Thanks for coming.

s6
00:00:18.000 --> 00:00:23.840
Um, my name is Paul and, uh, I'm going to try to save you from the midday slump.

s7
00:00:23.840 --> 00:00:26.320
So, let's, uh, let's see if we can do that.

s8
00:00:26.320 --> 00:00:27.359
Um, okay.

s9
00:00:27.359 --> 00:00:34.480
So this talk, this cold open of this talk will make a lot more sense if you know uh what impeccable is.

s10
00:00:34.480 --> 00:00:41.840
Uh but if you don't know what it is, it's a design, it's a design skill that turns your coding harness into a better designer and hopefully you into a better designer.

s11
00:00:41.840 --> 00:00:43.440
Um and you can try it out.

s12
00:00:43.440 --> 00:00:58.000
It works across all harnesses, cloth code, github, copilot, cursor, codex, etc. Um, and this talk is really about uh my approach to how to building this tool as opposed to the tool itself.

s13
00:00:58.000 --> 00:01:01.600
Um, but let's get started with a pretty typical website.

s14
00:01:01.600 --> 00:01:09.200
So, this is a intentionally very basic website and I want to give you that one as context to what I'm going to show you next.

s15
00:01:09.200 --> 00:01:12.240
So, you know, it's it's a it's it's an okay website.

s16
00:01:12.240 --> 00:01:13.200
It's not great.

s17
00:01:13.200 --> 00:01:14.720
It's pretty bland.

s18
00:01:14.720 --> 00:01:18.799
Um but it at least it has some color some something.

s19
00:01:18.799 --> 00:01:28.080
Um so now here is um the command make it bolder make the workflow section bolder with impeccable.

s20
00:01:28.080 --> 00:01:31.520
Um so this is with impeccable installed.

s21
00:01:31.520 --> 00:01:35.360
So now there are it's not perfect.

s22
00:01:35.360 --> 00:01:36.400
There are some problems with this.

s23
00:01:36.400 --> 00:01:48.720
for example, the um the section numbers that you have there, that's a very typical AI slop tail uh that uh that GPT loves to do and I mean Claude actually loves to do as well and

s24
00:01:48.720 --> 00:01:50.079
it sometimes creeps in.

s25
00:01:50.079 --> 00:01:55.360
So I wouldn't say this is perfect by any means but I think it's I would say bolder than before.

s26
00:01:55.360 --> 00:02:10.239
Um now a lot of people install impeccable try it out uh and then they ask me well I don't know like maybe it could be placebo maybe the model is good enough in itself right uh not sure if it actually works well let's compare it to

s27
00:02:10.239 --> 00:02:25.680
this is exactly the same project GPD55 on extra high um same exact prompt without impeccable so there is a slight difference I would say but you be the judge of

s28
00:02:25.680 --> 00:02:36.800
Um, so the before and after is pretty different and I'm going to talk about why that is and um and and what the approach is.

s29
00:02:36.800 --> 00:02:45.200
So designing at the speed of adjectives and um to get the elephant out of the room, they are not just adjectives, they're also verbs.

s30
00:02:45.200 --> 00:02:48.720
Uh but some of them are adjectives.

s31
00:02:50.080 --> 00:02:53.280
First off, the role of the engineer and the design are blurring.

s32
00:02:53.280 --> 00:02:58.000
Um, I've seen more people become design engineers than ever.

s33
00:02:58.000 --> 00:03:02.239
Designers are moving into code, engineers are moving into design and vice versa.

s34
00:03:02.239 --> 00:03:11.360
Some of the best comments I get from people who walk up to me and say like, well, impeccable gives me this shared language of design that everybody can communicate now in.

s35
00:03:11.360 --> 00:03:18.159
But really, these worlds are all colliding in my opinion and the typical handoff is kind of broken.

s36
00:03:18.159 --> 00:03:28.319
like the the waterfall process of I start with design, maybe I start with like the what on the PM side, then it goes into design and then there's like this handoff and this critique process

s37
00:03:28.319 --> 00:03:30.560
and then ultimately the engineer builds it.

s38
00:03:30.560 --> 00:03:32.319
That thing is just not real anymore.

s39
00:03:32.319 --> 00:03:40.080
I don't know about you, but um I think that's starting to collapse very quickly in small and large companies.

s40
00:03:41.120 --> 00:03:48.879
And when it comes to the actual work of design, I feel like there's right now kind of like two worlds that you can play in.

s41
00:03:48.879 --> 00:03:53.360
Either it's direct manipulation sort of like in the pixel space, right?

s42
00:03:53.360 --> 00:03:57.599
So you're in Figma and you're manipulating margins, paddings, whatever it is.

s43
00:03:57.599 --> 00:04:05.760
Um or you're in web flow or you're in some other tool where you directly manipulating the final output uh or the design.

s44
00:04:05.760 --> 00:04:13.680
Now that's fine, but then you feel like you're getting behind because everybody else is like agentic and going crazy with loops and loop maxing, right?

s45
00:04:13.680 --> 00:04:19.600
And now you're going on the other extreme, which is simply telling your agent, please design this for me or please build this.

s46
00:04:19.600 --> 00:04:27.440
But it feels like to me at least there's this there's this middle ground that we haven't explored enough like what is the exact level of control?

s47
00:04:27.440 --> 00:04:32.479
How can we insert the human in the loop at the exact right time?

s48
00:04:32.639 --> 00:04:37.680
Uh and so this this came to mind then it's pretty popular tweet a while ago.

s49
00:04:37.680 --> 00:04:41.840
Um so centering a diff with opus.

s50
00:04:41.840 --> 00:04:42.560
Yes.

s51
00:04:42.560 --> 00:04:45.040
Uh not a great use of opus.

s52
00:04:45.040 --> 00:04:48.160
Uh but you know it kind of speaks to that problem.

s53
00:04:48.160 --> 00:04:51.759
It's like okay well when do we use which tool?

s54
00:04:51.759 --> 00:04:56.080
When is which tool adequate to do what job?

s55
00:04:56.639 --> 00:05:08.960
In my opinion right now for most work the direct manipulation of padding, margins, spacing and so on is actually at a elevation that's too low.

s56
00:05:08.960 --> 00:05:17.919
And on the other hand um if you go fully agentic you get web pages like this now that you would you would get this in like 2022 I would say.

s57
00:05:17.919 --> 00:05:21.840
So everybody here can point out the typical AI slot patterns.

s58
00:05:21.840 --> 00:05:24.880
Um but the purple gradients were actually way beyond that.

s59
00:05:24.880 --> 00:05:29.280
there are no purple gradients anymore uh in most frontier models.

s60
00:05:29.280 --> 00:05:33.840
Um now we just get this and it's kind of wears a different suit as Claude would say.

s61
00:05:33.840 --> 00:05:37.919
Um but uh but it really is slop as well.

s62
00:05:37.919 --> 00:05:39.440
It's just a moving target.

s63
00:05:39.440 --> 00:05:41.440
So now we have I call this claude beige.

s64
00:05:41.440 --> 00:05:43.360
We have these instrument serif fonts.

s65
00:05:43.360 --> 00:05:44.560
We have italics.

s66
00:05:44.560 --> 00:05:46.639
And it's not necessarily a bad design.

s67
00:05:46.639 --> 00:05:50.479
It's just everything that comes out of claw design looks that way.

s68
00:05:50.479 --> 00:05:56.320
And when everything looks the same, you kind of get algorithmic unilo as I call it.

s69
00:05:56.320 --> 00:05:58.800
Uh so also not great.

s70
00:05:58.800 --> 00:06:02.320
Now here's my first hot take of today's session.

s71
00:06:02.320 --> 00:06:05.199
You cannot oneshot design.

s72
00:06:05.199 --> 00:06:08.880
Um now many people want to and maybe we'll get there eventually.

s73
00:06:08.880 --> 00:06:12.319
I just don't think it's possible at the current moment.

s74
00:06:12.319 --> 00:06:14.080
Uh maybe not ever.

s75
00:06:14.080 --> 00:06:29.520
Um, I think in order to build something that really looks and feels great and is effective design, you need to have something that's context context rich which has been informed by what you're trying to do, what your audience is, what you're trying to build.

s76
00:06:29.520 --> 00:06:32.080
And also it will have to be multi-shot.

s77
00:06:32.080 --> 00:06:34.319
You will have to iterate on your design.

s78
00:06:34.319 --> 00:06:41.120
Uh, and you I mean even if you're a soloreneur, but if you're not a soloreneur, you might have different people who have different opinions.

s79
00:06:41.120 --> 00:06:42.319
Users have opinions.

s80
00:06:42.319 --> 00:06:43.520
I mean design is messy.

s81
00:06:43.520 --> 00:06:52.000
it's process and wishing it away and just saying like solve this problem for me agent will not unfortunately solve your problem.

s82
00:06:52.000 --> 00:07:02.400
Um now the other problem is if you don't know the language of design or if your stakeholders don't know the language of design gets really frustrating really quickly too.

s83
00:07:02.400 --> 00:07:14.000
So if you've ever designed something um you kind of know like this kind of experience um and then you know the inner feeling builds up of like and at some point you're like

s84
00:07:15.039 --> 00:07:20.479
uh so really what you have to ask first is what's the emotional territory?

s85
00:07:20.479 --> 00:07:22.240
What should this never feel like?

s86
00:07:22.240 --> 00:07:23.680
What's what's the reference?

s87
00:07:23.680 --> 00:07:24.960
What's the audience?

s88
00:07:24.960 --> 00:07:27.199
These are all really important questions to figure out.

s89
00:07:27.199 --> 00:07:33.599
Like you can't go to a human design studio even if it's the best design studio in the world.

s90
00:07:33.599 --> 00:07:40.160
You go to design director and you say like you know what I want to design for my brand and a design dire not nods.

s91
00:07:40.160 --> 00:07:42.960
It's like got it and then walks away.

s92
00:07:42.960 --> 00:07:44.400
That doesn't make any sense.

s93
00:07:44.400 --> 00:07:50.400
Like they obviously have to figure out what it is that you're trying to build and what you're trying to get out of it.

s94
00:07:50.800 --> 00:08:03.919
Importantly on this example even sort of like the 2026 version of AI slop you know quickly vibe coded page nobody decided anything here like you just oneshotted this nobody decided

s95
00:08:03.919 --> 00:08:20.000
anything on this page this was just I mean it's maybe competent but completely empty so my uh thesis that I make here and what I've been trying to build over the last couple months is a tool that gives you

s96
00:08:20.000 --> 00:08:26.800
just the amount of control needed to steer your agent in the right direction with adjectives and verbs.

s97
00:08:26.800 --> 00:08:29.759
And these are the types of words I'm talking about.

s98
00:08:29.759 --> 00:08:34.240
Talking about words like make this bolder, make this quieter, uh distill this.

s99
00:08:34.240 --> 00:08:40.080
So basically simplification, um polish this, um make it denser or harden this.

s100
00:08:40.080 --> 00:08:44.640
Um harden for instance would mean uh make sure that this design works across the board.

s101
00:08:44.640 --> 00:08:47.040
Maybe the performance is bad on certain devices.

s102
00:08:47.040 --> 00:08:48.640
Maybe it's not responsive.

s103
00:08:48.640 --> 00:08:54.959
Um, and so these are these are words that we use in the world of design.

s104
00:08:54.959 --> 00:09:04.399
And I noticed when seeing two people attempt the exact same task and one is an engineer who's never really touched design at all and the other one is a designer

s105
00:09:04.399 --> 00:09:12.399
um there's a stark difference even when they use the same model and same harness everything in the output that they're getting based on the language that they use.

s106
00:09:12.399 --> 00:09:22.800
So, I've been trying to put that language basically compress it into a skill uh and into a system to be able to express yourselves better.

s107
00:09:22.800 --> 00:09:32.320
And so, for example, you could have like a baseline um over here, but then you make it bolder and the agent actually knows what bolder in your context means.

s108
00:09:32.320 --> 00:09:34.959
You make it quieter, it knows what it means.

s109
00:09:34.959 --> 00:09:38.480
You distill and it knows what it means.

s110
00:09:40.320 --> 00:09:45.760
Um, but then bolder how what does bolder mean in the context of your project?

s111
00:09:45.760 --> 00:09:58.560
That's a really important question because as you could tell at the beginning of the demo uh in the cold open uh when you just ask GPT or claude whatever make this bolder it doesn't know anything about what you mean.

s112
00:09:58.560 --> 00:10:07.680
Uh now it has its own sense of reference of like what boulder could mean but it will do whatever it wants right it will invent new colors it will invent new gradients.

s113
00:10:07.680 --> 00:10:22.640
it will I mean it doesn't matter um what it actually means in impeccable not gradients not glass not neon but actually hierarchy scale decisive type so uh things that

s114
00:10:22.640 --> 00:10:38.800
uh don't break your design system and adequately raise the attention that the user would put on it uh and this is an actual sentence from the the file that is loaded when you say bolder impeccable

s115
00:10:38.800 --> 00:10:51.839
um show someone your work and say AI make this bolder made this bolder if they believe you you failed this is something that we actually instruct the agent to do for themselves and then the agent oftent times

s116
00:10:51.839 --> 00:11:09.120
reflects and like I don't know think I did some bad work here an adjective is a light wart and a light wart such a German term and Matt Puk actually talked about this recently uh who also makes some really excellent skills.

s117
00:11:09.120 --> 00:11:15.920
And so this is uh stolen by one of his tweets, but I really think uh um it makes a lot of sense.

s118
00:11:15.920 --> 00:11:22.959
Um these are words that h that you basically imbue with meaning that you infuse with meaning and they mean something.

s119
00:11:22.959 --> 00:11:34.399
They already mean something to the model, but then you translate this into the area that you're interested in and the right altitude really shifts.

s120
00:11:34.399 --> 00:11:39.680
Um, now I don't think you can solve any problems at that altitude.

s121
00:11:39.680 --> 00:11:41.040
That's super important too.

s122
00:11:41.040 --> 00:11:44.079
Uh, there is still room for the very beginning.

s123
00:11:44.079 --> 00:11:50.720
For instance, if you just want exploratory work and you just want to get something on the screen or you just want the last amount of polish.

s124
00:11:50.720 --> 00:11:59.920
I don't think right now uh AI is good enough to replace humans for the last 5, 10, maybe even 20% of the work to get it from good to great.

s125
00:11:59.920 --> 00:12:04.880
Uh but it does actually make it better.

s126
00:12:04.880 --> 00:12:07.680
Now I've built tools for more than 20 years.

s127
00:12:07.680 --> 00:12:09.680
I guess I'm dating myself here.

s128
00:12:09.680 --> 00:12:13.120
Uh but whenever I build a tool, I actually map the workflow first.

s129
00:12:13.120 --> 00:12:17.920
I think about what is the actual workflow of the target user that I'm trying to help.

s130
00:12:17.920 --> 00:12:20.639
And the workflow of design is not linear.

s131
00:12:20.639 --> 00:12:21.519
It's messy.

s132
00:12:21.519 --> 00:12:23.200
Has many different stages.

s133
00:12:23.200 --> 00:12:25.440
Uh there are different people involved.

s134
00:12:25.440 --> 00:12:35.040
And so I kind of mapped every part of the process and thought about well what are the injection points along that route and how can we help along that route.

s135
00:12:35.040 --> 00:12:49.200
And so you start with initialization with the shaping process of design uh you go over to uh crafting to iterating uh with all these verbs and adjectives and then to the actual harden and polish phase and finally you kind of bring it back to your design system.

s136
00:12:49.200 --> 00:12:53.200
You do some tech debt cleanup design deck cleanup.

s137
00:12:53.200 --> 00:13:00.240
Um, now here's one example of a command that I wasn't actually sure about shipping and it's called overdrive.

s138
00:13:00.240 --> 00:13:12.000
Um, I basically built this uh built this command in Impeccable that uh tries to create something completely over the top and it was kind of like a a half of a joke maybe.

s139
00:13:12.000 --> 00:13:15.839
Um, but people absolutely are rabbit about this about this thing.

s140
00:13:15.839 --> 00:13:17.040
Um, and they love it.

s141
00:13:17.040 --> 00:13:21.200
Um, and so this is just one example of I mean this is not oneshotted.

s142
00:13:21.200 --> 00:13:28.560
Uh this is a um sort of realistic event horizon shader um that I've built for my shader library radiant shaders.

s143
00:13:28.560 --> 00:13:35.120
But I did actually use the overdrive command for this to uh overdrive it even more uh and make it more ridiculous.

s144
00:13:35.120 --> 00:13:46.880
So sometimes I come up with these uh commands I'm actually not sure about and I test them with the community and once it sticks uh I realize okay well there are more people who are getting joy out of this.

s145
00:13:46.880 --> 00:13:50.000
Um oh here we go.

s146
00:13:50.000 --> 00:13:50.639
Here we go.

s147
00:13:50.639 --> 00:13:51.519
Okay.

s148
00:13:51.519 --> 00:13:55.360
Um, an adjective with nothing behind is just a nicer prompt.

s149
00:13:55.360 --> 00:14:00.320
So, you really have to tell the agent what you mean by the word that you're using.

s150
00:14:00.320 --> 00:14:06.399
Uh, it it has so many different meanings uh within its training materials that you really have to tell it.

s151
00:14:06.399 --> 00:14:09.600
Um, now here's another thing.

s152
00:14:09.760 --> 00:14:15.279
I've gotten so many requests for an automatic way of using Impeccable.

s153
00:14:15.279 --> 00:14:16.720
So many.

s154
00:14:16.720 --> 00:14:17.920
It's so frustrating.

s155
00:14:17.920 --> 00:14:24.320
Like so at least once a week somebody tweets at me say like you know what would be cool just let impeccable do all the work by itself.

s156
00:14:24.320 --> 00:14:26.399
I don't have to decide on any command anymore.

s157
00:14:26.399 --> 00:14:27.519
That's not the point.

s158
00:14:27.519 --> 00:14:32.399
The point is to give you a way to steer what you want to end up with.

s159
00:14:32.399 --> 00:14:35.360
It's never going to be a tool to oneshot design.

s160
00:14:35.360 --> 00:14:36.480
That's not the intent.

s161
00:14:36.480 --> 00:14:43.440
And I'll never I mean there's a pull request standing uh standing out right now that I'm going to close because of that.

s162
00:14:43.440 --> 00:14:55.120
There is no auto and there will be no auto in my opinion and uh this is a bit awkward maybe for some of the next speakers but I think taste cannot be amplified

s163
00:14:55.120 --> 00:15:08.639
uh sorry I think taste can be amplified I think I call this amplified craft uh and I think you can work with tools to sharpen your taste and bring out more of your taste I really do not think it can be lab ground lab grown I think

s164
00:15:08.639 --> 00:15:14.480
it is uh taste by definition sort of is uh contextual It's cultural.

s165
00:15:14.480 --> 00:15:16.160
It's scars.

s166
00:15:16.160 --> 00:15:23.360
And once everybody replicates the same thing, it starts to become really muddy and we don't think of it as taste anymore.

s167
00:15:23.360 --> 00:15:24.000
That's my opinion.

s168
00:15:24.000 --> 00:15:26.959
And I know this is like a hotly contested topic.

s169
00:15:26.959 --> 00:15:30.880
Uh, but I'm not trying to solve taste with my tools.

s170
00:15:30.880 --> 00:15:33.680
Um, that's what I got.

s171
00:15:33.680 --> 00:15:36.720
Uh, this was about finding the right level of control for design.

s172
00:15:36.720 --> 00:15:37.839
Thank you very much.

s173
00:15:37.839 --> 00:15:40.639
And, uh, I think I have time for a few questions if you have any.

s174
00:15:40.639 --> 00:15:42.800
Thank you.

s175
00:15:56.310 --> 00:15:58.310
[music]
