1
00:00:00,080 --> 00:00:01,880
We have something like 2000.

2
00:00:01,920 --> 00:00:04,190
Open source GitHub repository
is a usable product.

3
00:00:04,290 --> 00:00:06,760
1.4 million monthly downloads on npm.

4
00:00:06,800 --> 00:00:10,400
It really blew up on Twitter, and it was
probably the first time that I pulled

5
00:00:10,400 --> 00:00:12,160
something that went viral.

6
00:00:12,200 --> 00:00:14,640
Everyone around me was
saying, Chad is dead.

7
00:00:14,840 --> 00:00:19,560
Yeah. I think people are much more willing
to accept chats now than in 2024 when I

8
00:00:19,560 --> 00:00:23,360
saw it. Building chat
interfaces seems very easy.

9
00:00:23,400 --> 00:00:28,800
The hard part is state management,
ChatGPT Claude and all these other AI that

10
00:00:28,800 --> 00:00:31,320
consumers are familiar
with set a high bar.

11
00:00:31,360 --> 00:00:35,520
So consumers are expecting the
same level of polish in every app.

12
00:00:35,560 --> 00:00:40,120
If you want to roll yarn in AI agents,
that's where CI comes in and gives you all

13
00:00:40,120 --> 00:00:42,080
the basic features built in.

14
00:00:42,120 --> 00:00:46,480
I think the classic role of you have
a company where someone specifies the

15
00:00:46,480 --> 00:00:51,120
features completely and then gives it to
engineering to build doesn't work anymore

16
00:00:51,480 --> 00:00:56,040
because the building part, if you have a
really good spec, is just fully automated

17
00:00:56,040 --> 00:00:57,590
by coding agent.

18
00:00:57,600 --> 00:01:03,840
And so the bottleneck is really writing
good arms and having that sort of taste.

19
00:01:03,880 --> 00:01:08,200
What was the early signal when you said,
okay, let's make this into a product?

20
00:01:08,320 --> 00:01:11,280
I think what drove me was.

21
00:01:19,960 --> 00:01:23,640
Hello and welcome everyone to another
episode of the merge, our podcast brought

22
00:01:23,640 --> 00:01:26,560
to you here from our San
Francisco office at Code Rabbit.

23
00:01:26,800 --> 00:01:33,280
Today I'm super excited because I'm joined
by Simon Freshly, the founder and CEO of

24
00:01:33,280 --> 00:01:37,080
assistant UI and Open Source Project that
you will be learning a lot more about in

25
00:01:37,080 --> 00:01:39,770
just a minute. Simon,
how are you doing today?

26
00:01:39,800 --> 00:01:41,040
Great. And thanks for having me.

27
00:01:41,040 --> 00:01:42,880
I'm excited to be here. Awesome.

28
00:01:42,920 --> 00:01:44,900
Well, we're excited to have you, too.

29
00:01:44,920 --> 00:01:47,840
I think the project
has seen great success.

30
00:01:47,840 --> 00:01:50,880
Certainly. I've heard about it
actually a while back already.

31
00:01:50,880 --> 00:01:54,880
But some people might not be so familiar
already with what you're doing right now.

32
00:01:54,880 --> 00:01:56,840
So could you give us a
little bit of a brief?

33
00:01:56,880 --> 00:02:00,560
Of course. So assistant UI gives you
the UX strategy between your own app.

34
00:02:01,720 --> 00:02:04,240
We give you react front end components.

35
00:02:04,520 --> 00:02:06,120
You can customize them the way you want.

36
00:02:06,160 --> 00:02:12,480
And we handle the state streaming and
connections to OpenAI, as well as the

37
00:02:12,480 --> 00:02:14,480
agent frameworks like Master Lang chain.

38
00:02:14,600 --> 00:02:15,800
And the AI is

39
00:02:16,840 --> 00:02:18,950
right on a very important work.

40
00:02:18,960 --> 00:02:23,960
I think one of the quotes that I
read is I think it was from Sast.

41
00:02:24,280 --> 00:02:29,320
That's the idea. But they were claiming
that you're revolutionizing the way UI is,

42
00:02:29,360 --> 00:02:34,480
is done for the new era of of of chat,
which I think is certainly the interface

43
00:02:34,480 --> 00:02:36,960
that we've been all using the most lately.

44
00:02:37,680 --> 00:02:40,630
Can you tell me what was wrong
with the way it was done before?

45
00:02:40,640 --> 00:02:43,400
Why was why did we need assistant UI?

46
00:02:44,000 --> 00:02:46,480
The project started as
a hackathons project.

47
00:02:46,480 --> 00:02:48,560
I didn't plan to make it into a startup.

48
00:02:48,600 --> 00:02:53,840
It was something that I needed myself
when I started the project in 2024.

49
00:02:53,880 --> 00:02:57,920
Everyone was making
fun of AI wrappers, and

50
00:02:58,920 --> 00:03:04,080
because AI chat was very popular, but at
the same time, everyone felt a little bit

51
00:03:04,320 --> 00:03:09,040
like it seemed so repetitive that nobody
thought this was going to become a huge

52
00:03:09,040 --> 00:03:14,080
thing. I think since then, we've adopted
chat as the default interface for AI

53
00:03:14,120 --> 00:03:17,840
agents. This was not very obvious
around the time that I started it.

54
00:03:18,840 --> 00:03:23,160
I think I just saw that I needed this
so much, so often in my own personal

55
00:03:23,160 --> 00:03:27,480
projects, and also when I was
trying to start other startup ideas.

56
00:03:27,560 --> 00:03:32,520
So I built it for myself and
it's caught on a little bit.

57
00:03:32,680 --> 00:03:34,960
Yeah. What is what is
the traction right now?

58
00:03:35,000 --> 00:03:36,440
How many people are using it?

59
00:03:37,120 --> 00:03:41,630
We have something like 2000
open source GitHub repository.

60
00:03:41,680 --> 00:03:45,560
I use our product 1.4 million
monthly downloads on npm.

61
00:03:45,600 --> 00:03:47,880
This includes npm updates as well.

62
00:03:47,920 --> 00:03:49,660
That's. Yeah, that's very impressive.

63
00:03:49,680 --> 00:03:51,040
Congratulations. Thank you.

64
00:03:51,080 --> 00:03:54,070
It's about like 1.5% of the market.

65
00:03:54,080 --> 00:03:55,760
So we have long ways to go.

66
00:03:55,800 --> 00:03:57,480
I mean, it's a big market.

67
00:03:57,960 --> 00:04:01,240
Yeah I saw a first demo of you.

68
00:04:01,240 --> 00:04:02,800
I think it was at the AWS.

69
00:04:03,040 --> 00:04:05,720
I built a lot of it was 2024.

70
00:04:06,640 --> 00:04:11,400
Can you tell a bit about the story where
you started back then and then where are

71
00:04:11,400 --> 00:04:13,250
you going? How did you see the shift?

72
00:04:13,360 --> 00:04:16,200
What was the what were the
new challenges that came up?

73
00:04:16,600 --> 00:04:22,080
Yeah, that demo, I think I made it like
about two weeks and after I decided that's

74
00:04:22,080 --> 00:04:25,360
the thing, I was going to become
the thing that I'll really focus on.

75
00:04:27,200 --> 00:04:29,160
I randomly signed up to this event.

76
00:04:29,160 --> 00:04:30,560
I didn't even prepare much for it.

77
00:04:30,560 --> 00:04:34,960
I started preparing for that event like
an hour before, and I pulled up one of the

78
00:04:34,960 --> 00:04:41,320
examples that I had built trying to
sell to another company and e-commerce

79
00:04:41,360 --> 00:04:46,640
store. And it really blew up on Twitter,
and it was probably the first time that I

80
00:04:46,640 --> 00:04:49,400
built something that that went viral.

81
00:04:49,440 --> 00:04:50,120
And

82
00:04:51,520 --> 00:04:57,160
I think it only has views, but it seems
like it's highly concentrated in San

83
00:04:57,160 --> 00:04:59,710
Francisco and the exact right community.

84
00:04:59,720 --> 00:05:00,280
So

85
00:05:01,240 --> 00:05:05,480
there was this sort of impression that a
lot of people around me suddenly knew what

86
00:05:05,480 --> 00:05:06,720
the system UI was.

87
00:05:06,760 --> 00:05:10,400
I remember I learned about it and then
I yeah, I also used it in one of my

88
00:05:10,400 --> 00:05:15,920
projects. So very excited to to hear that
you were coming and that I get a chance to

89
00:05:15,960 --> 00:05:19,680
chat to you, because I feel like it was
really one of those early first pivotal

90
00:05:19,680 --> 00:05:23,920
moments. And I saw a lot of people
building in the city on assistant UI,

91
00:05:24,200 --> 00:05:28,040
maybe for people who are
have not dived into it yet.

92
00:05:28,520 --> 00:05:31,280
Can we explain what can you
explain a bit more deeply?

93
00:05:31,280 --> 00:05:37,520
Why did we need it, a new interface, why
was like whatever Streamlit was providing,

94
00:05:37,520 --> 00:05:39,760
for example, not sufficient.

95
00:05:40,040 --> 00:05:42,480
Building traffic
interfaces seems very easy.

96
00:05:42,800 --> 00:05:45,320
The hard part is state management.

97
00:05:46,480 --> 00:05:52,800
You've got the state that streams in token
by token, and you want to stream this

98
00:05:52,800 --> 00:05:57,040
efficiently. There's all sorts of
post-processing that you want to do, like

99
00:05:57,080 --> 00:05:58,400
markdown parsing,

100
00:06:00,080 --> 00:06:05,080
things like file attachments,
queuing messages, voice mode.

101
00:06:05,120 --> 00:06:10,240
These are all things that you need to add
on top of the original chat interface.

102
00:06:10,240 --> 00:06:16,600
Message editing is another one that's
sometimes challenging, and I just

103
00:06:16,600 --> 00:06:19,600
bundled all of these
standard features into the

104
00:06:21,080 --> 00:06:22,600
same component library.

105
00:06:22,760 --> 00:06:27,480
The bar is pretty high because ChatGPT
Claude and all these other AI chats that

106
00:06:27,520 --> 00:06:30,040
consumers are familiar
with set a high bar.

107
00:06:30,080 --> 00:06:34,360
So consumers are expecting the
same level of polish in every app.

108
00:06:34,360 --> 00:06:40,520
If you want to roll yarn in app AI agents,
and that's where CI comes in and gives

109
00:06:40,520 --> 00:06:43,480
you all the basic features built in.

110
00:06:43,680 --> 00:06:47,480
Great. Can you tell us some names, like
do you have some prominent companies that

111
00:06:47,480 --> 00:06:50,960
are using it right now that are
relying on your your project?

112
00:06:51,480 --> 00:06:56,560
Yeah. So I went through by Combinator
and they're using it internally.

113
00:06:57,690 --> 00:07:01,600
Lang chain uses us master users us.

114
00:07:03,000 --> 00:07:05,790
We got a few fortune 500 enterprises.

115
00:07:05,800 --> 00:07:11,840
I'm not so sure if I can name them, but
they use us mostly internally, sometimes

116
00:07:11,840 --> 00:07:15,640
also as part of their developer kits.

117
00:07:16,810 --> 00:07:21,400
Well, how do you balance, I guess, you
know, feature requests coming in from

118
00:07:21,400 --> 00:07:23,320
these companies and these bigger names?

119
00:07:23,320 --> 00:07:27,120
Or is this maybe something that the
community seems to focus because we have

120
00:07:27,120 --> 00:07:29,600
so much traction, so
many downloads a month?

121
00:07:29,600 --> 00:07:34,440
I can only imagine there must be a lot of
people pulling on on your project, trying

122
00:07:34,440 --> 00:07:36,720
to navigate you in one
direction or another.

123
00:07:37,440 --> 00:07:42,080
One of the cool design decisions that I
made was to make everything so modular.

124
00:07:42,600 --> 00:07:46,440
That's every customer can build
our next feature themselves.

125
00:07:47,720 --> 00:07:54,040
So when customers that are paying us
ask for new features, we go ask them for

126
00:07:54,040 --> 00:07:56,760
repository permissions and
build it in a code base.

127
00:07:56,920 --> 00:07:59,280
And then we try it out.

128
00:07:59,320 --> 00:08:01,000
Do this again for another customer.

129
00:08:01,000 --> 00:08:04,920
And this way we figure out the
patterns and the design space.

130
00:08:04,920 --> 00:08:07,120
And then we put it into the main library.

131
00:08:07,940 --> 00:08:12,440
Okay, okay. Everyone can build
our next feature themselves.

132
00:08:12,600 --> 00:08:18,920
And this doesn't apply to everything,
but 95% of new things we ship works

133
00:08:18,920 --> 00:08:23,000
like this okay. Do you get a lot of
quality pull requests from externally as

134
00:08:23,000 --> 00:08:23,520
well?

135
00:08:24,520 --> 00:08:28,120
I'm small. Scopes are
usually very high quality.

136
00:08:28,360 --> 00:08:33,480
I've actually hired like three people from
the open source contributors, and it's

137
00:08:33,480 --> 00:08:39,280
been great because they understand
the product direction and have

138
00:08:39,480 --> 00:08:43,520
similar taste to me, and that's
really how to find other ways.

139
00:08:43,920 --> 00:08:47,920
Yeah, I think taste in general is
an interesting conversation topic.

140
00:08:49,040 --> 00:08:51,200
Seems like now with the new era of Gen.

141
00:08:51,240 --> 00:08:56,880
I this is what matters the most for for
programmers, especially as we become full

142
00:08:56,880 --> 00:09:00,040
stack and more of a product
management role as well.

143
00:09:00,040 --> 00:09:03,400
Somehow I like that term product
engineer to a certain sense.

144
00:09:04,160 --> 00:09:04,560
Sure.

145
00:09:05,720 --> 00:09:07,040
How do you decide for that?

146
00:09:07,080 --> 00:09:08,480
How do you hire for that?

147
00:09:08,920 --> 00:09:13,640
I think the classic role of you have
a company where someone specifies the

148
00:09:13,640 --> 00:09:18,520
features completely and then gives it to
engineering to build doesn't work anymore

149
00:09:18,920 --> 00:09:23,440
because the building part, if you have a
really good spec, is just fully automated

150
00:09:23,440 --> 00:09:25,120
by coding agent.

151
00:09:25,880 --> 00:09:31,800
And so the bottleneck is really writing
good prompts and having that sort of

152
00:09:32,200 --> 00:09:33,040
taste.

153
00:09:34,200 --> 00:09:39,440
I think we feel this a lot ourselves as
well, because assistant UIs product is

154
00:09:39,440 --> 00:09:43,120
mostly about design and
less about engineering feat.

155
00:09:43,160 --> 00:09:48,040
It's like we give you a well-designed
interface, but we also give you a good

156
00:09:48,040 --> 00:09:50,160
developer experience.

157
00:09:50,800 --> 00:09:55,480
APIs that make sure as you grow, your
code doesn't become spaghetti and remains

158
00:09:55,480 --> 00:09:59,720
maintainable. And these are like design
decisions on how we make you structure

159
00:09:59,720 --> 00:10:03,000
your code that lead to a
more maintainable code base.

160
00:10:03,200 --> 00:10:09,320
And then for the agents that run in your
app, we try to give you a few APIs that

161
00:10:09,480 --> 00:10:12,480
for the LM to use so that you
can interact with your app.

162
00:10:12,480 --> 00:10:17,160
And there the economics matter as well for
the genetic experience, so that the agent

163
00:10:17,160 --> 00:10:20,200
is able to be productive in the UI.

164
00:10:20,240 --> 00:10:25,040
So if the user just interacted with
something in those, the context of that, I

165
00:10:25,040 --> 00:10:29,000
saw that I mean assistant UI as
many built in TypeScript, right.

166
00:10:29,320 --> 00:10:31,520
But then you also a lot of your

167
00:10:32,800 --> 00:10:34,560
customers, I guess they
build on long chain.

168
00:10:34,560 --> 00:10:36,480
At least that's what I
saw in your demo as well.

169
00:10:37,320 --> 00:10:43,040
Do you how do you what else is there
to how do you see people building?

170
00:10:43,080 --> 00:10:46,080
Chet Epstein's days, I
guess is my question.

171
00:10:46,760 --> 00:10:49,720
Market is all react developers and

172
00:10:50,800 --> 00:10:56,000
I would say 60% use TypeScript,
40% use Python backend.

173
00:10:57,600 --> 00:10:59,520
The best agents I've seen.

174
00:11:02,680 --> 00:11:07,440
Use Python. But then, like, I think the
average quality of the TypeScript projects

175
00:11:07,440 --> 00:11:08,840
is higher. So it's like interesting.

176
00:11:08,840 --> 00:11:14,440
It's like you have a few teams that
are very data driven and actually

177
00:11:14,960 --> 00:11:19,720
obsess over every word in the system
prompt and the tool design and all that.

178
00:11:20,440 --> 00:11:25,240
The kind of engineer who obsesses over
that, I think on average is a Python

179
00:11:25,240 --> 00:11:31,120
developer. And so that's I see a few
really good agents being built in

180
00:11:31,120 --> 00:11:31,880
Python.

181
00:11:33,400 --> 00:11:36,960
I would say it's much easier to build
good agents with TypeScript though.

182
00:11:39,880 --> 00:11:44,680
We support both. We have adapters and
for assistant UI in both Python we have a

183
00:11:44,680 --> 00:11:48,480
small Python library that we
maintain as well as TypeScript.

184
00:11:49,600 --> 00:11:54,800
There are a few users who use esoteric
languages, but 99% of the market is

185
00:11:55,120 --> 00:12:01,200
TypeScript and Python. Yeah,
I had of master here as well.

186
00:12:01,200 --> 00:12:07,360
He also had some some opinions on that,
which is interesting, I feel, and many

187
00:12:07,360 --> 00:12:11,600
people agree with me, that mainly
the main market used to be in Python.

188
00:12:11,600 --> 00:12:17,600
I mean, the entire length chain train
came and took, I think, a major part.

189
00:12:17,640 --> 00:12:22,760
Do you feel like that is shifting in a
certain sense that more people are moving

190
00:12:22,760 --> 00:12:24,520
into into TypeScript?

191
00:12:24,520 --> 00:12:28,520
Or do you do you think that that will
stay in Python, just like you mentioned

192
00:12:28,520 --> 00:12:32,680
before? I'm more bullish on TypeScript
and it's mostly where my heart is at, I

193
00:12:32,680 --> 00:12:38,160
think. I think TypeScript as a language,
as a developer community culture, the

194
00:12:38,160 --> 00:12:43,320
TypeScript developer community is more
obsessed about design, and I think that

195
00:12:43,320 --> 00:12:46,110
matters a lot, especially
also thanks to master.

196
00:12:46,160 --> 00:12:52,360
They're bringing a ton of evals and
the culture around being data driven to

197
00:12:52,400 --> 00:12:58,720
TypeScript. So I think what they're doing
there with their evals, platform and

198
00:12:59,400 --> 00:13:01,000
tests and stuff is really cool.

199
00:13:01,720 --> 00:13:03,920
Yeah, I agree, I think
they've done a great job.

200
00:13:04,080 --> 00:13:10,000
I'm building most of my agents now on
Lastra because it's also it's so easy to

201
00:13:10,040 --> 00:13:14,920
use. I think they have done a great job of
making it accessible for, for an agent as

202
00:13:14,920 --> 00:13:18,880
well, to just dive into a
project and formulate that out.

203
00:13:19,460 --> 00:13:23,200
That's right. I realized that the
programing language is probably matter

204
00:13:23,200 --> 00:13:24,560
less going forward.

205
00:13:24,800 --> 00:13:26,120
Thanks for coding agents.

206
00:13:26,680 --> 00:13:32,480
It's you'll have a lot of data teams
that will start feeling comfortable using

207
00:13:32,520 --> 00:13:38,240
TypeScript. Given that we barely write
any code by hand anymore and it's all

208
00:13:38,640 --> 00:13:39,760
AI. Anyway,

209
00:13:40,680 --> 00:13:43,160
I realized this in hiring as well as like

210
00:13:44,280 --> 00:13:50,720
you can hire a front end
engineer or a data scientist and

211
00:13:50,760 --> 00:13:52,280
have them work full stack.

212
00:13:52,880 --> 00:13:53,760
And

213
00:13:54,720 --> 00:13:58,880
this sort of like ownership across the
whole stack has been is really productive,

214
00:13:58,880 --> 00:14:04,480
I think. So that's the way we hire is
like, we hire folks who can own and

215
00:14:04,480 --> 00:14:10,640
maintain features and to end so they they
come up with the idea of the feature, do a

216
00:14:10,640 --> 00:14:14,760
little bit of research in the design
space and then go and build it.

217
00:14:15,560 --> 00:14:20,520
That's interesting because personally,
I feel like certain domain expertise and

218
00:14:20,520 --> 00:14:23,560
programing even still matters
even with coding agents.

219
00:14:23,600 --> 00:14:29,920
Like for example, I recently built
an app and I'm not a database expert.

220
00:14:30,240 --> 00:14:35,840
Actually, my background is in embedded C,
so a little bit different and I build it

221
00:14:35,840 --> 00:14:41,120
with some other folks around that, you
know, probably also went database experts.

222
00:14:41,120 --> 00:14:45,880
And then when we onboarded a lot of users
at the same time, the app crashed because

223
00:14:45,880 --> 00:14:48,960
we there was some
inefficient querying as well.

224
00:14:48,960 --> 00:14:52,920
And then some of the, the scaling
of the database just didn't work.

225
00:14:53,600 --> 00:14:54,280
And

226
00:14:55,520 --> 00:14:59,680
I feel like if we would have had somebody
with more expertise in our team because we

227
00:14:59,680 --> 00:15:02,600
were using AI, that probably
would have not happened to us.

228
00:15:02,600 --> 00:15:04,720
So how do you how do you see that?

229
00:15:05,160 --> 00:15:10,840
I try to hire a diverse team
in terms of like interests.

230
00:15:11,240 --> 00:15:14,520
So some people who are more
data driven, some that are

231
00:15:15,440 --> 00:15:20,760
upset, that obsessed over infrastructure,
some that obsess over design, some that

232
00:15:20,760 --> 00:15:22,840
obsess over efficiency.

233
00:15:23,440 --> 00:15:24,280
And.

234
00:15:26,960 --> 00:15:33,120
We operate in a way where engineers and my
team pick up tasks that they enjoy doing.

235
00:15:33,120 --> 00:15:35,920
So there's not a fixed roadmap for there.

236
00:15:35,920 --> 00:15:41,480
So the order to which we do we implement
features depends on like the interests of

237
00:15:41,480 --> 00:15:45,920
the engineers and by hiring
a more diverse team there,

238
00:15:47,320 --> 00:15:49,480
I aim to like even the product out.

239
00:15:49,480 --> 00:15:53,760
So hopefully when something like this
happens where one of our careers is

240
00:15:53,760 --> 00:15:56,000
inefficient, the engineer who

241
00:15:57,360 --> 00:16:00,040
looks at our dashboard sees at the.

242
00:16:00,560 --> 00:16:06,080
There are a few spikes in the average
latency, and they get super curious and go

243
00:16:06,080 --> 00:16:08,400
and figure out why that's the case.

244
00:16:08,440 --> 00:16:09,960
Okay, that makes sense. Yeah.

245
00:16:10,280 --> 00:16:14,210
Let's switch gears a little bit
and talk a bit about open source.

246
00:16:14,240 --> 00:16:19,000
I think one thing that is very interesting
about assistant UI is that you're making

247
00:16:19,000 --> 00:16:23,160
a business out of something that started
as a hobby project, and you're making it

248
00:16:23,160 --> 00:16:24,720
all open source and available.

249
00:16:25,160 --> 00:16:30,120
What is your business model and what is
the trick behind making it sustainable?

250
00:16:30,840 --> 00:16:34,080
Yeah, it's trickier than
your usual business.

251
00:16:34,920 --> 00:16:39,520
It's hard to make money with UI component
libraries, which is what the idea of the

252
00:16:39,680 --> 00:16:44,040
day is. I saw Clerc and
was inspired by them.

253
00:16:44,080 --> 00:16:50,080
They give you authentication and
also react components as the API for

254
00:16:50,200 --> 00:16:52,440
interacting with the service.

255
00:16:52,720 --> 00:16:58,480
And so we have a system cloud and it's
our backend and it powers it's a database.

256
00:16:58,480 --> 00:17:01,360
Basically it powers a chat product.

257
00:17:01,840 --> 00:17:06,360
When you upload files we can
store them in Assistant Cloud.

258
00:17:06,360 --> 00:17:11,960
And then we give you an analytic so you
understand what sort of questions people

259
00:17:11,960 --> 00:17:17,720
ask in your product, how many people use
your product, the AI chat in your product.

260
00:17:17,720 --> 00:17:24,000
And we're expanding to add a
few more features that like

261
00:17:24,040 --> 00:17:26,720
an AI gateway. Basically,
that's so you can

262
00:17:27,640 --> 00:17:33,560
use all the different AI models in there,
a billing service, so that you can let

263
00:17:33,560 --> 00:17:37,640
your users add tokens and a wallet and
money in a wallet and use it for their

264
00:17:37,640 --> 00:17:41,280
token usage. This is for
the AI app builders that.

265
00:17:43,520 --> 00:17:45,280
Have like longer running agents.

266
00:17:45,280 --> 00:17:50,360
And yeah, hopefully users make money is
like one of the ways we're going to make

267
00:17:50,360 --> 00:17:54,600
money. Okay, so you're basically as soon
as somebody comes becomes more successful

268
00:17:54,600 --> 00:17:58,960
with their project and you can see that
you can yeah, charge a little subset of

269
00:17:59,000 --> 00:18:01,160
that. And that's been working out well.

270
00:18:01,480 --> 00:18:03,800
We're kind of like charging
permanently active user

271
00:18:05,240 --> 00:18:08,200
for the storage service and analytics.

272
00:18:08,400 --> 00:18:10,960
So if a user interacts with your AI chat

273
00:18:12,560 --> 00:18:14,400
we charge a small fee for that.

274
00:18:14,840 --> 00:18:16,560
How did you come up with that?

275
00:18:16,560 --> 00:18:20,120
I think that's a very
difficult barrier to find.

276
00:18:20,120 --> 00:18:22,520
And also the concept
itself is hard to develop.

277
00:18:22,880 --> 00:18:24,840
Maybe many people will
be listening to this.

278
00:18:24,880 --> 00:18:28,400
We're also thinking, oh, I've got an open
source project that somehow seen some

279
00:18:28,400 --> 00:18:33,280
traction. Where did you start drawing the
line between this is going to be freely

280
00:18:33,280 --> 00:18:36,680
available. This is what we're going to
use as a service to sustain ourselves.

281
00:18:37,760 --> 00:18:40,200
Yeah. It has pros and
cons to do open source.

282
00:18:40,200 --> 00:18:46,400
I think it's just in UI because
you cannot directly really monetize

283
00:18:46,520 --> 00:18:48,280
UI libraries on a venture scale.

284
00:18:48,280 --> 00:18:50,120
There's not that many examples of it.

285
00:18:50,160 --> 00:18:54,560
It doesn't see that much competition
from other venture backed companies.

286
00:18:54,880 --> 00:18:56,880
And that's a good thing.

287
00:18:56,880 --> 00:18:59,200
That makes our lives a little bit easier.

288
00:19:00,360 --> 00:19:03,840
The bounce side is that our
business model is more convoluted.

289
00:19:04,120 --> 00:19:06,360
We have to get traction on
the open source product.

290
00:19:06,360 --> 00:19:10,080
And then there's this whole separate
product, which is not just assessing UI as

291
00:19:10,080 --> 00:19:14,920
a hosted service. It's supplemental
add ons that plug into assisting UI.

292
00:19:15,280 --> 00:19:17,440
And for that part we charge.

293
00:19:17,480 --> 00:19:21,240
And so you need to get
product market fit twice.

294
00:19:21,280 --> 00:19:26,400
You need to make the open source product
successful, and then you need to upsell

295
00:19:26,440 --> 00:19:28,920
the open source customers
on the pay product.

296
00:19:28,920 --> 00:19:32,680
And that's a whole different product
that needs its own product market fit.

297
00:19:32,960 --> 00:19:35,280
Well. How big is your team right now?

298
00:19:35,320 --> 00:19:37,400
Every for four engineers full time.

299
00:19:37,440 --> 00:19:39,120
Wow. So no marketing.

300
00:19:40,120 --> 00:19:46,400
It's it's all inbound. The nice thing
is that under cloud product we get a

301
00:19:46,400 --> 00:19:49,680
ton of enterprise inbound requests.

302
00:19:49,720 --> 00:19:54,400
Just because we have champions in the
companies that use the open source

303
00:19:54,400 --> 00:20:00,640
product. And through our
documentation, we do a good,

304
00:20:01,160 --> 00:20:04,600
decent job at selling the cloud
product and the need for it.

305
00:20:04,600 --> 00:20:07,520
And when the customer is
ready, they come to us.

306
00:20:07,840 --> 00:20:11,820
Do you plan on expanding the team
or expanding the footprint further?

307
00:20:11,840 --> 00:20:15,640
Is there maybe another product
you're thinking about working on?

308
00:20:15,680 --> 00:20:20,000
We're actively hiring, but I we tried.

309
00:20:20,080 --> 00:20:26,440
I try to keep our product scope more on
the smaller and and just going really deep

310
00:20:26,440 --> 00:20:32,440
on a few design spaces and getting
really good in that area, because

311
00:20:33,440 --> 00:20:38,080
I think building a very basic AI chat
is already doable with cloud code.

312
00:20:38,080 --> 00:20:43,440
And the benefit that we give you is that
we've just gone so deep in the design

313
00:20:43,440 --> 00:20:44,600
space that

314
00:20:45,640 --> 00:20:50,320
it won't be the intuition for your AI
coding agent to do this on the first try.

315
00:20:50,520 --> 00:20:55,040
Yeah, that's an interesting question to
where do you see the interface going?

316
00:20:55,080 --> 00:21:00,120
Because some people might argue that
maybe chat is not going to be the box.

317
00:21:00,120 --> 00:21:04,600
I think I've read a couple ex posts
on, you know, chatters dead and we need

318
00:21:04,600 --> 00:21:08,760
something new. What what do you think
will be the next interface for us?

319
00:21:08,840 --> 00:21:11,280
I think dialog is here to stay.

320
00:21:12,080 --> 00:21:16,000
So it's going to be either chat or voice,

321
00:21:17,600 --> 00:21:23,120
where experimenting with a few multi-modal
interfaces, like you point your mouse at

322
00:21:23,120 --> 00:21:27,280
an element and then use
your voice to ask about it.

323
00:21:28,520 --> 00:21:32,960
At the end of the day, I think chat and
dialog is going to stay and it's just

324
00:21:32,960 --> 00:21:34,520
going to get more interactive.

325
00:21:35,720 --> 00:21:38,480
What does that interactive
element look like?

326
00:21:38,560 --> 00:21:43,840
So the AI can show you not just text,
but generate components on the fly.

327
00:21:44,560 --> 00:21:49,760
A can interact with other services
and apps and do things for you.

328
00:21:50,840 --> 00:21:55,640
I do think that the interface is going to
overall shrink, just because language is

329
00:21:55,640 --> 00:21:59,760
more expressive than many of the
dashboards and UI interfaces that we have

330
00:21:59,760 --> 00:22:05,400
today. So unless you're showing rich
information like charts, maps, diagrams,

331
00:22:05,560 --> 00:22:07,360
you might get away with just text.

332
00:22:08,040 --> 00:22:14,320
You just made me think for a little while
after I remember the first Streamlit app

333
00:22:14,320 --> 00:22:19,320
that I built, and I felt like it was
feeling so clunky, but it somehow worked.

334
00:22:19,320 --> 00:22:25,440
So I assume that you kind of went on the
same journey when you when you started

335
00:22:25,440 --> 00:22:31,240
with assistant. I what was that
first adoption curve moment like?

336
00:22:31,240 --> 00:22:36,960
Because I remember you writing, you
know, we talked about that AWS Genii

337
00:22:37,000 --> 00:22:40,960
moment where you give that presentation
and then that LinkedIn post.

338
00:22:40,960 --> 00:22:45,840
I think there was also something that I
found about an opinionated piece on the

339
00:22:45,840 --> 00:22:50,520
internet, where you talked as one of the
earlier ones about the limitations of for

340
00:22:50,640 --> 00:22:53,440
writing JSON structure, JSON output.

341
00:22:53,440 --> 00:22:56,080
So it seems like you've been
a fort leader in the space.

342
00:22:56,120 --> 00:23:00,880
Did you find it easy to to find traction
for that project, or was that something

343
00:23:00,880 --> 00:23:02,960
that you also had challenges with?

344
00:23:02,960 --> 00:23:07,160
What was the early signal when you said,
okay, let's make this into a product?

345
00:23:07,200 --> 00:23:09,200
I think I resisted the

346
00:23:10,520 --> 00:23:14,760
signals that I was seeing, the pulled out
I was seeing for the longest time because

347
00:23:14,760 --> 00:23:17,480
I was like, this is a
UI component library.

348
00:23:17,560 --> 00:23:19,600
Not sure how to monetize this.

349
00:23:19,840 --> 00:23:22,440
Everyone around me was
saying, chat is dead.

350
00:23:22,600 --> 00:23:27,000
Yeah, I think people are much more
willing to accept chat now than in 2024.

351
00:23:27,040 --> 00:23:29,040
When I started, I

352
00:23:29,960 --> 00:23:36,160
think what drove me was some sort
of fear that it might become like a

353
00:23:36,160 --> 00:23:41,960
super app. And I didn't also like that
sort of proposal that sites like ChatGPT

354
00:23:42,360 --> 00:23:47,400
would replace the web as the primary
interface that we interact with the world.

355
00:23:47,920 --> 00:23:52,560
And this has also been something that
guides us is like, how do we create an

356
00:23:52,560 --> 00:23:54,240
open ecosystem for

357
00:23:55,200 --> 00:23:56,650
the interfaces of the future?

358
00:23:56,650 --> 00:23:59,880
And that's why I see is open
source and the open source.

359
00:23:59,880 --> 00:24:01,120
As much as we can

360
00:24:02,480 --> 00:24:08,320
make sure that the interface and
just like the the share access to

361
00:24:08,760 --> 00:24:14,880
high quality UX is not what drives
consumers to use ChatGPT or other

362
00:24:14,880 --> 00:24:21,000
products. And then we have a few things
brewing over distributed memory for

363
00:24:21,040 --> 00:24:24,480
agents, because personalization
is another potential.

364
00:24:24,480 --> 00:24:27,280
Centralizing modes for platforms like.

365
00:24:30,080 --> 00:24:33,320
The other one is like token subscriptions.

366
00:24:34,480 --> 00:24:39,920
That one's interesting. There's a window
proposal that Chrome has implemented which

367
00:24:39,960 --> 00:24:43,160
allows the browser to supply
about sites with tokens.

368
00:24:43,160 --> 00:24:44,320
I think that's very cool.

369
00:24:44,380 --> 00:24:48,920
Oh, okay. So that's why maybe you just
subscribe to tokens through your browser,

370
00:24:48,920 --> 00:24:52,120
and then that supplies all your
websites and all the assistants.

371
00:24:52,120 --> 00:24:52,680
But

372
00:24:53,600 --> 00:24:55,280
tokens. Yeah, there could be.

373
00:24:55,320 --> 00:24:57,800
Yeah. Another another
interesting surface right.

374
00:24:58,000 --> 00:25:01,720
Tell me a little bit what
where do you see this going.

375
00:25:01,760 --> 00:25:05,960
Because there's obviously there's the
open source angle for you as a business to

376
00:25:06,000 --> 00:25:11,600
sustain that to also with the new wave of
maybe we can talk about AI slop PR and all

377
00:25:11,600 --> 00:25:16,680
of that part and then the the
overall space of course of

378
00:25:17,760 --> 00:25:19,920
chat as an interface.

379
00:25:20,200 --> 00:25:24,280
You just mentioned ChatGPT becoming the
omni product that everybody uses for

380
00:25:24,280 --> 00:25:27,640
everything. How do you
want to position yourself?

381
00:25:27,760 --> 00:25:33,840
And as an open source company and as a
business in order to see success in 26,

382
00:25:33,880 --> 00:25:38,920
27? Yeah, I think for us, if you look
at the Apple ecosystem, which is very

383
00:25:38,920 --> 00:25:45,190
centralized, Apple puts users first
and developers second, like the I,

384
00:25:45,920 --> 00:25:49,480
I predict that is going to be similar.

385
00:25:50,600 --> 00:25:55,760
And we're trying we're going to be on the
side of the developers first and see what

386
00:25:55,760 --> 00:25:58,840
they want, prioritize their
business interest first.

387
00:25:58,840 --> 00:26:00,200
What do they want right now?

388
00:26:00,360 --> 00:26:06,560
I think the industry still very early,
and it's just like getting things to work

389
00:26:07,000 --> 00:26:08,440
is such a hard problem.

390
00:26:10,760 --> 00:26:12,240
Making the agents better,

391
00:26:13,400 --> 00:26:18,920
giving them better context is like, is
that something you do with the on the

392
00:26:18,920 --> 00:26:23,760
front end side? So what did the user do in
the last five seconds before interacting

393
00:26:23,760 --> 00:26:25,240
with the AI chat?

394
00:26:25,480 --> 00:26:30,600
What is the user looking at in the app
where assistant guys, I'm better than who

395
00:26:30,640 --> 00:26:36,800
the user is. A few hooks for these
signals from the browser is what we give

396
00:26:36,800 --> 00:26:37,200
you.

397
00:26:39,920 --> 00:26:41,160
I want to do more there.

398
00:26:41,160 --> 00:26:41,640
I think

399
00:26:43,160 --> 00:26:45,520
things are still moving too slow and

400
00:26:46,920 --> 00:26:48,480
we could build so many. Cool.

401
00:26:48,520 --> 00:26:55,000
We have so many cool demos and
prototypes, and the real world apps that I

402
00:26:55,000 --> 00:26:57,720
use today still have very few of that.

403
00:26:58,880 --> 00:27:05,240
I think the main benefit of, like adding
your own AI chat is that you get to

404
00:27:05,280 --> 00:27:10,080
integrate it deeply in your product, and
it understands the primitives of your

405
00:27:10,080 --> 00:27:16,280
product, can help you use a product faster
and smoother, and the click around the

406
00:27:16,280 --> 00:27:18,360
product for you, you logged in.

407
00:27:18,360 --> 00:27:23,160
It has all the data that you're that you
have in a way that's much harder for like

408
00:27:23,200 --> 00:27:24,640
a super app to replicate.

409
00:27:24,840 --> 00:27:26,560
If you're building your own application.

410
00:27:26,600 --> 00:27:31,960
Obviously you cannot just rely on on a
baked out interface that you just pull.

411
00:27:32,880 --> 00:27:36,760
So you will be the pioneer of
sort of say, the AI interface.

412
00:27:36,760 --> 00:27:38,560
That's what you see working on it.

413
00:27:38,600 --> 00:27:42,920
Yeah, constantly bring in bring
out new primitives for this.

414
00:27:43,120 --> 00:27:46,080
What's one primitive you're
thinking about doing next?

415
00:27:46,120 --> 00:27:51,080
One thing we're seeing very often is
that customers are building generative

416
00:27:51,080 --> 00:27:57,560
dashboards. And this is like you ask
the AI agent, how many new customers

417
00:27:57,560 --> 00:27:59,600
did I close last week?

418
00:28:00,080 --> 00:28:05,760
And this is like in a CRM and it gives you
a graph and you're able to from the chat,

419
00:28:05,760 --> 00:28:07,200
drag and drop this

420
00:28:08,920 --> 00:28:13,640
graph into a dashboard that constantly
updates and stays up to date.

421
00:28:13,640 --> 00:28:15,400
So it's like a dashboard builder.

422
00:28:16,800 --> 00:28:21,840
I've had to build this like ten times
already for customers in their code bases.

423
00:28:21,880 --> 00:28:27,920
Yeah, and I want to build this into a
primitive that that sounds like a very

424
00:28:27,920 --> 00:28:33,520
exciting for me. If I think the you
see applications like base 44 and

425
00:28:34,080 --> 00:28:40,080
other lovable coding tools that
constantly are flooded with

426
00:28:40,080 --> 00:28:43,560
requests like this, I think,
and it would be super useful.

427
00:28:43,560 --> 00:28:46,480
I saw my my girlfriend actually
building an application.

428
00:28:46,480 --> 00:28:50,720
She's I wouldn't say non-technical because
she's been really diving into it, but

429
00:28:50,720 --> 00:28:52,840
certainly he does not have
an engineering background.

430
00:28:52,840 --> 00:28:58,560
And the amount of dashboards that I've
seen, well, not very well working a little

431
00:28:58,600 --> 00:29:01,920
bit clunky, that could benefit
from something like that.

432
00:29:01,920 --> 00:29:05,000
Then maybe some some closing thoughts.

433
00:29:06,000 --> 00:29:10,510
We can talk a little bit about
your ideas on what you've seen.

434
00:29:10,520 --> 00:29:14,920
You already mentioned some primitives for
your product, but more be more for the

435
00:29:14,920 --> 00:29:16,160
industry itself.

436
00:29:16,360 --> 00:29:21,000
I think 26 is is a very interesting year,
because 25 was kind of seeing that a huge

437
00:29:21,000 --> 00:29:24,240
shift of adoption everywhere
outside of Silicon Valley.

438
00:29:24,240 --> 00:29:28,280
I think we've been a little
bit ahead to to speed.

439
00:29:28,760 --> 00:29:32,560
Yeah, be frank. But there
are more people building UIs.

440
00:29:32,560 --> 00:29:36,440
They are building people building
with application with AI.

441
00:29:36,960 --> 00:29:38,320
How do you see

442
00:29:39,400 --> 00:29:43,360
the role of the developer
shifting in the next year to come?

443
00:29:43,840 --> 00:29:46,640
And how do you see the influx of new

444
00:29:47,640 --> 00:29:53,000
AI enabled developers, or by coders
playing into your business, as well as our

445
00:29:53,000 --> 00:29:56,920
business as dev tool companies think
there's going to be a shift to more full

446
00:29:56,920 --> 00:30:01,400
stack developers, and
everyone will need to become,

447
00:30:03,640 --> 00:30:07,920
full and on both the front end,
the back end, the data structures

448
00:30:09,400 --> 00:30:13,880
obviously are going to be different
interests, but I think that's a good

449
00:30:13,880 --> 00:30:17,680
place. You can grow as an engineer today
is like if you've been doing a lot of

450
00:30:17,680 --> 00:30:23,880
backend work. You can now go dive deep
into frontend very easily, something

451
00:30:24,160 --> 00:30:27,000
you had to learn over weeks
worth of experimentation.

452
00:30:27,000 --> 00:30:31,720
You can learn in like a few hours by
asking the AI to answer all your questions

453
00:30:31,720 --> 00:30:33,880
and just pairing with it.

454
00:30:36,520 --> 00:30:41,520
Similarly, I think the other thing that
I've been doing a lot more is running

455
00:30:41,520 --> 00:30:43,280
agents in a loop.

456
00:30:45,440 --> 00:30:46,640
I was one of.

457
00:30:50,400 --> 00:30:56,320
I was pretty early in using quadruped
and the Tabata complete of GitHub

458
00:30:56,320 --> 00:30:57,160
copilot

459
00:30:58,520 --> 00:30:59,880
when it was better.

460
00:30:59,880 --> 00:31:00,520
And

461
00:31:01,440 --> 00:31:07,640
I think one really cool loop is having
an agent look at the code rabbit

462
00:31:07,960 --> 00:31:11,480
errors and then fixing
them and pushing updates.

463
00:31:11,680 --> 00:31:16,160
And this is something that's constantly
running in the background on my machine.

464
00:31:16,440 --> 00:31:20,920
Okay. There's not that many that much good
tooling for this though yet that's like

465
00:31:20,960 --> 00:31:23,200
these automated loops.

466
00:31:23,240 --> 00:31:29,720
One of them is look at the code review
bots suggestions and the easy to pick

467
00:31:29,720 --> 00:31:32,240
ones. You can already
merge the other ones.

468
00:31:32,640 --> 00:31:37,880
Give it to me in a summary I can like I go
in cloud code and like it gives me bullet

469
00:31:37,880 --> 00:31:39,880
point a numbered bullet points of.

470
00:31:42,320 --> 00:31:44,240
This idea seems good.
I'm not sure about it.

471
00:31:44,240 --> 00:31:46,040
This idea seems good. Not sure about it.

472
00:31:46,040 --> 00:31:49,600
I just implemented the rest and I
can say one, two, three are good.

473
00:31:49,800 --> 00:31:52,400
Skip four, skip 5 to 6.

474
00:31:52,560 --> 00:31:55,360
Then it goes and does that and
then the PR is ready to merge.

475
00:31:57,040 --> 00:32:02,720
CI is failing because there's a lint error
and my agent running in the background

476
00:32:03,120 --> 00:32:05,040
automatically sees this
and pushes an update.

477
00:32:05,040 --> 00:32:05,600
Their.

478
00:32:07,120 --> 00:32:12,360
The other thing we do is run a
coding agent in a while loop to

479
00:32:13,440 --> 00:32:19,360
check our docs, and if there's anything
out of date, it goes on, fixes it, and

480
00:32:19,360 --> 00:32:22,920
it's like a script that goes through
every single file and it runs overnight,

481
00:32:24,280 --> 00:32:25,320
and that works pretty well.

482
00:32:25,320 --> 00:32:30,760
And I'm pretty sure you can think of like
20 or 30 other patterns like this that are

483
00:32:30,760 --> 00:32:32,760
generalizable across projects.

484
00:32:33,560 --> 00:32:39,920
And I'm missing the platform or
primitive to run this end to.

485
00:32:40,200 --> 00:32:42,280
I think that's coming pretty soon.

486
00:32:42,800 --> 00:32:44,480
That's a very interesting take.

487
00:32:44,520 --> 00:32:45,760
I love it.

488
00:32:46,840 --> 00:32:51,400
So you're basically running Ralph Loops
constantly on your entire production code

489
00:32:51,440 --> 00:32:54,040
base. I mean, not pushing to
production immediately, obviously.

490
00:32:54,040 --> 00:32:58,600
But yeah, Dexter showed me the rough loop

491
00:32:59,520 --> 00:33:01,840
paradigm and I

492
00:33:03,680 --> 00:33:09,080
dragged him into my hackathons to port
a few projects to a different coding.

493
00:33:09,080 --> 00:33:14,800
I encourage and report a browser use
and a few others that browser use the

494
00:33:14,840 --> 00:33:17,160
TypeScript and call it better use.

495
00:33:17,160 --> 00:33:18,640
And that blew up on.

496
00:33:21,160 --> 00:33:27,000
Hacker News as well. And since that's
caught on a lot, and just recently

497
00:33:27,640 --> 00:33:32,520
some imported cloud code to Python, and
that's very interesting to see as well.

498
00:33:32,560 --> 00:33:37,680
And porting software to a different
language is definitely one of these things

499
00:33:37,680 --> 00:33:39,240
that you can run in a rough loop.

500
00:33:39,560 --> 00:33:44,560
And like I said, checking your docs is
another one, and I'm pretty sure there's

501
00:33:44,600 --> 00:33:46,880
like a few others out there
that work really well.

502
00:33:47,560 --> 00:33:49,960
Ralph soups. Great.

503
00:33:49,960 --> 00:33:50,400
Yeah.

504
00:33:51,440 --> 00:33:55,600
I've been seeing a little bit of problems
with running some of them on, on some of

505
00:33:55,600 --> 00:33:59,680
my projects, but maybe I have
to go back and reiterate.

506
00:33:59,720 --> 00:34:01,400
It really depends on
what you're trying to do.

507
00:34:01,400 --> 00:34:03,000
For some things it works well.

508
00:34:03,000 --> 00:34:05,080
For many others it doesn't.

509
00:34:05,320 --> 00:34:10,440
What will be your top three tips for doing
it successful besides reset docs already?

510
00:34:10,760 --> 00:34:14,920
We we said having bullet points so
giving some kind of decision narrative.

511
00:34:15,440 --> 00:34:18,200
Is there a third one a recommendation?

512
00:34:18,720 --> 00:34:23,840
I have a blog post coming up and it's
called Lean Forward and it basically says

513
00:34:23,840 --> 00:34:26,960
as an engineer in 2026,
you have two options.

514
00:34:27,360 --> 00:34:32,880
You can lean back and just
let the AI do the vibing.

515
00:34:32,920 --> 00:34:38,840
Yeah that the I cook and it
you get to an 80% good result.

516
00:34:39,440 --> 00:34:45,760
Or you can lean forward and it's like
you're working like ten times harder.

517
00:34:46,040 --> 00:34:48,720
You're working as much as you did in 2018.

518
00:34:48,840 --> 00:34:55,200
But in return you get like the
remaining 20% of what you're

519
00:34:55,200 --> 00:34:59,440
capable of. And psychologically, that
seems like a really bad trade off because

520
00:34:59,440 --> 00:35:03,840
you get 80% of the work
done with 10% of the effort.

521
00:35:05,000 --> 00:35:09,520
I'm arguing that you shouldn't do that,
and all the alphas in the remaining 20%,

522
00:35:09,560 --> 00:35:13,480
and you want to go and
really, really focus.

523
00:35:14,760 --> 00:35:20,280
Because what else does differentiate you
from any other software program or non

524
00:35:20,280 --> 00:35:21,680
programmer, even at the end.

525
00:35:21,720 --> 00:35:23,040
Right. That's right. Yeah.

526
00:35:23,080 --> 00:35:26,320
All the alpha is going to
be in the remaining 20%.

527
00:35:26,480 --> 00:35:30,280
And you working as hard
as you had to in 2018.

528
00:35:30,280 --> 00:35:34,160
In 2018 you then have the
choice to lean back and chill.

529
00:35:34,200 --> 00:35:35,520
No code got rid of them.

530
00:35:36,080 --> 00:35:37,960
Wouldn't compile if you
miss that semicolon.

531
00:35:38,000 --> 00:35:44,400
But yeah yeah I think that's a that's
a great, great point to start wrapping

532
00:35:44,400 --> 00:35:48,400
up this conversation. I have a little
tradition that I do with every amount of

533
00:35:48,400 --> 00:35:52,280
my guests here. I have a small
round of rapid fire questions.

534
00:35:52,640 --> 00:35:55,040
Yeah. If you're ready I'll ask them to.

535
00:35:55,080 --> 00:35:57,840
You can try and answer them shortly.

536
00:35:57,840 --> 00:36:01,000
If it's something that you feel
strongly about, please elaborate more.

537
00:36:01,040 --> 00:36:02,800
Okay? Okay. All right.

538
00:36:03,160 --> 00:36:06,240
First question. Your favorite
programing language TypeScript.

539
00:36:06,960 --> 00:36:08,800
All right. No doubt there.

540
00:36:09,160 --> 00:36:12,240
What do you think about
the rest of the web?

541
00:36:12,280 --> 00:36:18,420
We just talked about the fact that you can
now basically use a roof loop to write,

542
00:36:18,480 --> 00:36:23,080
rewrite everything. You think it would
be beneficial to have a rust version of a

543
00:36:23,080 --> 00:36:27,400
sustained UI? Not in the near
future, at some point, maybe.

544
00:36:27,520 --> 00:36:31,360
One thing I've learned from TypeScript is
that you can get unreasonably effective at

545
00:36:31,400 --> 00:36:34,880
optimizing the language that
has some built for optimization.

546
00:36:35,200 --> 00:36:36,800
That's really interesting to see.

547
00:36:36,840 --> 00:36:38,640
So we're betting more on that.

548
00:36:38,760 --> 00:36:40,640
Okay. Yeah. Cool take.

549
00:36:41,160 --> 00:36:44,400
What's your favorite
coding model still cloud.

550
00:36:44,440 --> 00:36:48,930
Just because I've worked so much
with it and I know it's quirks okay.

551
00:36:49,000 --> 00:36:51,440
Sticking to cloud code as an as a harness.

552
00:36:51,760 --> 00:36:55,200
All right. What's the coolest
thing you built with assistant UI?

553
00:36:55,520 --> 00:37:00,200
What? I built myself as a language
learning app that just lets you converse

554
00:37:00,200 --> 00:37:03,200
in a different language, and it
corrects you if you make a mistake.

555
00:37:03,280 --> 00:37:05,080
That's pretty. Yeah. Pretty handy.

556
00:37:05,120 --> 00:37:07,480
Yeah. What language are you learning?

557
00:37:07,560 --> 00:37:09,440
French. Oh, okay.

558
00:37:09,480 --> 00:37:11,080
Cool. Very cool.

559
00:37:11,160 --> 00:37:15,000
Circling back into our conversation
before, do you think there's too many AI

560
00:37:15,080 --> 00:37:18,480
tools right there in the market right now
for developers, or do you think we still

561
00:37:18,480 --> 00:37:23,400
need more? I think the tools out there
cluster around a few things that already

562
00:37:23,400 --> 00:37:27,800
work. There's just so much that I do by
hand, and I don't understand why this

563
00:37:27,800 --> 00:37:29,840
isn't automated yet.

564
00:37:30,160 --> 00:37:32,000
Yeah, okay. Makes sense.

565
00:37:32,040 --> 00:37:37,040
What's the most underrated feature of
system UI that people should know about?

566
00:37:37,080 --> 00:37:42,040
You can customize every pixel, and most
people stick to the default chat style.

567
00:37:42,100 --> 00:37:42,360
So

568
00:37:43,760 --> 00:37:46,160
okay, okay, we give you zero CSS.

569
00:37:46,680 --> 00:37:50,040
We give, you know, course and
it all lives in your code base.

570
00:37:50,080 --> 00:37:51,960
You can go and customize it like crazy.

571
00:37:52,200 --> 00:37:53,640
Awesome. Yeah.

572
00:37:53,800 --> 00:37:56,920
Is there one last thing you
would like to to highlight?

573
00:37:56,960 --> 00:38:00,200
Maybe that people should know about
you or about the team assistant UI?

574
00:38:00,440 --> 00:38:04,310
We're hiring and we
mainly care about design.

575
00:38:04,320 --> 00:38:10,320
So if design is something that
interests you, regardless of how much

576
00:38:10,560 --> 00:38:14,680
coding experience you have and how much
design experience you have, if that's

577
00:38:14,680 --> 00:38:16,480
where your heart says,
I want to talk to you.

578
00:38:16,640 --> 00:38:19,000
Okay, great. We'll close without that.

579
00:38:19,040 --> 00:38:20,760
Thank you so much for coming through.

580
00:38:20,800 --> 00:38:22,720
Thank you as well. Awesome.