1
00:00:00,280 --> 00:00:02,740
Hello and welcome back
to APIs You Won't Hate.

2
00:00:02,920 --> 00:00:03,670
I am

3
00:00:03,670 --> 00:00:06,970
mike Biko, one of the co-founders
of APIs You Won't Hate here

4
00:00:06,970 --> 00:00:10,420
sitting down for a chat with my
new friend, Manu ing from Anvil.

5
00:00:10,640 --> 00:00:11,810
Manu, thanks for joining today.

6
00:00:11,860 --> 00:00:13,660
Why don't you tell me a
little bit about yourself,

7
00:00:13,720 --> 00:00:15,790
and I'd love to hear the
elevator pitch for Anvil too.

8
00:00:15,840 --> 00:00:16,330
Awesome.

9
00:00:16,390 --> 00:00:18,190
Thanks for having me on the podcast today.

10
00:00:18,315 --> 00:00:18,470
Mike, it's.

11
00:00:19,050 --> 00:00:20,490
It's always a pleasure to do these.

12
00:00:20,830 --> 00:00:22,510
So a little bit about myself.

13
00:00:22,540 --> 00:00:25,020
Like Mike, Mike mentioned
my name's Span ing.

14
00:00:25,420 --> 00:00:30,370
I am a founder, the founder of Anvil,
and prior to that I worked as a

15
00:00:30,370 --> 00:00:31,780
software engineer for many years.

16
00:00:32,120 --> 00:00:37,030
So previously I had worked at companies
like Dropbox Style Pad Flexport, and

17
00:00:37,030 --> 00:00:38,740
then also a small company called Loom.

18
00:00:39,470 --> 00:00:43,460
Not the video recording one that everybody
knows about, but it, they did own loom.com

19
00:00:43,460 --> 00:00:45,200
and then that was acquired into Dropbox.

20
00:00:45,200 --> 00:00:47,910
So been in the startup
space for quite some time.

21
00:00:48,240 --> 00:00:53,460
My background that kind of led me to
Anvil was both personal and professional.

22
00:00:53,460 --> 00:00:57,730
I will say in my personal life I
was just, dealing with adult stuff,

23
00:00:57,730 --> 00:01:01,780
like applying for a mortgage and
getting infinite numbers of PDFs to

24
00:01:01,780 --> 00:01:03,790
fill out that I had to then send.

25
00:01:04,150 --> 00:01:08,630
Over email to bankers so that I could
get a quote for a mortgage rate.

26
00:01:08,730 --> 00:01:09,870
So that was painful.

27
00:01:10,170 --> 00:01:13,720
And then in my professional life
working at Dropbox, there was obviously

28
00:01:13,720 --> 00:01:15,880
a lot of documents at Flexport.

29
00:01:16,390 --> 00:01:20,620
What you don't realize is that
most shipping is just generating

30
00:01:20,620 --> 00:01:22,870
documents along the way with
some data that you have.

31
00:01:23,620 --> 00:01:27,250
Flexport system was essentially
a system of record for the data

32
00:01:27,280 --> 00:01:30,300
and it would generate the correct
documents as your shipment, cross

33
00:01:30,300 --> 00:01:32,520
borders and got onto different ships.

34
00:01:32,640 --> 00:01:37,960
And every time there was a PDF that needed
to be created somebody had to hand code

35
00:01:37,960 --> 00:01:42,760
a template of that PDF in HTML, and then
we'd render it and then generate the pdf.

36
00:01:42,760 --> 00:01:45,280
So that's why we created Anvil.

37
00:01:45,320 --> 00:01:47,210
Anvil is, frankly speaking the.

38
00:01:47,630 --> 00:01:52,310
Easiest way to build software for
documents, whether that's generating PDFs,

39
00:01:52,400 --> 00:01:57,800
filling out PDFs, collecting e-signatures,
or the entire document process where you

40
00:01:57,800 --> 00:02:01,310
gotta collect information, generate a
certain set of documents based on some

41
00:02:01,310 --> 00:02:03,410
rules, and send it through E-signature.

42
00:02:03,860 --> 00:02:07,195
And the nice thing is that Anvil's
completely embeddable white labeled

43
00:02:07,460 --> 00:02:10,850
and has a very robust API, which
is why we're on the show today.

44
00:02:11,030 --> 00:02:11,510
right on.

45
00:02:11,570 --> 00:02:12,920
Lots to get into there.

46
00:02:13,000 --> 00:02:13,960
Really interesting.

47
00:02:13,960 --> 00:02:15,160
I know Flexport does a lot of

48
00:02:15,160 --> 00:02:16,300
Wild logistics stuff.

49
00:02:16,300 --> 00:02:18,520
I guess it totally makes sense
that you're generating PDFs left

50
00:02:18,520 --> 00:02:21,160
and right 'cause there's bills of
record the whole way through for

51
00:02:21,160 --> 00:02:22,420
shipping that are really important.

52
00:02:22,654 --> 00:02:23,374
That's fascinating.

53
00:02:23,374 --> 00:02:24,094
So you were,

54
00:02:24,344 --> 00:02:27,074
I guess in, in the world
before Anvil existed,

55
00:02:27,264 --> 00:02:28,854
I'd imagine you felt the pain of

56
00:02:28,904 --> 00:02:30,254
Those PDFs in one way or the other.

57
00:02:30,554 --> 00:02:31,934
What was the thing that made you go

58
00:02:31,934 --> 00:02:35,264
Hey, like I'm a smart engineer,
I should really dive into trying

59
00:02:35,264 --> 00:02:36,134
to make this a better thing.

60
00:02:36,690 --> 00:02:38,640
Smart engineer might be an overstatement.

61
00:02:38,640 --> 00:02:39,390
I was an engineer.

62
00:02:40,180 --> 00:02:40,840
Fair enough.

63
00:02:40,840 --> 00:02:41,260
Yeah.

64
00:02:41,280 --> 00:02:44,040
I've met very many engineers
that are much smarter than I am.

65
00:02:44,070 --> 00:02:44,760
Let's put it that way.

66
00:02:45,240 --> 00:02:49,680
I think it was just, I knew I
wanted to work on my own startup,

67
00:02:49,680 --> 00:02:51,060
my own project at some point.

68
00:02:51,060 --> 00:02:52,495
So that was always in the cards for me.

69
00:02:53,275 --> 00:02:57,595
I had been a part of many startups
before starting Anvil, right?

70
00:02:57,595 --> 00:03:01,835
Like Dialpad, I was like number
seven Lu I was number seven as well.

71
00:03:01,835 --> 00:03:04,655
And then Flexport and Dropbox
was there during the growth stage

72
00:03:04,655 --> 00:03:06,335
is when it was like 500 people.

73
00:03:06,335 --> 00:03:08,225
So gotta see that spectrum.

74
00:03:09,020 --> 00:03:09,310
Sure.

75
00:03:09,995 --> 00:03:11,455
so that's maybe the starting point.

76
00:03:11,455 --> 00:03:16,195
And then I was really looking for a
problem space that I felt was both.

77
00:03:16,630 --> 00:03:21,160
Large enough and painful enough, and
also impactful enough that really

78
00:03:21,160 --> 00:03:25,010
would be something I'd be willing
to commit to for the next, five,

79
00:03:25,010 --> 00:03:27,440
10, however many years to tackle.

80
00:03:27,440 --> 00:03:30,980
So I think those are probably
the two driving forces.

81
00:03:31,080 --> 00:03:35,880
And then it was just really happenstance,
like I was going through a period of my

82
00:03:35,880 --> 00:03:40,620
life when I was starting a company, where
I just had a lot of documents to do.

83
00:03:40,650 --> 00:03:42,900
Like I was doing all the life
stuff that you don't do when you're

84
00:03:42,900 --> 00:03:44,500
working, 'cause you put it off.

85
00:03:44,600 --> 00:03:47,750
And so it just was like an aha moment
where everything clicked together.

86
00:03:47,750 --> 00:03:50,510
I think hindsight's 2020 always, but

87
00:03:50,560 --> 00:03:50,680
Sure.

88
00:03:50,725 --> 00:03:50,755
I.

89
00:03:51,238 --> 00:03:53,518
In my experience, I've been
lucky to meet a lot of founders

90
00:03:53,518 --> 00:03:55,108
by way of podcast interview and,

91
00:03:55,388 --> 00:03:55,928
having friends

92
00:03:55,928 --> 00:03:56,768
With similar,

93
00:03:56,868 --> 00:03:59,118
Mental states to my own,
who found themselves in

94
00:03:59,118 --> 00:04:00,378
The founder seat one way or the other.

95
00:04:00,378 --> 00:04:00,558
And

96
00:04:00,768 --> 00:04:01,248
There are a

97
00:04:01,298 --> 00:04:03,188
Few buckets that founders
tend to fall into.

98
00:04:03,188 --> 00:04:03,548
And,

99
00:04:03,858 --> 00:04:05,928
There's always something interesting
talking to people who've like really

100
00:04:05,928 --> 00:04:09,198
felt the problem that they're trying
to solve before, before solving it

101
00:04:09,198 --> 00:04:12,378
because it's so much more deeply.

102
00:04:12,498 --> 00:04:12,738
Like

103
00:04:12,738 --> 00:04:16,188
You feel it to your core, but you
know when it's success because

104
00:04:16,188 --> 00:04:17,538
past you would've loved this,

105
00:04:17,748 --> 00:04:18,348
To an extent.

106
00:04:18,698 --> 00:04:18,878
Yeah.

107
00:04:18,878 --> 00:04:19,628
That's really cool.

108
00:04:19,628 --> 00:04:19,898
I,

109
00:04:19,948 --> 00:04:23,248
I'd imagine a lot of the folks listening
to this, I'd imagine virtually everyone

110
00:04:23,248 --> 00:04:24,988
on Earth has touched A PDF in some way.

111
00:04:25,288 --> 00:04:28,918
I'd imagine some of the people listening
to this have tried to do what you

112
00:04:28,918 --> 00:04:34,318
described before with PDF templates or
pulling structured data from a document or

113
00:04:34,528 --> 00:04:36,208
putting structured data into a document.

114
00:04:36,258 --> 00:04:36,948
my experience

115
00:04:36,948 --> 00:04:37,968
Is somewhat limited.

116
00:04:37,998 --> 00:04:38,928
But I can tell you that,

117
00:04:38,978 --> 00:04:41,498
I still have nightmares about
trying to deal with some of the

118
00:04:41,521 --> 00:04:42,871
Biggest company in the world, like

119
00:04:42,871 --> 00:04:45,001
Their APIs and tools for building PDFs.

120
00:04:45,351 --> 00:04:45,741
Tell me about

121
00:04:45,741 --> 00:04:46,731
What the process is like.

122
00:04:46,731 --> 00:04:48,171
What's the hello world for someone,

123
00:04:48,201 --> 00:04:49,281
Onboarding with Anv look like

124
00:04:49,331 --> 00:04:49,781
Yeah.

125
00:04:49,781 --> 00:04:52,601
So typically the first thing
you do is just sign up.

126
00:04:53,021 --> 00:04:56,531
You go grab a PDF form that
you're trying to automate.

127
00:04:56,531 --> 00:04:58,451
So typically it's a blank form, right?

128
00:04:58,501 --> 00:04:59,856
We actually ask you to upload blank forms.

129
00:05:00,631 --> 00:05:02,911
And you upload it into Anvil.

130
00:05:03,121 --> 00:05:07,771
Anvil will automatically run through
the PDF and use computer vision

131
00:05:07,771 --> 00:05:09,451
to find all the blanks for you.

132
00:05:10,021 --> 00:05:10,981
Does a pretty good job.

133
00:05:10,981 --> 00:05:14,091
I'll say not perfect,
but does a very good job.

134
00:05:14,421 --> 00:05:18,506
And then we'll run it through an LLM to
label and tag all the fields for you.

135
00:05:18,506 --> 00:05:20,096
So it'll do things like.

136
00:05:20,681 --> 00:05:22,901
Give each field a readable name.

137
00:05:22,901 --> 00:05:25,131
It'll give each field a specific type.

138
00:05:25,131 --> 00:05:29,451
So we have address types, social security
number types, short text, long text,

139
00:05:29,451 --> 00:05:30,891
all that kind of stuff, check boxes.

140
00:05:31,451 --> 00:05:34,421
And it will also associate
the fields together.

141
00:05:34,421 --> 00:05:37,571
So address fields typically
are compound fields.

142
00:05:37,631 --> 00:05:40,221
There's line one, line
two, city, state, zip.

143
00:05:41,621 --> 00:05:45,191
Anvil will associate those
together so that when you go to

144
00:05:45,191 --> 00:05:48,626
populate this PDF, it's like a
data structure that makes sense.

145
00:05:48,626 --> 00:05:51,776
It's not just a bunch of fields
that are not interrelated,

146
00:05:51,776 --> 00:05:52,826
even though they should be.

147
00:05:53,196 --> 00:05:54,356
So that's pretty much it.

148
00:05:54,406 --> 00:05:58,876
If you have a schema already that you're
trying to map to A PDF, you can pass

149
00:05:58,876 --> 00:06:03,256
along the keys and we will also try
to associate your schema to specific

150
00:06:03,256 --> 00:06:04,996
fields on the PDF automatically.

151
00:06:05,536 --> 00:06:09,676
That just makes it easy for you to
normalize data across multiple documents.

152
00:06:10,046 --> 00:06:12,866
And then you make an API request.

153
00:06:12,866 --> 00:06:16,196
We automatically generate a restful
endpoint for you to fill this out.

154
00:06:16,556 --> 00:06:21,536
There's a payload of data that gets auto
generated and you just make a request

155
00:06:21,536 --> 00:06:23,096
to that endpoint with your API key.

156
00:06:23,096 --> 00:06:25,046
And you should receive a filled out PDF.

157
00:06:25,640 --> 00:06:26,210
I'm a little,

158
00:06:26,290 --> 00:06:27,280
Gobsmacked right now.

159
00:06:27,280 --> 00:06:29,380
Having had tried to build something on,

160
00:06:29,430 --> 00:06:30,180
DocuSign,

161
00:06:30,430 --> 00:06:31,930
APIs in particular, like

162
00:06:32,090 --> 00:06:35,870
The complexity that large companies
can inject into a process like

163
00:06:35,870 --> 00:06:37,610
this can be pretty mind numbing.

164
00:06:37,950 --> 00:06:39,060
And it's hard to see when you're that big.

165
00:06:39,060 --> 00:06:41,400
I've worked for great big
corporations, I've worked for

166
00:06:41,400 --> 00:06:42,870
n equals one corporations, and,

167
00:06:43,150 --> 00:06:44,560
No fault in either direction.

168
00:06:45,120 --> 00:06:48,540
But like that, what you've just
described sounds like the dream I needed,

169
00:06:48,570 --> 00:06:50,040
When I was working on this the last time.

170
00:06:50,330 --> 00:06:50,480
And

171
00:06:50,480 --> 00:06:52,040
It's a really interesting tool.

172
00:06:52,070 --> 00:06:55,310
Like that is something that I think
fundamentally, anyone whose business

173
00:06:55,310 --> 00:06:58,430
has some overlap into the real world
where a printer might be involved,

174
00:06:58,480 --> 00:06:59,230
Can use this

175
00:06:59,230 --> 00:07:00,160
And has some value for it.

176
00:07:00,300 --> 00:07:02,190
I'll actually maybe give you
an example from my world.

177
00:07:02,200 --> 00:07:04,570
Outside of APIs, we won't hate or
run a startup called Craftwork.

178
00:07:04,570 --> 00:07:07,300
We're a vertically integrated home
painting company, and one of the things

179
00:07:07,300 --> 00:07:11,920
we deal with a lot is we get invoices
and receipts from a paint supplier.

180
00:07:11,920 --> 00:07:13,030
So a paint store.

181
00:07:13,030 --> 00:07:14,770
We go and order paint for a project.

182
00:07:14,770 --> 00:07:15,130
It'll have

183
00:07:15,130 --> 00:07:15,940
The associated.

184
00:07:16,225 --> 00:07:17,275
Project that it's with.

185
00:07:17,275 --> 00:07:18,595
So it might be like Mike's house,

186
00:07:18,645 --> 00:07:20,955
And here's the 10 gallons of paint
we ordered and the four paint

187
00:07:20,955 --> 00:07:23,835
brushes and the primer and all the
other stuff that's needed there.

188
00:07:24,055 --> 00:07:26,785
Those per company are
generally pretty standardized.

189
00:07:27,025 --> 00:07:31,135
However, that's like another form
of oddly unstructured data in that

190
00:07:31,135 --> 00:07:32,185
it's an invoice that can have,

191
00:07:32,255 --> 00:07:33,995
One or 10 or 50 rows.

192
00:07:34,215 --> 00:07:36,315
And I don't necessarily
have, let's call it like

193
00:07:36,325 --> 00:07:37,705
A blank version of that.

194
00:07:38,065 --> 00:07:39,385
In, in your world, is that

195
00:07:39,385 --> 00:07:39,775
Should I go

196
00:07:39,775 --> 00:07:43,135
And find a way to regenerate that
sort of template with a blank?

197
00:07:43,325 --> 00:07:45,665
Is there a story for
that with Anvil as well?

198
00:07:45,665 --> 00:07:46,445
Is that something that,

199
00:07:46,545 --> 00:07:47,865
Is a use case you're interested in?

200
00:07:47,865 --> 00:07:48,675
Yeah, absolutely.

201
00:07:48,675 --> 00:07:52,355
I think when it comes to
extracting data out of PDFs, we

202
00:07:52,355 --> 00:07:53,645
don't actually do that today.

203
00:07:53,955 --> 00:07:57,555
Our thesis has always been, and I
said we don't actually do that today.

204
00:07:57,555 --> 00:07:59,595
Actually, I don't know if we'll
ever do it, let's be honest.

205
00:07:59,785 --> 00:08:03,205
Our thesis has always been
that we already live in a world

206
00:08:03,205 --> 00:08:04,375
of a lot of structured data.

207
00:08:04,825 --> 00:08:08,215
And instead of destructuring it
and putting it into a PDF, and then

208
00:08:08,215 --> 00:08:12,990
having somebody pull that unstructured
data out of a PDF with OCR and lLM

209
00:08:12,990 --> 00:08:16,320
text extraction methods it should
just be structured the whole time.

210
00:08:16,320 --> 00:08:19,260
Like the PDF becomes an
artifact of the process.

211
00:08:19,420 --> 00:08:24,710
And so one way that I would think about
your problem in this ideal future is

212
00:08:25,210 --> 00:08:32,540
when an invoice is generated as a PDF
the actual data that went into generating

213
00:08:32,540 --> 00:08:35,720
the PDF should be attached in the
PDF as metadata that is structured.

214
00:08:36,115 --> 00:08:39,625
And so if you're like receiving the PDF
instead of parsing it out with computer

215
00:08:39,625 --> 00:08:43,335
vision and whatnot and overcomplicating
it with this Rube Goldberg machine that

216
00:08:43,335 --> 00:08:47,060
you've created you just go read the
data out and parse it into your system.

217
00:08:47,060 --> 00:08:50,630
And so this is actually like a hack week
project that I did, which was I really

218
00:08:50,630 --> 00:08:53,810
wanted to take that structured data.

219
00:08:54,230 --> 00:08:56,450
Concept to the next level with PDFs.

220
00:08:56,550 --> 00:09:00,260
And Anvil does a lot with collecting data.

221
00:09:00,260 --> 00:09:02,000
We have a workflow tool, we call it.

222
00:09:02,090 --> 00:09:04,130
It collects data on the
front end with a web form.

223
00:09:04,250 --> 00:09:05,060
It's dynamic.

224
00:09:05,120 --> 00:09:08,480
There's lots of logic, and then
it generates the corresponding set

225
00:09:08,480 --> 00:09:10,070
of documents that you need, right?

226
00:09:10,910 --> 00:09:14,840
But really what I want to do is
embed all that data as metadata

227
00:09:14,840 --> 00:09:19,950
alongside as the PDF, so that anybody
could go pull it out if they knew

228
00:09:19,950 --> 00:09:21,960
it was a anvil generated document.

229
00:09:22,410 --> 00:09:25,680
Or hopefully this becomes like
an open standard, and then PDFs

230
00:09:25,680 --> 00:09:27,210
literally become packets, right?

231
00:09:27,210 --> 00:09:29,940
It's like it's, there's like the
internet packets and then there's

232
00:09:29,940 --> 00:09:33,120
like the packet that like the average,
normal lay person would think of.

233
00:09:33,120 --> 00:09:36,510
It's like a packet of PDFs that
then get passed around and the

234
00:09:36,510 --> 00:09:37,680
data can just be extracted.

235
00:09:38,290 --> 00:09:39,910
So that, that's our take on it.

236
00:09:39,990 --> 00:09:43,880
But we live in a messy world
and there is a lot of a lot of.

237
00:09:44,480 --> 00:09:47,360
Unstructured data living in PDFs today,
and I think there's lots of really

238
00:09:47,360 --> 00:09:49,160
great companies that are tackling it.

239
00:09:49,210 --> 00:09:54,530
From the, the legacy OCR companies and
RPA companies to the newer crop of 'em

240
00:09:54,530 --> 00:09:56,570
that came along in this gen AI world.

241
00:09:56,925 --> 00:09:59,385
The idea that A PDF might have
structured data embedded in

242
00:09:59,385 --> 00:10:00,555
it right now makes me wanna go

243
00:10:00,605 --> 00:10:01,835
Dive into my hex editor

244
00:10:01,835 --> 00:10:03,545
And figure out what I've
been missing this whole time.

245
00:10:03,545 --> 00:10:05,165
Like genuinely, that's
never crossed my mind

246
00:10:05,165 --> 00:10:06,035
That's even possible

247
00:10:06,050 --> 00:10:07,760
they, the funny thing is
they don't, most of them do

248
00:10:07,895 --> 00:10:08,315
Yeah.

249
00:10:08,780 --> 00:10:13,070
it was really, actually, I, as far
as I know, nobody, the, all of the

250
00:10:13,070 --> 00:10:18,140
metadata that gets embedded into the
PDF is not the data that's on the PDF.

251
00:10:18,170 --> 00:10:20,870
It's it's oh, this person
signed the document.

252
00:10:20,870 --> 00:10:22,220
It's that kind of information.

253
00:10:22,550 --> 00:10:24,380
But why not take it a step further?

254
00:10:24,380 --> 00:10:27,195
I don't understand why nobody's
really done it that way, but

255
00:10:27,250 --> 00:10:27,460
That's

256
00:10:27,460 --> 00:10:29,290
No different than putting
an image in a document.

257
00:10:29,450 --> 00:10:29,900
That's crazy.

258
00:10:30,080 --> 00:10:30,920
That's such a good idea.

259
00:10:30,950 --> 00:10:31,820
I really like that.

260
00:10:32,160 --> 00:10:33,450
You also mentioned documents,

261
00:10:33,480 --> 00:10:34,260
Signing as well.

262
00:10:34,260 --> 00:10:35,340
That's something that you serve.

263
00:10:35,670 --> 00:10:36,720
So it feels like you've got a

264
00:10:36,720 --> 00:10:37,710
Pretty complete picture for

265
00:10:37,750 --> 00:10:39,730
Populate this thing and
then go ask for a signature.

266
00:10:39,760 --> 00:10:40,210
Is that right?

267
00:10:41,080 --> 00:10:41,950
Yeah, absolutely.

268
00:10:41,950 --> 00:10:46,170
We found that was like a very natural
point for Anvil to move towards after

269
00:10:46,170 --> 00:10:47,790
building the first version of Anvil.

270
00:10:48,280 --> 00:10:51,165
We really think of paperwork as.

271
00:10:51,165 --> 00:10:55,875
Both a mechanism for data transport,
like moving data between individuals and

272
00:10:55,875 --> 00:11:01,665
organizations, but also a mechanism for
describing a business process, right?

273
00:11:01,665 --> 00:11:06,255
A lot of times a business operates
on a set of documents and they

274
00:11:06,255 --> 00:11:09,615
have to be completed in a certain
manner, in a certain order.

275
00:11:09,965 --> 00:11:16,375
And that essentially is a codification
of what that company does and

276
00:11:16,425 --> 00:11:20,775
people leave, people come, but
like the process stays the same.

277
00:11:21,435 --> 00:11:21,705
Yeah.

278
00:11:22,570 --> 00:11:24,310
It sounds like you've been
through a few different phases.

279
00:11:24,310 --> 00:11:26,050
I don't know if you mentioned
before, how old is the company?

280
00:11:27,005 --> 00:11:30,355
We're about seven and a half years
so been around for a hot second.

281
00:11:30,625 --> 00:11:35,175
Back to the statement earlier about
something I wanted to work on for five 10

282
00:11:35,175 --> 00:11:37,110
or maybe even longer in terms of years.

283
00:11:37,160 --> 00:11:37,670
Yeah.

284
00:11:37,670 --> 00:11:38,600
I'm curious then, like

285
00:11:38,600 --> 00:11:40,820
You've evolved over the past seven years.

286
00:11:41,030 --> 00:11:44,000
What did your first crop of customers
look like and how did you find them?

287
00:11:44,000 --> 00:11:45,320
And then what do they look like now and

288
00:11:45,320 --> 00:11:46,310
How has that changed?

289
00:11:46,683 --> 00:11:46,863
yeah.

290
00:11:46,863 --> 00:11:51,088
Our first crop of customers we were
really targeting non-technical people.

291
00:11:51,088 --> 00:11:53,758
The whole premise was, Hey, we're
gonna create a set of tools.

292
00:11:54,198 --> 00:11:56,628
We actually, so we actually
built the workflow tool first.

293
00:11:56,628 --> 00:11:58,758
A set of tools that where
you can take documents.

294
00:11:58,758 --> 00:12:03,138
And upload it into Anvil and Anvil,
then automatically create an online

295
00:12:03,138 --> 00:12:06,408
form for you that you can then share
with people to collect the data.

296
00:12:06,408 --> 00:12:08,868
So the premise was TurboTax, anything.

297
00:12:09,258 --> 00:12:11,988
So our first customer was
actually they're a great customer,

298
00:12:11,988 --> 00:12:13,038
still a customer of ours.

299
00:12:13,088 --> 00:12:13,898
First Ascent.

300
00:12:13,928 --> 00:12:15,788
They're now part of geo wealth.

301
00:12:15,818 --> 00:12:17,973
They are a giant, kinda
like wealth management.

302
00:12:18,623 --> 00:12:20,153
Back office firms.

303
00:12:20,153 --> 00:12:23,873
So wealth advisors would choose
them to manage all the documents and

304
00:12:23,873 --> 00:12:28,133
paperwork and they would handle the
account opening documents, they would

305
00:12:28,133 --> 00:12:30,383
handle the transition, all that stuff.

306
00:12:30,433 --> 00:12:32,773
As well as like investment
strategies and stuff like that.

307
00:12:32,773 --> 00:12:35,203
That's, that was our first customer.

308
00:12:35,203 --> 00:12:40,513
We effectively built Anvil
around their use case.

309
00:12:40,563 --> 00:12:42,183
They were like a design
partner, which was.

310
00:12:42,933 --> 00:12:47,748
Honestly a really lucky
first experience, right?

311
00:12:47,828 --> 00:12:52,598
There was just so much about the way
paperwork works and the way companies

312
00:12:52,598 --> 00:12:56,801
manage documents that, was so much more
complicated than what we had anticipated.

313
00:12:56,981 --> 00:12:59,741
I think the most telling thing
for me is like there's just a

314
00:12:59,741 --> 00:13:04,031
lot of tribal knowledge that
lives in individual's heads that.

315
00:13:04,406 --> 00:13:08,226
If you're trying to codify it and
translate it into a workflow you really

316
00:13:08,226 --> 00:13:10,296
need to like, pull it out of 'em.

317
00:13:10,386 --> 00:13:13,002
Oftentimes they don't even realize
it's tribal knowledge and because

318
00:13:13,002 --> 00:13:16,782
it was such a complex use case, we
actually built a pretty robust system.

319
00:13:17,292 --> 00:13:19,812
Fast forward a couple
years, what we realized was.

320
00:13:19,812 --> 00:13:24,822
A lot of our friends were building
companies in these legacy industries and

321
00:13:24,822 --> 00:13:28,302
they were running into this problem where
they had to generate documents and they

322
00:13:28,302 --> 00:13:30,192
kept coming to us asking us for an API.

323
00:13:30,582 --> 00:13:34,532
So we just decided to productionize
our own internal APIs, expose

324
00:13:34,532 --> 00:13:38,282
'em, make it easy for kinda like
technology customers to use us.

325
00:13:38,282 --> 00:13:42,032
And nowadays the vast majority
of our customers are actually

326
00:13:42,032 --> 00:13:45,902
like early to growth sage
technology customers that find us.

327
00:13:46,232 --> 00:13:50,712
Read our APIs may maybe the lms
the agents read our APIs and then

328
00:13:50,712 --> 00:13:53,082
implements us into their system.

329
00:13:53,132 --> 00:13:57,062
So yeah, we're pretty deeply
embedded into organizations and

330
00:13:57,112 --> 00:14:00,762
we generally power like a pretty
important stack and their business.

331
00:14:01,152 --> 00:14:01,242
Yeah.

332
00:14:01,287 --> 00:14:02,547
I will say, yeah, definitely.

333
00:14:02,547 --> 00:14:03,657
As someone,

334
00:14:03,657 --> 00:14:07,557
Building tools for a old industry
that's a early to growth stage

335
00:14:07,557 --> 00:14:08,587
company, I think that's like.

336
00:14:09,222 --> 00:14:12,282
I can draw a lot of circles around things
I need that are document driven right now.

337
00:14:12,282 --> 00:14:13,932
It's a really interesting
problem to solve.

338
00:14:14,312 --> 00:14:17,072
And I can imagine many types of
companies that would be into that.

339
00:14:17,472 --> 00:14:19,962
I'm curious what you can tell me
about how the software is built.

340
00:14:19,962 --> 00:14:22,182
So from architecture to,

341
00:14:22,462 --> 00:14:23,992
the types of engineers that work for you.

342
00:14:23,992 --> 00:14:25,432
What are, how are you building this?

343
00:14:25,432 --> 00:14:25,612
And,

344
00:14:25,832 --> 00:14:27,002
I dunno, what does your team look like?

345
00:14:27,822 --> 00:14:28,152
Yeah.

346
00:14:28,152 --> 00:14:31,812
So from a technology stack perspective,
it's a pretty standard stack.

347
00:14:31,812 --> 00:14:32,862
It's no js.

348
00:14:33,307 --> 00:14:36,487
GraphQL endpoints and
react on the front end.

349
00:14:36,937 --> 00:14:43,437
We also have a fairly robust like
PDF library that we it's an open

350
00:14:43,437 --> 00:14:47,757
source library that we've then
wrapped in this nice web experience.

351
00:14:47,757 --> 00:14:50,757
So there's a lot, a fair amount
of Java in our code as well.

352
00:14:50,837 --> 00:14:52,037
For better or worse, and.

353
00:14:53,132 --> 00:14:55,592
Yeah so that's the joke is always
oh, it makes sense that the

354
00:14:55,592 --> 00:15:00,182
ultimate enterprise file format
is also written in the ultimate

355
00:15:00,182 --> 00:15:02,312
enterprise language, which is Java.

356
00:15:02,322 --> 00:15:03,042
Of course.

357
00:15:03,142 --> 00:15:04,612
And so that's the stack.

358
00:15:04,712 --> 00:15:06,932
In terms of our team,
we're a very lean team.

359
00:15:06,982 --> 00:15:10,272
We're a team of seven and it's
about half engineering and.

360
00:15:10,942 --> 00:15:12,232
Half non-engineering.

361
00:15:12,572 --> 00:15:15,212
Everybody's fairly technical,
I will say on our team.

362
00:15:15,262 --> 00:15:17,812
And I say half engineering 'cause
I count myself as half an engineer,

363
00:15:17,812 --> 00:15:19,342
so that makes it exactly half.

364
00:15:19,622 --> 00:15:23,372
And yeah and so it's, we run pretty lean.

365
00:15:23,402 --> 00:15:27,662
The nice thing is our product is,
generally speaking, very self-serve.

366
00:15:27,812 --> 00:15:32,552
We tried a heavy sales motion early
on, but just given our ICP, which

367
00:15:32,552 --> 00:15:34,772
is engineers and product people.

368
00:15:36,122 --> 00:15:37,232
didn't want to get on sales calls.

369
00:15:37,262 --> 00:15:39,362
We just, they just wanted
to have access to the docks.

370
00:15:39,362 --> 00:15:42,842
They wanted to have a dev sandbox.

371
00:15:42,842 --> 00:15:44,012
They wanted to kick the tires.

372
00:15:44,042 --> 00:15:47,282
And that's how a lot of
our customers come to us.

373
00:15:47,322 --> 00:15:53,712
They start paying us 5 cents, 10
cents, a hundred dollars, $2,000 a

374
00:15:53,712 --> 00:15:56,472
month, and then it just becomes like
a real, it becomes a real account.

375
00:15:56,532 --> 00:15:56,862
Yeah.

376
00:15:57,522 --> 00:15:57,912
Yeah,

377
00:15:57,912 --> 00:15:58,122
I,

378
00:15:58,312 --> 00:16:00,832
Am guilty of diving into your
docs and looking at things,

379
00:16:00,862 --> 00:16:02,602
as I've been like preparing
for this interview.

380
00:16:02,602 --> 00:16:02,752
And,

381
00:16:03,132 --> 00:16:04,542
A few things stood out to me that

382
00:16:04,542 --> 00:16:08,802
are very bright green signals for me as
a developer is, I'll start by saying that

383
00:16:08,862 --> 00:16:11,622
if you're listening to this podcast, you
should go check out Anvil's docs pages.

384
00:16:11,652 --> 00:16:13,002
'cause they're so well organized.

385
00:16:13,002 --> 00:16:14,562
They're beautiful, they're like in

386
00:16:14,752 --> 00:16:15,292
Thought out.

387
00:16:15,292 --> 00:16:16,582
They have nice API reference.

388
00:16:16,582 --> 00:16:18,832
It's like whoever worked on those,
give them a high five for me.

389
00:16:18,832 --> 00:16:19,222
That's,

390
00:16:19,552 --> 00:16:23,662
What I would say is do that and then
think of any other PDF, like API you can

391
00:16:23,662 --> 00:16:25,162
think of and go look at the difference.

392
00:16:25,162 --> 00:16:25,312
And

393
00:16:25,312 --> 00:16:27,172
As an engineer, I feel like
you can feel the difference.

394
00:16:27,222 --> 00:16:30,012
If you're selling to engineers,
in my eyes, that sells itself.

395
00:16:30,432 --> 00:16:33,252
I've, I'm also like
really happy to see that,

396
00:16:33,302 --> 00:16:34,652
Your pricing is pretty transparent.

397
00:16:34,812 --> 00:16:36,522
Do you wanna talk a little bit
about the pricing strategy?

398
00:16:37,352 --> 00:16:38,132
Yeah, absolutely.

399
00:16:38,182 --> 00:16:40,072
It is pretty much pay as you go.

400
00:16:40,352 --> 00:16:42,332
It's 10 cents A PDF generation.

401
00:16:42,332 --> 00:16:45,302
It's a dollar 50 for a
completed signature packet.

402
00:16:45,302 --> 00:16:46,487
And I say completed because.

403
00:16:47,487 --> 00:16:51,717
All of the other, or not all, but
99% of the other e-sign providers,

404
00:16:51,717 --> 00:16:55,737
they charge you on send regardless
of if the signatures were completed.

405
00:16:56,247 --> 00:16:58,627
And so we really want
to align value there.

406
00:16:58,627 --> 00:17:01,417
And then it's a dollar
for a workflow submission.

407
00:17:01,417 --> 00:17:05,797
So a workflow is a web form that can
be pretty complex or multiple web

408
00:17:05,797 --> 00:17:07,987
forms that then populate multiple PDFs.

409
00:17:08,087 --> 00:17:12,247
We do also have some kind of like
platform fee type fee pricing.

410
00:17:12,862 --> 00:17:16,582
Specifically if you want like white
labeling or some high, more advanced

411
00:17:16,582 --> 00:17:20,962
features, those are a monthly platform
fee or an annual platform fee.

412
00:17:21,482 --> 00:17:24,002
And then enterprise is similar.

413
00:17:24,002 --> 00:17:25,232
It's a larger platform fee.

414
00:17:25,232 --> 00:17:30,062
You have more advanced features, you get
more support, and then of course, as usage

415
00:17:30,062 --> 00:17:32,522
scales, you're able to buy discounted.

416
00:17:32,897 --> 00:17:33,437
Usage.

417
00:17:33,807 --> 00:17:37,357
So overall we want to scale with you.

418
00:17:37,357 --> 00:17:41,317
We wanna make it easy for you to start
and not pay a bunch up front, but

419
00:17:41,317 --> 00:17:44,347
if you do start using us a lot, we
don't want to be nickel and dimming

420
00:17:44,347 --> 00:17:45,947
you at retail prices, essentially.

421
00:17:46,382 --> 00:17:47,612
What I like about that is,

422
00:17:47,642 --> 00:17:48,542
It's predictable.

423
00:17:48,542 --> 00:17:50,642
If you can look at that and
understand how it fits into your

424
00:17:50,642 --> 00:17:52,052
world as a team, building something,

425
00:17:52,392 --> 00:17:53,622
But also accessible enough,

426
00:17:53,652 --> 00:17:54,942
If I want to test it and see if,

427
00:17:54,972 --> 00:17:56,682
My first a hundred documents,

428
00:17:56,682 --> 00:17:59,502
Makes sense and work and fits
my team's use case, that's

429
00:17:59,682 --> 00:18:01,122
not a insurmountable thing,

430
00:18:01,172 --> 00:18:03,152
The first a hundred documents
will actually be free.

431
00:18:03,182 --> 00:18:05,372
'cause when you plop on a credit
card, we give you a bunch of

432
00:18:05,372 --> 00:18:07,162
free credit for production usage.

433
00:18:07,552 --> 00:18:10,152
So I believe it's don't quote me on this.

434
00:18:10,182 --> 00:18:13,062
I believe it's a thousand
PDF generations and.

435
00:18:13,782 --> 00:18:17,742
Like 50 workflows or 50 signatures.

436
00:18:17,742 --> 00:18:19,542
I'll have to double check,
but it is pretty generous.

437
00:18:19,542 --> 00:18:23,552
We do want you to I think we want
you to build as a developer and use

438
00:18:23,552 --> 00:18:28,652
the dev keys and all that stuff, and
that's pretty much the full experience.

439
00:18:28,652 --> 00:18:32,872
You get access to pretty much everything
When you flip into production, we remove

440
00:18:32,872 --> 00:18:34,012
the watermarks and stuff like that.

441
00:18:34,012 --> 00:18:35,932
We do want to give you
enough credit to actually.

442
00:18:36,292 --> 00:18:40,437
Run it into production in a meaningful
way so that you have confidence that you

443
00:18:40,437 --> 00:18:41,967
can build your business on top of this.

444
00:18:42,712 --> 00:18:43,552
Yeah, I like that too.

445
00:18:43,552 --> 00:18:44,332
I walked right into

446
00:18:44,332 --> 00:18:45,412
Your free tier as well.

447
00:18:45,412 --> 00:18:45,652
I,

448
00:18:45,702 --> 00:18:46,152
Promise I

449
00:18:46,152 --> 00:18:47,472
Didn't try to do that, but

450
00:18:47,472 --> 00:18:48,072
That's true.

451
00:18:48,312 --> 00:18:50,322
And so from what I remember,
looking through your docs,

452
00:18:50,372 --> 00:18:52,407
You are GraphQL and rest endpoint

453
00:18:52,407 --> 00:18:53,037
Driven, right?

454
00:18:53,037 --> 00:18:53,637
So there's like

455
00:18:53,827 --> 00:18:54,397
Our API,

456
00:18:54,737 --> 00:18:57,677
Homies listening to the podcast will
be really interested in what that all,

457
00:18:57,867 --> 00:18:58,497
Looks like.

458
00:18:58,827 --> 00:18:59,457
Do you have,

459
00:18:59,487 --> 00:18:59,937
is it,

460
00:18:59,967 --> 00:19:01,467
Primarily like rest endpoints

461
00:19:01,467 --> 00:19:02,172
In GraphQL?

462
00:19:02,172 --> 00:19:02,562
Do you have,

463
00:19:02,612 --> 00:19:04,262
Client SDKs in, written in,

464
00:19:04,312 --> 00:19:05,542
Java, whatever c

465
00:19:05,942 --> 00:19:07,202
Node languages Or is it,

466
00:19:07,252 --> 00:19:08,332
Or documentation around

467
00:19:08,492 --> 00:19:10,247
Send a request that looks like
this and this is what will happen.

468
00:19:11,602 --> 00:19:12,052
Yeah.

469
00:19:12,107 --> 00:19:15,947
So we do have client sks that
we've written and we publish.

470
00:19:16,047 --> 00:19:21,477
They are, I believe there's a JavaScript
one, a C one, there's a Python one.

471
00:19:22,172 --> 00:19:25,532
And we generally try to be pretty
good about maintaining them.

472
00:19:25,582 --> 00:19:29,182
Occasionally we do get some people writing
in and then we dive in there and go fix

473
00:19:29,182 --> 00:19:33,502
it, and we do ask if somebody has a fix,
please feel free to open up pull request.

474
00:19:33,902 --> 00:19:35,462
So we do have a lot of
pre-written libraries.

475
00:19:36,062 --> 00:19:38,882
They're mostly just like client wrappers.

476
00:19:38,932 --> 00:19:44,342
Our API is pretty hopefully pretty, pretty
simple to understand and integrate with.

477
00:19:44,442 --> 00:19:46,332
And so I think that.

478
00:19:46,432 --> 00:19:49,242
If you're just making web
requests it's pretty easy.

479
00:19:49,292 --> 00:19:53,912
The client libraries do nice things
like handle multi-part uploads for

480
00:19:53,912 --> 00:19:58,262
you if you're uploading a large
PDF to be templatized or handle,

481
00:19:58,262 --> 00:20:01,022
like automatically handle rate
limiting four, two nines for you.

482
00:20:01,022 --> 00:20:04,142
And using your encryption
keys and stuff like that.

483
00:20:04,142 --> 00:20:08,552
So it's really just like nice helper
functions to, to get you started faster.

484
00:20:09,082 --> 00:20:11,092
One of the other things I wanted
to mention too is you have quite

485
00:20:11,092 --> 00:20:14,242
A broad list of like open source
things published on Anil's,

486
00:20:14,292 --> 00:20:15,612
GitHub, which is really cool to see.

487
00:20:15,762 --> 00:20:16,662
And also nice that

488
00:20:16,662 --> 00:20:17,052
You're,

489
00:20:17,152 --> 00:20:19,852
Open to and willing to like,
accept community driven,

490
00:20:19,902 --> 00:20:20,952
Changes and whatnot.

491
00:20:21,232 --> 00:20:21,802
Especially,

492
00:20:21,802 --> 00:20:23,872
Keeping up with lots of
languages can be a challenge and,

493
00:20:24,152 --> 00:20:26,702
getting the, like
developer flavored change

494
00:20:26,702 --> 00:20:27,482
Is often.

495
00:20:27,642 --> 00:20:28,782
Really useful, especially,

496
00:20:28,822 --> 00:20:31,387
If it's like not your
specific native language,

497
00:20:31,487 --> 00:20:32,507
Yeah, absolutely.

498
00:20:32,507 --> 00:20:32,987
Absolutely.

499
00:20:32,987 --> 00:20:34,847
And I'll say, actually
just a quick call out.

500
00:20:34,847 --> 00:20:41,357
If anybody out there is looking for a
documentation reference docs generation

501
00:20:41,357 --> 00:20:48,767
system for GraphQL check out spectacle,
that's S-P-E-C-T-A-Q-L that is the

502
00:20:48,767 --> 00:20:53,207
system we use and we op, we open source
for generating our reference docs for

503
00:20:53,412 --> 00:20:53,522
very cool.

504
00:20:54,367 --> 00:20:58,117
It was a fork from a previous project that
kind of got abandoned and we updated it.

505
00:20:58,117 --> 00:20:59,017
And yeah.

506
00:20:59,077 --> 00:21:02,147
Now whenever we push a new endpoint
or change something it just

507
00:21:02,147 --> 00:21:06,287
automatically compiles and creates a
new reference stocks for our endpoints.

508
00:21:07,127 --> 00:21:07,937
I will make sure

509
00:21:07,937 --> 00:21:09,047
That shows up in the show notes.

510
00:21:09,047 --> 00:21:11,147
So if you're listening to this, you
can scroll down to the description of

511
00:21:11,147 --> 00:21:12,677
your podcast and get right to that too.

512
00:21:13,117 --> 00:21:13,717
Can you tell me like

513
00:21:13,717 --> 00:21:15,157
Where your team is headed?

514
00:21:15,157 --> 00:21:16,717
What are the kinds of problems
you're looking at next?

515
00:21:17,857 --> 00:21:18,247
Oh man.

516
00:21:18,407 --> 00:21:18,947
So many.

517
00:21:18,997 --> 00:21:22,807
I think there's one to start maybe
revisiting the pricing question earlier.

518
00:21:23,107 --> 00:21:25,327
One thing we did last year was.

519
00:21:25,712 --> 00:21:29,852
Make any usage of Anvil from
our online experience free.

520
00:21:30,132 --> 00:21:32,292
The goal is really to
make Anvil accessible to

521
00:21:32,502 --> 00:21:33,852
non-technical people as well.

522
00:21:33,852 --> 00:21:38,382
So your ops team can send out a
signature packet and have that be free.

523
00:21:38,682 --> 00:21:41,952
And so that kind of plays into
what we're thinking about in 2026,

524
00:21:42,162 --> 00:21:45,762
which is we want to bring anvil
to places that people do work.

525
00:21:46,092 --> 00:21:48,642
And this is I think, a pretty
strong counter position

526
00:21:48,642 --> 00:21:50,172
against other e-sign providers.

527
00:21:50,202 --> 00:21:52,872
Other e-sign providers think of
themselves as the platform and then

528
00:21:52,872 --> 00:21:56,682
say, Hey, come to us and we will be
your one place to manage documents.

529
00:21:56,682 --> 00:22:00,022
And the fact of the matter is like
nobody's working out of DocuSign.

530
00:22:00,112 --> 00:22:02,512
They're working out of Salesforce,
they're working out of HubSpot.

531
00:22:03,142 --> 00:22:07,882
And so what Anvil's trying to do
is make it so they can connect

532
00:22:07,882 --> 00:22:09,652
Anvil to your Salesforce account.

533
00:22:10,747 --> 00:22:15,387
And then from within Salesforce, let's
say you can just say, generate us a sales

534
00:22:15,387 --> 00:22:17,127
contract and automatically generates it.

535
00:22:17,277 --> 00:22:20,457
You review it with our embedded
components all within Salesforce,

536
00:22:20,517 --> 00:22:21,747
and then send out for signature.

537
00:22:21,747 --> 00:22:26,067
So we wanna do this for Salesforce,
HubSpot, all of these like touch points

538
00:22:26,067 --> 00:22:28,497
where teams generally get work done.

539
00:22:29,492 --> 00:22:32,552
And a big one of, for the, for
that in the, forward looking

540
00:22:32,552 --> 00:22:34,442
is really MCP UI apps, right?

541
00:22:34,492 --> 00:22:35,392
Yeah, sure.

542
00:22:35,562 --> 00:22:39,412
chat, GPT, Claude Cowork where
somebody can say, I need to get this

543
00:22:39,412 --> 00:22:44,302
document signed, upload an anvil's
system automatically tags and labels.

544
00:22:44,302 --> 00:22:45,832
And they say here's a payload of data.

545
00:22:45,862 --> 00:22:46,552
Go fill it out.

546
00:22:46,552 --> 00:22:47,722
Send it out for signature.

547
00:22:47,822 --> 00:22:48,932
That's one aspect.

548
00:22:49,032 --> 00:22:52,602
The flip side of that is how do we
prevent agents from just randomly

549
00:22:52,602 --> 00:22:55,272
signing a bunch of stuff like
we need to know it's a human.

550
00:22:55,572 --> 00:22:59,952
So we got some pretty fun stuff fun
projects up our sleeves to create

551
00:22:59,952 --> 00:23:05,172
a frictionless way to identify an
individual as a human, not an agent.

552
00:23:05,682 --> 00:23:07,992
More on that to come, but that's
something we're working on

553
00:23:07,992 --> 00:23:10,182
probably in, in Q1, Q2 this year.

554
00:23:10,692 --> 00:23:13,972
And I think we'll be the first ones to
really tackle that problem beyond like a.

555
00:23:14,842 --> 00:23:18,022
Hey, set up a video camera, a
video call and notarize and have

556
00:23:18,022 --> 00:23:21,042
a notary or do one of those like
crazy face scan things, right?

557
00:23:21,042 --> 00:23:22,482
That nobody seems to like doing.

558
00:23:22,482 --> 00:23:24,462
So that's another one.

559
00:23:24,562 --> 00:23:29,462
And then the last project, which
is the bid project is goes back to

560
00:23:29,462 --> 00:23:33,902
how thinks of ourselves as a data
company, not so much a PDF company.

561
00:23:33,962 --> 00:23:36,752
Like the data, just the PDF is
an artifact and it just happens

562
00:23:36,752 --> 00:23:37,982
to be how the world operates.

563
00:23:38,787 --> 00:23:43,887
But one thing we do today is again,
you can upload your keys when

564
00:23:43,887 --> 00:23:48,177
you're tagging A PDF, and we will
automatically match your key schema

565
00:23:48,327 --> 00:23:50,697
to the schema of the document, right?

566
00:23:50,697 --> 00:23:51,777
So that makes it easy for you.

567
00:23:51,777 --> 00:23:55,137
Then create data payloads that are
easy for you to manipulate in your

568
00:23:55,137 --> 00:23:57,477
code and have that rendered onto A PDF.

569
00:23:58,807 --> 00:23:59,047
With.

570
00:24:00,112 --> 00:24:04,072
new project, what we're trying to do
is go beyond mapping a schema to A PDF.

571
00:24:04,072 --> 00:24:08,482
Imagine a world where you could
grab a payload of data in any schema

572
00:24:08,782 --> 00:24:10,372
and tell us the target schema.

573
00:24:10,642 --> 00:24:13,672
And an and anvil just
automatically translates that

574
00:24:13,672 --> 00:24:15,742
data into your target schema.

575
00:24:15,742 --> 00:24:17,182
So you can use it in whatever system.

576
00:24:17,182 --> 00:24:20,542
It could be a PDF, it could be
another application database,

577
00:24:20,542 --> 00:24:22,462
it could be your snowflake.

578
00:24:22,862 --> 00:24:25,802
So we already have this
general concept in Anvil.

579
00:24:25,802 --> 00:24:27,302
It's just very PDF oriented.

580
00:24:27,842 --> 00:24:28,132
Sure.

581
00:24:28,967 --> 00:24:32,807
The goal is to build it out so that
you can effectively install anvil

582
00:24:32,897 --> 00:24:38,197
in front of your application or,
wherever and just use it as a pass

583
00:24:38,197 --> 00:24:42,987
through for transforming data on the
fly to be consumed in another system.

584
00:24:43,057 --> 00:24:45,757
So that, that's really what
we're looking to, to work on

585
00:24:45,767 --> 00:24:47,177
in this year and in the future.

586
00:24:48,137 --> 00:24:49,667
It's a really cool use of the tools and

587
00:24:49,667 --> 00:24:51,347
Expanding your borders a little bit.

588
00:24:51,597 --> 00:24:53,577
And becoming the translator between,

589
00:24:53,857 --> 00:24:54,637
Adjacent,

590
00:24:55,127 --> 00:24:57,287
Namespace is a really interesting idea.

591
00:24:57,627 --> 00:25:00,267
I have spent a lot of my career, and
I'm sure a lot of people listening

592
00:25:00,267 --> 00:25:02,367
to this have spent a lot of their
career doing exactly that, where it's

593
00:25:02,367 --> 00:25:03,327
I don't know, we just get this.

594
00:25:03,552 --> 00:25:06,792
Garbage format from some COBOL
program from 700 years ago, and

595
00:25:06,792 --> 00:25:08,472
We need to convert it into this new thing.

596
00:25:08,652 --> 00:25:09,702
And so I'm gonna spend the next,

597
00:25:09,912 --> 00:25:13,302
Nine weeks writing a, an
intensive like JSON schema thing

598
00:25:13,302 --> 00:25:14,592
to translate things around.

599
00:25:14,592 --> 00:25:14,772
And,

600
00:25:15,092 --> 00:25:18,122
A lot of the world we're living in now
makes that easier and more interesting,

601
00:25:18,192 --> 00:25:19,062
And more capable for

602
00:25:19,062 --> 00:25:19,902
Everyone to do.

603
00:25:20,292 --> 00:25:21,012
That's super cool.

604
00:25:21,192 --> 00:25:21,612
I really like

605
00:25:21,612 --> 00:25:21,822
Yeah.

606
00:25:21,832 --> 00:25:24,112
Did I say the words AI
yet, or the word AI yet?

607
00:25:25,202 --> 00:25:28,072
The part of the reason of doing this is
actually, if you think about is actually

608
00:25:28,072 --> 00:25:31,992
really good at these types of matching
problems where it's you have this thing

609
00:25:31,992 --> 00:25:33,162
here and you have this thing here.

610
00:25:33,162 --> 00:25:36,042
And like a human could look at it and
be like, oh yeah, that makes sense.

611
00:25:36,042 --> 00:25:38,112
This field obviously
meet matches this key.

612
00:25:38,542 --> 00:25:41,672
But to do that derma
deterministically is quite difficult.

613
00:25:41,702 --> 00:25:45,272
You'll never run out of rules
to have to implement, but to do

614
00:25:45,272 --> 00:25:49,022
that with ai and lms, it's a lot.

615
00:25:49,117 --> 00:25:49,777
Easier.

616
00:25:49,777 --> 00:25:54,217
And so now we actually have this tool
that allows us to do that, and we think

617
00:25:54,217 --> 00:25:58,327
we have a unique data set that allows
us to do that better than anybody else.

618
00:25:58,357 --> 00:26:02,967
And we can actually fine tune and tr,
make these models work for this use case.

619
00:26:03,367 --> 00:26:07,547
That I think is actually a pretty
good moat as we build up this feature.

620
00:26:07,607 --> 00:26:07,787
Yeah.

621
00:26:08,087 --> 00:26:08,627
Definitely.

622
00:26:08,687 --> 00:26:09,917
Yeah, that sounds really interesting.

623
00:26:10,077 --> 00:26:12,357
You'll have to send that my
way as soon as it's available.

624
00:26:12,357 --> 00:26:13,377
I'd love to play around with it.

625
00:26:14,097 --> 00:26:15,057
I definitely will.

626
00:26:16,017 --> 00:26:17,457
Couple more small things for you.

627
00:26:17,507 --> 00:26:18,407
Is your team expanding?

628
00:26:18,407 --> 00:26:19,577
Are you looking to hire anytime soon?

629
00:26:20,447 --> 00:26:21,167
Yeah, absolutely.

630
00:26:21,167 --> 00:26:24,067
We are hiring specifically
looking for engineers.

631
00:26:24,117 --> 00:26:30,627
We are planning on hiring two-ish, two
to three-ish engineers, so if anybody's

632
00:26:30,627 --> 00:26:32,697
interested, please do check us out.

633
00:26:33,007 --> 00:26:36,487
I believe the jobs are posted on,
found, also known as Angel List.

634
00:26:36,567 --> 00:26:43,727
Anybody has deep experience with AI
ml and wants to be a full stack, just

635
00:26:43,727 --> 00:26:46,517
like a builder, I don't wanna say
you're not just focused on AI and ml,

636
00:26:46,517 --> 00:26:49,787
but you can be building the entire
application and be close to customers.

637
00:26:50,207 --> 00:26:51,337
Yeah, come check us out.

638
00:26:51,337 --> 00:26:53,582
We have some we have
some open roles there.

639
00:26:54,122 --> 00:26:54,692
Very cool.

640
00:26:54,722 --> 00:26:55,082
Yeah,

641
00:26:55,087 --> 00:26:56,062
I will be sure to,

642
00:26:56,112 --> 00:26:57,612
Stick that link in the bottom here too.

643
00:26:58,052 --> 00:27:00,452
The last thing I wanted to ask you
about is you host a podcast as well.

644
00:27:00,452 --> 00:27:01,262
Can you tell me about that?

645
00:27:01,262 --> 00:27:01,817
Gimme the pitch for your show.

646
00:27:03,182 --> 00:27:03,632
Yeah.

647
00:27:03,632 --> 00:27:04,202
Thanks Mike.

648
00:27:04,252 --> 00:27:10,002
We host a podcast called Build First
Buy and we get product leaders founders

649
00:27:10,002 --> 00:27:14,262
on our show to talk about their
decisions when they're building a

650
00:27:14,262 --> 00:27:15,912
new company, creating a new company.

651
00:27:16,357 --> 00:27:20,167
Their decision making around whether
to build something or buy something

652
00:27:20,167 --> 00:27:21,917
and specifically around technology.

653
00:27:21,917 --> 00:27:26,237
And I think there is a strong bias
to building in Silicon Valley.

654
00:27:26,267 --> 00:27:30,977
I think one guest that came on made
a very good point that like people

655
00:27:30,977 --> 00:27:35,067
in Silicon Valley are rewarded for
building but fundamentally there are

656
00:27:35,067 --> 00:27:36,537
just things that you probably shouldn't.

657
00:27:37,122 --> 00:27:39,882
Build if you're really trying
to move fast and launch.

658
00:27:39,882 --> 00:27:41,202
That's the conversation we have there.

659
00:27:41,202 --> 00:27:45,702
We've had 26, 27 episodes now
with some really great leaders.

660
00:27:46,132 --> 00:27:49,852
Many of them are people that I've been
fortunate enough to work with in the past.

661
00:27:49,902 --> 00:27:51,582
And yeah, would love for
people to check it out.

662
00:27:51,582 --> 00:27:55,752
It's bill verse buy look it up
with Anvil in the Google search.

663
00:27:55,752 --> 00:27:57,642
Or ask Claude to look it
up for you or something.

664
00:27:58,302 --> 00:27:58,482
Yeah.

665
00:27:58,487 --> 00:27:58,647
And.

666
00:27:59,427 --> 00:28:02,367
Hopefully you guys enjoyed
listening to that podcast as well.

667
00:28:02,832 --> 00:28:03,642
Yeah, definitely.

668
00:28:03,642 --> 00:28:05,112
We'll make sure to link that through too.

669
00:28:05,212 --> 00:28:07,132
Build versus buy is
the perpetual question,

670
00:28:07,182 --> 00:28:07,932
For all of us.

671
00:28:07,932 --> 00:28:08,082
And

672
00:28:08,302 --> 00:28:08,812
I agree with you.

673
00:28:08,812 --> 00:28:12,592
I think a lot of Silicon Valley
rewards building when like money

674
00:28:12,592 --> 00:28:14,122
works to make things happen too,

675
00:28:14,167 --> 00:28:15,727
We see that now as well, right?

676
00:28:15,727 --> 00:28:18,337
Like the whole premise around like
Clause is gonna build everything.

677
00:28:18,337 --> 00:28:21,247
You're just gonna prompt claw
code and know SaaS is dead.

678
00:28:21,297 --> 00:28:22,377
Maybe we'll get there.

679
00:28:22,407 --> 00:28:23,427
Maybe that is the future.

680
00:28:23,427 --> 00:28:27,057
But I think as of the current
state, Claude is great at building

681
00:28:27,057 --> 00:28:30,687
MVPs and actually, and great
at editing existing code bases.

682
00:28:30,987 --> 00:28:33,237
I think that's what it's really
good at and it is very powerful.

683
00:28:33,237 --> 00:28:38,847
I use it every day, but to productionize
something to make it scalable and reliable

684
00:28:38,847 --> 00:28:43,197
and resilient and you honestly have to go
through a couple fires and feel the pain.

685
00:28:43,827 --> 00:28:43,977
No.

686
00:28:43,977 --> 00:28:46,212
And then get a bunch of
phone calls and then, yeah.

687
00:28:46,212 --> 00:28:49,182
So we, I think we've battle
tested and battle hardened our

688
00:28:49,182 --> 00:28:50,652
system quite a bit at this point.

689
00:28:50,712 --> 00:28:51,942
You're speaking to my heart.

690
00:28:51,942 --> 00:28:54,042
I feel that deeply right
now, without a doubt.

691
00:28:54,792 --> 00:28:55,272
Right on.

692
00:28:55,342 --> 00:28:56,812
Manding, thank you for joining.

693
00:28:56,842 --> 00:28:58,402
I really appreciate
having you on the show.

694
00:28:58,512 --> 00:29:01,062
Before I let you go, where's the
best place to find you online and

695
00:29:01,062 --> 00:29:02,382
how do people find Anvil Online?

696
00:29:03,267 --> 00:29:03,597
Yeah.

697
00:29:03,597 --> 00:29:05,457
Best place to find me online is LinkedIn.

698
00:29:05,517 --> 00:29:06,117
Mange it.

699
00:29:06,117 --> 00:29:09,807
Just plot or just like Google, me, my
name's unique enough that I'm, I think

700
00:29:09,807 --> 00:29:11,757
I'm the first two pages of results.

701
00:29:11,947 --> 00:29:14,497
I most active on LinkedIn, I will say.

702
00:29:14,557 --> 00:29:17,617
And then Anvil is use anvil.com.

703
00:29:18,022 --> 00:29:19,552
We also have a YouTube channel.

704
00:29:19,582 --> 00:29:22,852
We have a TikTok and Instagram,
which you might think is funny

705
00:29:22,852 --> 00:29:25,582
for a B2B SaaS company, but
there's some funny videos there.

706
00:29:25,582 --> 00:29:27,712
I would say we, we work
with a really great agency.

707
00:29:27,762 --> 00:29:28,782
So check those out.

708
00:29:28,782 --> 00:29:32,652
Hopefully they're entertaining
and yeah, hope to hear from you.

709
00:29:32,712 --> 00:29:35,557
I'll maybe on LinkedIn
or on one of our social.

710
00:29:36,887 --> 00:29:37,307
Right on.

711
00:29:37,307 --> 00:29:37,787
That sounds great.

712
00:29:37,787 --> 00:29:39,137
We'll make sure to tag
you there when this,

713
00:29:39,137 --> 00:29:39,947
Goes live too.

714
00:29:40,007 --> 00:29:40,907
Mange, thanks for joining me.

715
00:29:40,907 --> 00:29:43,847
It was really great getting to know you
and super cool to chat about the product.

716
00:29:44,087 --> 00:29:45,407
I'm excited to see
where it goes from here.

717
00:29:45,872 --> 00:29:46,922
Thanks for having me on the show.

718
00:29:46,922 --> 00:29:47,607
It was a lot of fun.

719
00:29:47,887 --> 00:29:48,907
Of course, we'll catch you soon.

720
00:29:48,907 --> 00:29:49,192
Take care.