WEBVTT

NOTE
This file was generated by Descript 

00:00:00.050 --> 00:00:01.890
mike_bifulco: Hello, and
welcome back to APIs.

00:00:01.890 --> 00:00:02.730
You won't hate the podcast.

00:00:02.980 --> 00:00:04.530
My name is Mike Filko.

00:00:04.530 --> 00:00:07.490
I'm one of your co-hosts, and
today I'm joined by, uh, two

00:00:07.490 --> 00:00:11.129
friends of mine, including the,
uh, ever wandering Phil Sturgeon.

00:00:11.129 --> 00:00:11.930
Phil, how are you today?

00:00:12.514 --> 00:00:13.535
Track 1: Hey, how you doing?

00:00:13.704 --> 00:00:14.814
Um, uh, I'm good.

00:00:14.884 --> 00:00:16.535
I actually dunno where I currently am.

00:00:16.745 --> 00:00:19.974
Um, but uh, I have internet and that
seems like the most important thing.

00:00:19.980 --> 00:00:20.710
mike_bifulco: that's good.

00:00:20.710 --> 00:00:23.750
Yeah, you seem to be in good health
too, which is, uh, usually a relief.

00:00:24.193 --> 00:00:26.673
yeah, and we're here today
also speaking with our friend

00:00:26.673 --> 00:00:28.153
Josh Twist from Zulo, Josh.

00:00:28.153 --> 00:00:29.353
Uh, thanks for joining us today.

00:00:29.463 --> 00:00:31.033
josh_twist: Yeah, no, great to be here.

00:00:31.073 --> 00:00:34.073
Great to sort of meet you guys
in person and uh, yeah, thanks

00:00:34.073 --> 00:00:34.833
for having me on the show.

00:00:35.268 --> 00:00:35.778
mike_bifulco: of course.

00:00:35.963 --> 00:00:39.043
Interestingly enough, uh, you guys
have come on board as a sponsor for

00:00:39.043 --> 00:00:42.523
one of our sites, that, uh, APIs
Walnut Hate has developed along

00:00:42.523 --> 00:00:44.123
the way called Open api.tools.

00:00:44.403 --> 00:00:46.963
Open api.tools is just
what it sounds like.

00:00:46.963 --> 00:00:50.763
It is a, open source list of
tooling for working with open api.

00:00:50.963 --> 00:00:53.963
So if you're listening to the
show, you can head to the url.

00:00:53.963 --> 00:00:56.443
It's one of those funny top level
domains that sounds like it might

00:00:56.443 --> 00:00:57.843
not be real, but it is actually real.

00:00:58.003 --> 00:01:02.293
And there's a list of dozens
dozens of,  open API tooling that

00:01:02.293 --> 00:01:03.856
has been, cobbled together from.

00:01:04.346 --> 00:01:07.906
The APIs, you all hate community,
including, uh, myself and Phil and

00:01:07.906 --> 00:01:09.266
Matt Trask and a bunch of other people

00:01:09.266 --> 00:01:11.443
uh, You're welcome to submit
things you might want to add.

00:01:11.823 --> 00:01:15.726
And, you'll notice,  Zulo is our, uh,
prime sponsor for the site at the moment.

00:01:15.916 --> 00:01:16.636
Why don't we start there?

00:01:16.636 --> 00:01:19.876
Why don't you give the 32nd pitch for,
uh, what you're working on at Zulu,

00:01:19.876 --> 00:01:24.196
what, uh, what the story is and why
our API devs might be interested in it.

00:01:24.286 --> 00:01:26.856
josh_twist: 30 seconds is
quite a tight time slot.

00:01:26.986 --> 00:01:27.336
Um,

00:01:28.131 --> 00:01:29.411
Track 1: We have, we have
more questions, Kevin,

00:01:29.411 --> 00:01:30.051
about it as well.

00:01:30.051 --> 00:01:30.571
So don't worry.

00:01:30.571 --> 00:01:31.691
That's, that's not the whole thing,

00:01:31.776 --> 00:01:34.446
josh_twist: so yeah, I've
worked , let's sit podcast over.

00:01:34.736 --> 00:01:38.806
Uh, no, I've worked on, uh, I've
worked on in on APIs for a long time.

00:01:38.836 --> 00:01:41.646
I actually founded the Azure
API management product at

00:01:41.846 --> 00:01:42.926
Microsoft through an acquisition.

00:01:43.466 --> 00:01:47.406
And I've sort of sat watching
that whole industry for, I dunno,

00:01:47.406 --> 00:01:50.486
nearly 10 years, seven years,
somewhere between those two numbers.

00:01:51.186 --> 00:01:54.726
And I just felt that none of
the products were fun to use.

00:01:55.096 --> 00:01:56.766
Uh, there's like a, it's a red ocean.

00:01:56.766 --> 00:01:59.406
There's lots and lots of API
gateways and API management tools,

00:01:59.406 --> 00:02:00.686
but I think they have low N ps.

00:02:00.686 --> 00:02:02.646
They're really not designed for engineers.

00:02:03.376 --> 00:02:06.726
Um, and I just felt there was
time for a fresh take on it.

00:02:06.726 --> 00:02:12.846
And so we created Zulo in, uh, July
of 21 was when we founded the company.

00:02:12.846 --> 00:02:16.366
And we're, we're trying to bring a
really sort of fresh perspective to.

00:02:17.081 --> 00:02:20.421
API management and democratize the
technology is kind of our goal.

00:02:20.421 --> 00:02:23.941
So we wanna make it something that
every business would consider using.

00:02:23.941 --> 00:02:27.461
You know, API management today is
typically used by larger companies.

00:02:27.791 --> 00:02:30.501
Um, and I think it's
something startups should use.

00:02:30.501 --> 00:02:31.421
Like, don't spend time on this.

00:02:31.421 --> 00:02:35.621
We can do it faster, better, more
secure, uh, and cheaper than if

00:02:35.621 --> 00:02:37.141
you build this stuff yourself.

00:02:37.281 --> 00:02:41.661
And yeah, we're gonna do that by making it
easy, making it affordable, making it fun.

00:02:41.836 --> 00:02:42.036
Track 1: fun.

00:02:42.516 --> 00:02:43.006
Nice.

00:02:43.066 --> 00:02:47.166
You said a bunch of stuff in there and I
dunno what NPSs is and a bunch of those

00:02:47.166 --> 00:02:50.486
other things, but first we have to ask
the question, what is an APA gateway?

00:02:51.636 --> 00:02:52.506
josh_twist: Oh, is that to me,

00:02:52.596 --> 00:02:52.876
Track 1: to me?

00:02:52.916 --> 00:02:53.406
Yeah.

00:02:53.636 --> 00:02:54.346
josh_twist: oh God.

00:02:54.346 --> 00:02:54.666
Wow.

00:02:54.666 --> 00:02:56.506
I feel like I'm being tested now.

00:02:56.506 --> 00:02:57.346
Well, it's a gateway.

00:02:57.346 --> 00:02:59.386
And what's the difference
between API management is like

00:02:59.386 --> 00:03:01.546
a constant sort of, uh, debate.

00:03:01.596 --> 00:03:06.066
So, um, you know, a gateway at, to simple
level in my mind is, is, is sort of a

00:03:06.066 --> 00:03:12.306
layer, an architectural layer you put in
front of your, your APIs that typically

00:03:12.306 --> 00:03:19.426
take care of some sort of common, um, uh,
common concerns that, that, that you need

00:03:19.426 --> 00:03:20.946
when you're, when you're shipping APIs.

00:03:20.946 --> 00:03:26.946
So authentication, um, security,
uh, protection, like rate limiting,

00:03:27.716 --> 00:03:30.036
um, Uh, et cetera, et cetera.

00:03:30.096 --> 00:03:32.596
And so, you know, there's lots of
gateways in the market actually,

00:03:32.596 --> 00:03:34.276
that that market is really enormous.

00:03:34.326 --> 00:03:39.556
Uh, uh, you considered engine X and
um, uh, all of the platforms that

00:03:39.556 --> 00:03:41.796
are forked Engine X, um, that exist.

00:03:42.286 --> 00:03:45.836
Um, and then you've got API management,
which I think is, is, is API gateway

00:03:45.836 --> 00:03:49.196
plus plus that takes, that looks
after additional concerns and

00:03:49.196 --> 00:03:53.716
really tries to give you a holistic
way of managing a lot of APIs.

00:03:54.206 --> 00:03:58.156
In our case, we also try and make
it easier for people to ship APIs.

00:03:58.156 --> 00:04:00.996
So, so one of the things we say,
actually, both Mike and I worked at

00:04:00.996 --> 00:04:05.316
Stripe for a while, is that we helped
startups ship, uh, Stripe Quality api.

00:04:06.441 --> 00:04:07.211
Very quickly.

00:04:07.431 --> 00:04:10.211
And to do that, we take care of
your developer documentation.

00:04:10.261 --> 00:04:13.611
We call it the, the three pillars
actually of, of sort of shipping an api.

00:04:13.611 --> 00:04:16.091
You need protection, you
need authentication, and

00:04:16.091 --> 00:04:17.171
you need documentation.

00:04:17.171 --> 00:04:20.211
Like that's the bare minimum that
you want when shipping an api.

00:04:20.211 --> 00:04:22.851
So protection means things
like rate limiting and funny,

00:04:22.851 --> 00:04:24.331
like this happens all the time.

00:04:24.331 --> 00:04:27.931
And I talk to customers, they're like, I,
some half of people say I don't need rate

00:04:27.931 --> 00:04:32.291
limiting cuz I'm not gonna get attacked
by, uh, anonymous or this hacker gang.

00:04:32.291 --> 00:04:32.451
And.

00:04:32.736 --> 00:04:35.666
It's not the hackers that are gonna get
you, it's your customer that's gonna

00:04:35.666 --> 00:04:37.346
write a bad fall loop and take you down.

00:04:37.346 --> 00:04:40.146
And then the other half of customers are
like, yeah, this happened to me yesterday.

00:04:40.146 --> 00:04:44.416
useEffect in react is probably the
ultimate culprit for taking APIs down

00:04:44.486 --> 00:04:46.656
that don't have rate limiting in place.

00:04:47.146 --> 00:04:50.336
Um, so protection is, is things
like rate limiting and quotas.

00:04:50.666 --> 00:04:53.336
Uh, documentations fairly
self-explanatory I think.

00:04:53.336 --> 00:04:55.736
And then authentication is, you
know, what's your approach to orth?

00:04:55.736 --> 00:04:56.696
Are you gonna use Jot?

00:04:56.756 --> 00:04:58.296
Are you gonna say API keys?

00:04:58.296 --> 00:04:59.936
I have strong opinions on that as well.

00:05:00.036 --> 00:05:02.816
And we make those, you know, just
drag in a policy or drop at your

00:05:02.816 --> 00:05:05.096
ship you'd done and you can get on
focusing on your business logic.

00:05:05.346 --> 00:05:08.136
Um, so yeah, A quick take on
API management, API gateway,

00:05:08.616 --> 00:05:09.106
Track 1: Nice.

00:05:09.106 --> 00:05:11.306
We don't like strong
opinions on, on this podcast.

00:05:11.556 --> 00:05:14.186
Uh, we like to be fair and
balanced at all the things.

00:05:14.556 --> 00:05:16.066
Um, that's not true.

00:05:16.216 --> 00:05:17.186
That's pretty cool.

00:05:17.186 --> 00:05:20.386
And so what, what sort of,
um, users are you going for?

00:05:20.386 --> 00:05:23.106
Right, because there's, there's a
whole bunch of a API I Gateways and

00:05:23.106 --> 00:05:24.226
a p a management tools out there.

00:05:24.226 --> 00:05:27.586
There's, there's all like the
Enterprisey A and all of that.

00:05:27.586 --> 00:05:31.066
Um, there's, uh, every one of the
cloud solutions, like a Azure has one.

00:05:31.156 --> 00:05:33.866
Um, AWS has two for reasons.

00:05:34.236 --> 00:05:36.146
Um, there's, there's,
there's loads of 'em.

00:05:36.146 --> 00:05:39.986
Um, there's uh, tyke, there's Kong,
there's little JavaScript based ones.

00:05:39.986 --> 00:05:42.786
Like what, what separates
yours from all of them?

00:05:42.786 --> 00:05:43.866
Is it different personas?

00:05:43.866 --> 00:05:44.626
It different functionality?

00:05:45.901 --> 00:05:46.971
josh_twist: No, I don't.

00:05:47.411 --> 00:05:49.611
Interestingly, we've, we, we've
approached this a little bit

00:05:49.611 --> 00:05:51.051
unusually in terms of persona.

00:05:51.051 --> 00:05:54.171
I th I think there's definitely
differentiators that I could go into.

00:05:54.421 --> 00:05:57.851
Um, but actually one of the things when
we, you know, we're a newish company

00:05:57.851 --> 00:06:00.731
about year, year and a half coming,
uh, coming approaching two years,

00:06:01.391 --> 00:06:04.891
one of the things I was keen to do, I
mentioned democratizing API gateways.

00:06:05.181 --> 00:06:09.651
Um, I really wanted to build a
product that would span the needs of

00:06:09.651 --> 00:06:11.331
a large organization and a small one.

00:06:11.711 --> 00:06:17.171
And so one of the hypotheses we set
out to prove or disprove, uh, initially

00:06:17.171 --> 00:06:19.611
is, can you, does such a product exist?

00:06:19.611 --> 00:06:20.371
Can you do that?

00:06:21.046 --> 00:06:24.666
And, um, my belief was you
can, because actually the, the

00:06:24.666 --> 00:06:25.826
concerns are roughly the same.

00:06:25.826 --> 00:06:28.506
It's just the experience that
matters more to that low end.

00:06:29.076 --> 00:06:31.346
So we, you know, I feel
like we've done that.

00:06:31.346 --> 00:06:35.466
I've got, uh, a good number of
tiny customers that have like two

00:06:35.666 --> 00:06:38.226
employees and they just wanna ship
an API quickly and they're delighted

00:06:38.226 --> 00:06:42.706
that they have this great, um, uh,
they have this great experience that

00:06:42.706 --> 00:06:43.906
they didn't have to work so hard on.

00:06:44.046 --> 00:06:50.386
And I have, um, uh, customers with 5,000
employees, um, large contracts that we're

00:06:50.586 --> 00:06:55.266
considering, I won't name any names, but
you've already said them, um, in an rfp.

00:06:55.266 --> 00:06:56.706
And we went through a formal RFP process.

00:06:56.726 --> 00:06:59.506
And so what's really exciting to me
is we've kind of, I feel like we've

00:06:59.506 --> 00:07:02.586
proven that hypothesis recently
that a product can do both of those.

00:07:02.586 --> 00:07:06.306
You can build a product that's easy
to use and that's why these big

00:07:06.306 --> 00:07:08.026
companies are choosing us is because.

00:07:08.506 --> 00:07:11.586
They don't need to be sent on a training
course for a week to use sulo, but it

00:07:11.586 --> 00:07:15.226
can do pretty much everything the, the
bigger, more mature products can do.

00:07:15.226 --> 00:07:18.306
And it just fits into their,
their life cycle better fits into

00:07:18.306 --> 00:07:20.106
their, uh, developer workflow.

00:07:20.106 --> 00:07:21.746
That's a, been a massive focus for us.

00:07:23.246 --> 00:07:24.216
mike_bifulco: Yeah, it's interesting.

00:07:24.216 --> 00:07:27.256
It sounds like it fits sort of the
classification of products that like

00:07:27.256 --> 00:07:31.216
enables a lot of superpowers without,
uh, having to spin up an entire team

00:07:31.216 --> 00:07:36.336
of, of wizards or experts or whatever to
go and, uh, figure out how to, uh, you

00:07:36.336 --> 00:07:39.136
know, go around all the edge cases of
rate limiting and all of the things that,

00:07:39.136 --> 00:07:41.656
uh, your team is no doubt an expert on.

00:07:41.946 --> 00:07:44.776
Um, I, I tend to think that it's a
pretty good hallmark too of a product

00:07:44.776 --> 00:07:47.856
that's worth looking at when it works
for both the small and large teams.

00:07:48.226 --> 00:07:50.936
Uh, especially because that means
that someone at a larger company

00:07:50.936 --> 00:07:55.456
can grow their, you know, their
little, uh, niche, uh, api, um,

00:07:55.456 --> 00:07:58.056
from, from nothing with a couple of
people to something pretty massive.

00:07:58.206 --> 00:07:59.866
josh_twist: The a hundred percent.

00:07:59.866 --> 00:08:01.186
And the, the other thing
actually just from.

00:08:01.621 --> 00:08:03.861
Like a business perspective in my mind.

00:08:03.861 --> 00:08:05.981
You know, I think, I think one
of the businesses that's done

00:08:05.981 --> 00:08:07.141
this very well is OTH zero.

00:08:07.991 --> 00:08:11.901
Um, and they built a product that works
great for large companies, they have

00:08:11.901 --> 00:08:15.301
massive customers, but pretty much
every startup I talk to uses them.

00:08:15.721 --> 00:08:18.381
And that was actually part of their
go-to-market strategy is, you know,

00:08:18.381 --> 00:08:21.341
people used Orth Zero on their side
project and their hobby project

00:08:21.471 --> 00:08:23.501
or, but they also worked at Big Co.

00:08:23.501 --> 00:08:26.821
And so when the time came that,
hey, we need this identity solution.

00:08:27.591 --> 00:08:30.901
Um, you know, and very much I hope that's
what what I hope happens with Zulo.

00:08:30.901 --> 00:08:32.941
We have lots of hobbyists building things.

00:08:32.941 --> 00:08:36.061
We did, we did some stuff with
Superb Base recently as a backend.

00:08:36.061 --> 00:08:39.341
And if you want to go API first with
a super base backend, you know, Zulo

00:08:39.341 --> 00:08:40.621
is a pretty easy way of doing that.

00:08:41.191 --> 00:08:43.901
Um, very low lift, which is
great for that audience cuz

00:08:43.901 --> 00:08:44.741
they don't have a ton of time.

00:08:45.321 --> 00:08:48.381
And you know, the hope is that
they'll fall in love with the product

00:08:48.401 --> 00:08:52.021
and go and sell it at their big
company they work at during the week.

00:08:54.041 --> 00:08:54.531
mike_bifulco: Sure.

00:08:54.531 --> 00:08:54.971
Yeah.

00:08:55.041 --> 00:08:57.531
I was, uh, diving in and
looking at your docs.

00:08:57.741 --> 00:09:01.011
Uh, I guess as I was preparing for the
show here, and one of the things that

00:09:01.011 --> 00:09:04.811
stood out to me as interesting is, um, I
think there's a section in documentation

00:09:04.811 --> 00:09:07.971
that's something like, um, get started
or quickstart or something like that.

00:09:08.341 --> 00:09:11.451
Uh, and that there were a couple of
key use cases that fell into that

00:09:11.451 --> 00:09:15.331
quickstar category that really made
it feel like, um, if you're looking

00:09:15.331 --> 00:09:19.291
for these things, the solution is, you
know, dead simple right in front of you.

00:09:19.781 --> 00:09:23.411
Um, and the, the two that I recall off
the top of my head are documentation

00:09:23.411 --> 00:09:26.611
and rate limiting as, as, or, uh,
you know, just general gateway

00:09:26.611 --> 00:09:27.971
features as a, as a quick start.

00:09:28.381 --> 00:09:29.251
Uh, and like that's.

00:09:29.656 --> 00:09:33.016
, that's a, a really simple way
to evaluate the product and, uh,

00:09:33.016 --> 00:09:34.496
whether or not it fits your use case.

00:09:34.626 --> 00:09:39.016
Um, and that meshes well, uh, with the
pricing tiers that you have as well.

00:09:39.016 --> 00:09:42.656
So if this is me putting on my, you know,
uh, startup founder hat, I guess too,

00:09:42.656 --> 00:09:45.736
but that's a really interesting way to
like, just let someone get in and use

00:09:45.736 --> 00:09:48.816
the thing and then go sell it to their
organization as opposed to having to

00:09:48.816 --> 00:09:50.376
deal with the sales team on your side.

00:09:50.436 --> 00:09:54.016
Are you finding that that's a,
that's a way that people, um, really

00:09:54.016 --> 00:09:55.296
do sort of join and get started.

00:09:55.296 --> 00:09:57.776
Like you've left the right
breadcrumbs for people to try out Zu.

00:09:58.001 --> 00:10:02.161
josh_twist: Yeah, the smaller folks
for sure, um, they tend to come in, try

00:10:02.161 --> 00:10:06.561
the free product, and then, you know,
uh, we see them in the Discord chat

00:10:06.621 --> 00:10:09.001
and end up becoming paying customers.

00:10:09.371 --> 00:10:14.461
Um, the larger customers, we've,
there's actually a bit of a, uh, I

00:10:14.461 --> 00:10:16.661
don't know how relevant this is to
you, to the podcast, but I'll share

00:10:16.661 --> 00:10:19.501
it anyway, but there's a bit of a,
the, it's called product led growth.

00:10:19.501 --> 00:10:22.861
This idea what, what, um, if you're
familiar with it, what, what ZE did

00:10:22.861 --> 00:10:25.821
a great job of, and it's actually
become, there's a bit of a backlash

00:10:25.821 --> 00:10:29.061
against it in the startup world today,
that it's not the be all and end all.

00:10:29.521 --> 00:10:32.221
And I think we see it as like,
you actually need both streams.

00:10:32.221 --> 00:10:35.621
Like our larger customers at the
moment, they haven't come in that route.

00:10:35.621 --> 00:10:37.421
They don't really sign up themselves.

00:10:37.421 --> 00:10:40.301
We get sent a formal, they hear
about us, they're excited about

00:10:40.301 --> 00:10:44.341
it, they see the demo, and that's
usually when they suddenly get

00:10:44.341 --> 00:10:45.621
very interested and are willing.

00:10:46.511 --> 00:10:50.871
You know, to be clear for a large
company to take a bet on zulo, it takes

00:10:50.871 --> 00:10:52.311
someone risking some personal capital.

00:10:52.381 --> 00:10:55.631
It's like, you know, they're saying
you don't get fired for choosing b m.

00:10:55.631 --> 00:10:59.071
It's like, just pick Apogee or Congo, one
of the big names, you know, it's easier.

00:10:59.371 --> 00:11:02.591
But once they see what they can enable
their teams to do, and their teams

00:11:02.591 --> 00:11:04.871
will actually like using it, they're,
they're willing to fight for Zulo.

00:11:04.871 --> 00:11:10.351
But that's a more formal, sort of
sales led process, um, for those folks.

00:11:10.381 --> 00:11:11.631
I hope it switches.

00:11:11.631 --> 00:11:14.151
You know, I love it when people come
in and stick a credit card in and

00:11:14.151 --> 00:11:16.231
they're just away, uh, at the races.

00:11:16.371 --> 00:11:21.471
But we definitely see both channels
being important, um, uh, important for

00:11:21.471 --> 00:11:25.281
us, but we're very passionate about,
I, I think about building a product

00:11:25.281 --> 00:11:26.921
like this, like building a video game.

00:11:26.941 --> 00:11:29.641
And I think, um, someone did a
great article on this actually.

00:11:29.641 --> 00:11:31.041
I'll, I'll add it to your show notes.

00:11:31.531 --> 00:11:36.401
Um, when I dig it out, um, actually
I got it from, Uh, uh, a memo

00:11:36.491 --> 00:11:38.201
in Side Stripe from Patrick.

00:11:38.611 --> 00:11:43.241
Um, and, uh, and it talks about like
the best products are like video games

00:11:43.241 --> 00:11:46.201
in terms of, they start very easy, you
know, when you, when you start Mario

00:11:46.201 --> 00:11:48.921
level one, you know, you just gotta jump
around a bit and you're gonna finish.

00:11:49.141 --> 00:11:53.161
But there's a way and a ramp to
like use all the power of a product.

00:11:53.161 --> 00:11:56.081
And it's like your face of bows
are on the, the last level,

00:11:56.081 --> 00:11:57.481
on the, the, the bad guy.

00:11:58.101 --> 00:12:01.241
But, so, uh, products in this market,
I find it feels like you're just

00:12:01.241 --> 00:12:03.041
facing Bowser from the get-go, right?

00:12:03.041 --> 00:12:05.601
That's your, like , you're
literally on the last level.

00:12:05.991 --> 00:12:07.601
It's really hard to get started.

00:12:07.601 --> 00:12:11.121
And so we, we spend a lot of time and
attention is how do we make the, a really

00:12:11.121 --> 00:12:12.641
nice sort of glide slope to the product.

00:12:12.641 --> 00:12:17.081
You come in, you've got API key
management set up, it's tied to a

00:12:17.081 --> 00:12:21.041
project, but then as things get more
complex and you're, you're starting to

00:12:21.041 --> 00:12:24.121
wanna do some wild stuff, then we, we
give you all the tools that you can,

00:12:24.121 --> 00:12:25.401
you can do whatever you need to do.

00:12:25.401 --> 00:12:27.041
So that's a thing we think about a lot.

00:12:28.881 --> 00:12:29.371
mike_bifulco: Yeah.

00:12:29.421 --> 00:12:34.091
Uh, that's, um, one of those things that
I think, um, people using your products

00:12:34.091 --> 00:12:35.611
too won't realize it's happening, right?

00:12:35.611 --> 00:12:37.691
But they'll, they'll have become
experts and kind of grown this

00:12:37.691 --> 00:12:41.011
understanding and attachment, uh,
to the tools that they're using.

00:12:41.421 --> 00:12:44.571
Um, and in particular, if that
feels familiar, like that journey is

00:12:44.571 --> 00:12:47.291
something that feels like they've felt
with products that they already love.

00:12:47.291 --> 00:12:50.131
You know, like, oh, this is just
like when I started with super base,

00:12:50.131 --> 00:12:51.331
for example, or whatever, right?

00:12:51.331 --> 00:12:54.851
You feel like you're, uh, hopping
from lilypad to lilypad in a way that,

00:12:54.901 --> 00:12:56.971
um, is familiar and generally good.

00:12:56.971 --> 00:13:00.051
You, you get the network effect
of those associations too.

00:13:00.181 --> 00:13:00.601
josh_twist: Yep.

00:13:00.891 --> 00:13:04.061
Track 1: Yeah, I mean that's something
that I quite liked about the way that

00:13:04.061 --> 00:13:05.381
things ended up going at stoplight.

00:13:05.391 --> 00:13:10.716
Um, that was, Whether you see it as like
a skeezy marketing tactic or whether

00:13:10.716 --> 00:13:13.796
you see it as um, kinda like that
product led stuff you're talking about.

00:13:13.796 --> 00:13:17.596
Like we released a bunch of open
source tools, um, and, and loads

00:13:17.596 --> 00:13:20.476
of people were used to working just
purely with those open source tools.

00:13:20.476 --> 00:13:23.516
Like people love spectral and they'll
just use spectral all the time and

00:13:23.516 --> 00:13:26.436
it's little c l i thing, and then maybe
they'll use it in the VS code thing.

00:13:26.436 --> 00:13:29.396
But you get used to using this
stuff from stoplight and then.

00:13:29.956 --> 00:13:34.836
, you're like, actually I'm, I'm fed up with
editing open API via Yammel, so I'm gonna

00:13:34.836 --> 00:13:37.796
go use their studio, but I'll download
the desktop one and it's totally free.

00:13:37.806 --> 00:13:40.596
So these hobbyists and these
individuals, and maybe you're working

00:13:40.596 --> 00:13:43.996
at a company using that stoplight
stuff without the company signing off

00:13:43.996 --> 00:13:45.196
on anything cuz you didn't need to.

00:13:45.196 --> 00:13:48.596
It's just an app on my computer and then
all of a sudden someone's like, ah man,

00:13:48.596 --> 00:13:50.836
we need a editor that everyone can use.

00:13:50.836 --> 00:13:54.156
And there's like five people at that
company going stoplight, I already use it.

00:13:54.156 --> 00:13:54.796
We're already in there.

00:13:55.166 --> 00:14:00.076
Um, so kind of having, it's just freemium,
I guess, but having that freemium model.

00:14:00.441 --> 00:14:02.361
Where you can get loads done.

00:14:02.851 --> 00:14:07.601
Um, and, and not try and like
kneecap people with, uh, all these

00:14:07.601 --> 00:14:11.081
useful, critical features are gonna
be hidden behind a table you can

00:14:11.081 --> 00:14:14.721
get so far but you can't publish or
something, you know, crap like that.

00:14:14.721 --> 00:14:18.441
Giving them an actual genuine experience
but then just saying, oh, if you want

00:14:18.441 --> 00:14:24.041
these complicated, confusing, um, like
shared design libraries or shared style

00:14:24.041 --> 00:14:27.161
guides and things that involve our
servers doing loads of work, I gotta

00:14:27.161 --> 00:14:29.721
charge you some money for that cuz
the server has gotta do loads of work.

00:14:29.781 --> 00:14:31.841
And I, I think that's just a
nice way of going about it.

00:14:31.841 --> 00:14:35.721
Just like, yeah, genuine freemium stuff
to get your foot in the door as well.

00:14:35.721 --> 00:14:37.001
It's like a win-win for everyone

00:14:37.271 --> 00:14:37.761
josh_twist: Yeah.

00:14:37.991 --> 00:14:39.921
Help people solve real problems as well.

00:14:39.921 --> 00:14:42.041
And we, well also actually, the,
the premium tastes great for us.

00:14:42.041 --> 00:14:44.641
Like we get a lot of good feedback
from people who use our free product,

00:14:44.641 --> 00:14:48.281
and they're probably not gonna
become paying customers anytime soon.

00:14:48.281 --> 00:14:50.401
But they've been some of our best
customers in terms of helping

00:14:50.401 --> 00:14:51.641
us build a great experience.

00:14:51.661 --> 00:14:57.201
You know, these folks who are doing this,
not for their job, but for, for fun or

00:14:57.201 --> 00:15:01.481
for their hobby or their side gig, they're
trying to start, you know, um, they're

00:15:01.481 --> 00:15:02.761
doing it from a real place of passion.

00:15:02.761 --> 00:15:05.361
And so their, their feedback's
especially interesting to us.

00:15:06.666 --> 00:15:07.556
Track 1: Tell us more.

00:15:07.646 --> 00:15:09.996
So you're talking about a p
management, we've mentioned that

00:15:09.996 --> 00:15:11.676
gateway is kind of one aspect of it.

00:15:11.846 --> 00:15:15.396
Um, but a p management
is a huge nebulous topic.

00:15:15.396 --> 00:15:18.476
There's a million different parts of the
life cycle that you might be managing.

00:15:19.006 --> 00:15:23.116
Um, and actually another
stoplight mention, they're

00:15:23.116 --> 00:15:23.836
not sponsoring us anymore.

00:15:23.836 --> 00:15:24.676
I don't work there anymore.

00:15:24.676 --> 00:15:26.516
At some point I'll shut
up about stoplight.

00:15:26.806 --> 00:15:31.716
Um, but , um, Jason Harmon, the cto,
wrote his really good blog post for, um,

00:15:31.716 --> 00:15:33.436
is it a blog post if it's for Forbes?

00:15:33.436 --> 00:15:35.516
I don't know, whatever
he wrote for Forbes.

00:15:35.726 --> 00:15:40.356
Um, talking about how it's basically
impossible to cover every single

00:15:40.356 --> 00:15:41.956
aspect of the API lifecycle.

00:15:42.906 --> 00:15:43.026
Properly.

00:15:43.026 --> 00:15:45.946
There's a lot of companies
pretending that they do, but they

00:15:46.066 --> 00:15:51.266
don't  because you've got, um,
especially his design, there's a api.

00:15:51.266 --> 00:15:56.746
Design management has, has been separated
out as its own kind of, um, vertical.

00:15:57.006 --> 00:16:01.346
But you've got kind of the designing,
um, which you kind of do, cause you've

00:16:01.346 --> 00:16:06.346
got an editor, you've got mocking, you've
got docs, you've got testing, kinda,

00:16:06.346 --> 00:16:08.906
you were talking about some contract
testing on a chat the other day, right?

00:16:08.956 --> 00:16:12.346
There's um, there's the whole
like developer portal getting

00:16:12.346 --> 00:16:14.866
new API keys, which hooks in
with the actual production stuff.

00:16:14.866 --> 00:16:18.856
Like what parts of the life cycle are you
going for and what are you not going for?

00:16:18.966 --> 00:16:20.776
I know you're just trying
to do it all like a madman,

00:16:21.421 --> 00:16:21.771
josh_twist: No.

00:16:21.771 --> 00:16:23.411
Uh, we're definitely not, not yet.

00:16:23.411 --> 00:16:27.131
I mean, you know, I think maybe there's
a world where we continue to sort of

00:16:27.131 --> 00:16:32.331
eat up adjacencies, but our focus, um,
you know, we do have a designer, but

00:16:32.331 --> 00:16:37.971
I don't think we're trying to become
an alternative to stoplight or to, um,

00:16:38.431 --> 00:16:42.251
you know, postman, I think as, as sort
of has some good tools here as well.

00:16:42.901 --> 00:16:47.011
Um, that's not our intention with the
designer, the designers though really,

00:16:47.491 --> 00:16:50.931
again, to give you that sort of very,
very easy onboarding experience.

00:16:50.931 --> 00:16:53.811
That's, that's, you know, we're, we're
not suggesting anyone tries to design

00:16:53.811 --> 00:16:55.291
an open API document in our designer.

00:16:56.171 --> 00:16:57.811
Don't do that way, I
mean, it just won't work.

00:16:58.341 --> 00:17:01.251
Um, but if you're coming in and
you just wanna get started, it

00:17:01.251 --> 00:17:04.411
kind of gives you this very gradual
glide slope to being successful.

00:17:04.411 --> 00:17:06.771
But then if you look, when
you're designing whatever you're

00:17:06.771 --> 00:17:09.851
designing, it's just generating a
text file in the background, right?

00:17:10.421 --> 00:17:13.451
Um, and in that you can do a lot
more than our design could do.

00:17:13.451 --> 00:17:15.251
So we're not trying to own API design.

00:17:15.251 --> 00:17:19.851
I don't think at this point we,
it's hard to say exactly where the

00:17:19.851 --> 00:17:22.891
stages are, where they end, uh,
where they begin and where they end.

00:17:23.121 --> 00:17:27.291
I think one of the, first of all, we
wanna make you it easy to have a, like a

00:17:27.291 --> 00:17:29.971
great runtime like running and operating.

00:17:30.141 --> 00:17:31.691
Uh, an API needs to be great.

00:17:31.691 --> 00:17:36.531
So the fact that you're protected, um,
the fact that, uh, you have analytics

00:17:36.631 --> 00:17:39.331
and understand what's going on,
and, you know, we have integrations

00:17:39.331 --> 00:17:40.891
with like Datadog for, for logging.

00:17:40.941 --> 00:17:44.891
So sort of operations is, um, is covered.

00:17:45.551 --> 00:17:49.001
That's the, that part is the
real focus for us at this point.

00:17:49.001 --> 00:17:53.321
And the reason we have tests
is really just in support of

00:17:53.321 --> 00:17:54.521
getting people to that place.

00:17:54.571 --> 00:17:58.001
So one of the biggest things
we've spent time on is, is what

00:17:58.001 --> 00:17:59.961
is the deployment story for Zulo?

00:18:00.291 --> 00:18:02.801
So, I mean, you mentioned great
open source companies, actually,

00:18:02.801 --> 00:18:06.321
I think like Versace is a company
we admire, uh, tremendously.

00:18:06.891 --> 00:18:10.881
Um, and you know, they had Op Xjs is open
source and then the, the paid products is,

00:18:10.881 --> 00:18:12.561
is the sort of segue I'm going for there.

00:18:12.891 --> 00:18:15.601
Um, they also, along with
Netlify, have this great GI ops

00:18:15.601 --> 00:18:17.201
model where everything's in.

00:18:18.256 --> 00:18:21.726
In GitHub and you, um, you
push a commit and then it'll

00:18:21.726 --> 00:18:23.566
deploy, uh, for each branch.

00:18:23.796 --> 00:18:26.166
Well, we have exactly the same behavior.

00:18:26.376 --> 00:18:29.046
So, uh, we make it crazy, easy to deploy.

00:18:29.046 --> 00:18:31.326
And part of that is being
able to test easily.

00:18:31.326 --> 00:18:32.846
So really that's why we built the testing.

00:18:33.096 --> 00:18:36.086
We don't think of ourselves as like
the ultimate API testing platform.

00:18:36.086 --> 00:18:36.686
Not at all.

00:18:37.296 --> 00:18:40.766
Um, rather, we wanna make sure that
when you're running and operating these

00:18:40.766 --> 00:18:45.166
tier zero mission critical APIs, as
they are for most of our companies, that

00:18:45.166 --> 00:18:46.486
you're not gonna deploy something bad.

00:18:46.486 --> 00:18:49.766
So we want, we want to help you
to help yourself effectively.

00:18:49.936 --> 00:18:52.206
So that's why we have things
like the, the testing.

00:18:52.716 --> 00:18:55.966
I am definitely interested
in helping teams.

00:18:57.451 --> 00:19:00.441
because there's blurry lines at
the edge of that part of just like

00:19:00.441 --> 00:19:02.001
running and operating an api, right.

00:19:02.001 --> 00:19:02.721
And managing it.

00:19:02.731 --> 00:19:08.081
It, there's, there's, there is this
idea of, well, how can I put it?

00:19:08.081 --> 00:19:11.281
What my experience of customers
using API gateways, like most of

00:19:11.281 --> 00:19:13.761
the, or API management products in
the market is that the, the gateway

00:19:13.761 --> 00:19:16.921
lives on like an iron throne in the,
in the business, in the enterprise.

00:19:17.151 --> 00:19:20.321
It's guarded by a team of
architects dressing like Knight

00:19:20.321 --> 00:19:22.881
outfits as I'm going for the full
on Game of Thrones thing here.

00:19:23.291 --> 00:19:26.241
Uh, you know, and no
engineer can touch it.

00:19:26.241 --> 00:19:29.201
They probably have to fill in a
Google form to make request changes.

00:19:29.201 --> 00:19:33.241
And it's just, it's just BS frankly
from like how engineers normally work.

00:19:33.541 --> 00:19:34.801
And so we wanna fix that.

00:19:34.801 --> 00:19:39.046
And so now, Creating a new deployment,
creating a new environment in zoo PLO

00:19:39.046 --> 00:19:40.606
tech, 20 seconds and you'll have it live.

00:19:40.606 --> 00:19:44.806
I have a customer paying for 250
concurrent production environments,

00:19:44.826 --> 00:19:47.406
and that's cuz every team gets
a preview environment, gets

00:19:47.566 --> 00:19:48.286
multiple preview environments.

00:19:48.286 --> 00:19:50.846
They just wanna throw, create them,
play with them, throw them away.

00:19:50.846 --> 00:19:53.286
Every engineer gets to
do that where we are.

00:19:53.286 --> 00:19:57.166
Where I am interested in going a
little bit further is, so how do we.

00:19:57.801 --> 00:20:00.281
You know, those architects, now
they've kinda lost control, right?

00:20:00.281 --> 00:20:02.521
How do we give them
governance with a little G?

00:20:02.521 --> 00:20:04.561
And we really wanna do
that in automated ways.

00:20:04.571 --> 00:20:08.081
So some of the stuff we're, we're
playing with now is the, the

00:20:08.081 --> 00:20:11.561
tests have to pass before you can
promote this to the true production

00:20:11.561 --> 00:20:13.801
environment or the true QA environment.

00:20:14.291 --> 00:20:18.721
Um, maybe some lin rules are gonna
come into play, like, Hey, you know,

00:20:18.721 --> 00:20:20.121
we have a set of standards here.

00:20:20.741 --> 00:20:25.681
And, um, and it, you can do whatever you
want on your, what we call working copy.

00:20:25.681 --> 00:20:28.321
That's like the pri developer's
private gateway we give them.

00:20:28.651 --> 00:20:31.641
Um, but if you wanna get that into
production or QA or staging or whatever,

00:20:31.671 --> 00:20:33.281
then it's gonna have to pass these rules.

00:20:33.281 --> 00:20:35.881
You're gonna get warnings, and then
they're gonna turn into errors.

00:20:36.131 --> 00:20:40.281
So there's blurry lines, but really
we're about, you know, operating,

00:20:41.171 --> 00:20:43.801
um, operating a large API at scale.

00:20:46.546 --> 00:20:48.276
Track 1: That's, yeah, that's interesting.

00:20:48.276 --> 00:20:52.196
Cause that's one thing I wanted to
ask about is like who, who operates

00:20:52.196 --> 00:20:53.436
it, like who's in charge of it.

00:20:53.436 --> 00:20:53.596
Right.

00:20:53.596 --> 00:20:56.846
Because I've worked at a bunch
of companies where, You don't,

00:20:56.846 --> 00:20:59.286
you almost don't even know
that the EPA gateway exists.

00:20:59.286 --> 00:21:02.926
It, it's like a, or any of the,
you know, I, I throw around gateway

00:21:02.926 --> 00:21:05.606
and management interchangeably
sometimes cuz they're pretty close.

00:21:05.606 --> 00:21:08.606
But, um, like they'll, they'll
just kind of like sneak it in.

00:21:08.606 --> 00:21:12.366
You, you build whatever Rails app you're
building or whatever, and then someone

00:21:12.366 --> 00:21:16.246
will just like slide this layer in, in
front and you get rate limiting, which

00:21:16.246 --> 00:21:17.326
you never had to think about Cool.

00:21:17.326 --> 00:21:17.726
Or whatever.

00:21:18.056 --> 00:21:21.606
Um, and you might get a bit of like edge
caching or something else, but like, it

00:21:21.606 --> 00:21:25.686
is just kind of this, this like DevOps
implementation detail that you, it's

00:21:25.686 --> 00:21:29.846
more like infrastructure, um, but it,
it kind of sounds like you are looking

00:21:29.846 --> 00:21:31.206
for other people to get involved.

00:21:31.206 --> 00:21:31.486
Right.

00:21:31.486 --> 00:21:35.406
So the, the developers maybe getting
a bit more involved, but like, is

00:21:35.406 --> 00:21:38.166
there any, is there any room for
the client side to get involved?

00:21:38.166 --> 00:21:42.046
Because you were showing me,
um, the caching feature and

00:21:42.046 --> 00:21:43.486
I can absolutely, I, I bet.

00:21:44.556 --> 00:21:45.626
There's people out there.

00:21:45.626 --> 00:21:49.186
Kind of my frustration with the way that
people talk about Graph UL a lot is that,

00:21:49.186 --> 00:21:52.906
that there's, there's lots of people out
there that are really upset with bad rest

00:21:53.016 --> 00:21:57.426
APIs that are then building their own
kind of API layer in Graph UL building

00:21:57.566 --> 00:22:01.066
bff so that, you know, they're a client
team, but they're building a BFF to

00:22:01.066 --> 00:22:03.146
solve ship problems with that shit api.

00:22:03.516 --> 00:22:03.866
Um,

00:22:03.866 --> 00:22:05.026
and I could just kind of

00:22:05.121 --> 00:22:05.681
josh_twist: other

00:22:05.756 --> 00:22:06.306
Track 1: oh, sorry.

00:22:06.306 --> 00:22:08.346
Backend, backend, backend for front end.

00:22:08.391 --> 00:22:08.981
josh_twist: Oh, okay.

00:22:08.981 --> 00:22:09.261
Okay.

00:22:09.261 --> 00:22:09.741
Back in for

00:22:09.796 --> 00:22:13.346
Track 1: So, yeah, like say, say you are
building a React app and you've gotta talk

00:22:13.346 --> 00:22:17.266
to like six different APIs that all have
completely different, um, authentication.

00:22:17.266 --> 00:22:20.346
I've been in that situation and I was
like, I don't think that every client

00:22:20.346 --> 00:22:24.306
should have to build their own BFFs
to, to solve all these inconsistencies.

00:22:24.306 --> 00:22:27.626
We could just use an API gateway to
remove those inconsistencies and it

00:22:27.626 --> 00:22:28.906
would use the same authentication system.

00:22:29.046 --> 00:22:33.266
But I could imagine that the clients would
also have a bit more control if there, if

00:22:33.266 --> 00:22:37.586
there's just this one shared repo that's a
bit less freaky to try and configure than

00:22:37.586 --> 00:22:39.386
some like hosted gateway somewhere else.

00:22:39.916 --> 00:22:42.186
Um, then they can add some cash headers.

00:22:42.186 --> 00:22:45.386
Just like, you know, you, you assure
me how to add cash headers to my badly

00:22:45.386 --> 00:22:47.706
built API and then my client was quicker.

00:22:48.036 --> 00:22:51.906
Um, is that a use case that
you kind of intended or

00:22:52.536 --> 00:22:57.126
josh_twist: Uh, no, I, I guess we
hadn't thought much about the, the, the

00:22:57.126 --> 00:22:58.686
client as in the person calling the api.

00:22:58.686 --> 00:22:59.926
You mean, just to be a
hundred percent clear.

00:22:59.926 --> 00:23:00.416
Track 1: Yeah.

00:23:00.416 --> 00:23:00.656
Yeah.

00:23:00.656 --> 00:23:01.656
The api, API

00:23:01.766 --> 00:23:02.926
josh_twist: React app or something?

00:23:02.926 --> 00:23:03.846
Yeah, the API consumer.

00:23:04.616 --> 00:23:07.646
Um, no, we wanna give them a great
experience, particularly the developer.

00:23:07.646 --> 00:23:08.246
We care about that.

00:23:08.246 --> 00:23:11.406
We care about, we know, we think
engineers are cramps people, and so

00:23:11.406 --> 00:23:15.086
we, we want, we wanna build something
they're proud of, sort of saying they

00:23:15.086 --> 00:23:17.964
have their name attached to, but we
don't think about it much beyond that.

00:23:18.014 --> 00:23:22.164
what'll happen is there's, there's
a company, it has, it's, it's

00:23:22.164 --> 00:23:23.324
typically gotten a little bit bigger.

00:23:23.324 --> 00:23:24.924
It's not one of the
startups we're working with.

00:23:24.924 --> 00:23:28.844
And now it has like seven teams building
microservices and they want those

00:23:29.164 --> 00:23:30.884
teams to run really independently.

00:23:31.064 --> 00:23:36.844
But they also occur as an organization
that their API is beautiful, is consistent

00:23:37.144 --> 00:23:39.004
and is ideally one single thing.

00:23:39.004 --> 00:23:41.844
So that react clients
aren't calling 12 APIs.

00:23:41.984 --> 00:23:45.564
But that's hard to organize in the sort
of, in the setup you just described, Phil,

00:23:45.564 --> 00:23:49.044
because there's this magical gateway,
but how do I add new routes to it?

00:23:49.044 --> 00:23:50.444
Like what's the process to do that?

00:23:50.444 --> 00:23:54.364
So if you can, if you can create
it, so it's very self-serve

00:23:54.364 --> 00:23:57.764
for the engineers inside those
organizations to add new route.

00:23:58.314 --> 00:24:01.964
They can just go and clone the gateway,
have their own copy of it that they

00:24:01.964 --> 00:24:05.724
run with, add in a bunch of new
routes, and then there is a process

00:24:05.734 --> 00:24:09.844
by which that goes to production that
the architects or the, the leadership

00:24:09.844 --> 00:24:11.044
still feel like they can manage.

00:24:11.354 --> 00:24:14.324
Then that, um, then we
feel like that's a win-win.

00:24:14.324 --> 00:24:16.404
And that's actually one of the
things where, where folks are really

00:24:16.404 --> 00:24:19.644
excited about zpa, it's one of the,
the main wins we ways we win deals

00:24:19.644 --> 00:24:20.964
with like medium sized businesses.

00:24:21.834 --> 00:24:22.804
Does that make sense?

00:24:23.064 --> 00:24:24.274
Track 1: Yeah, that makes sense.

00:24:24.724 --> 00:24:28.674
Um, I'd like to ask Giant, uh,
never-ending questions that

00:24:28.674 --> 00:24:29.754
are mostly just statements.

00:24:30.824 --> 00:24:33.144
mike_bifulco: So I've definitely found
your outreach  strategy interesting.

00:24:33.144 --> 00:24:37.184
And it's been cool to see, uh,
Zulo showing up at, um, various

00:24:37.184 --> 00:24:40.024
events and bringing , content to
conferences and things like that.

00:24:40.634 --> 00:24:44.024
Um, I'd imagine education is a big
part of this and, and trying to

00:24:44.024 --> 00:24:47.384
figure out how to, uh, make the
call to API developers that this is

00:24:47.384 --> 00:24:48.424
something that they should consider.

00:24:48.954 --> 00:24:52.304
Is there like a segment of the market,
a way that you're trying to identify

00:24:52.304 --> 00:24:55.984
sort of, uh, API devs who, who you
should be talking to, or devs who

00:24:56.184 --> 00:24:59.384
don't consider themselves API devs
who, uh, you know, should be spun

00:24:59.384 --> 00:25:00.464
up on this sort of information?

00:25:00.619 --> 00:25:02.149
josh_twist: I wish I had
a better answer to this.

00:25:02.169 --> 00:25:02.909
Not yet.

00:25:02.989 --> 00:25:05.789
We're, we're really kind
of exploring that still.

00:25:05.789 --> 00:25:07.389
You know, we're, we're kind of early.

00:25:07.389 --> 00:25:10.389
People are finding us
by one means or another.

00:25:11.079 --> 00:25:13.869
Um, some of our sponsorships,
like the one we're doing with you

00:25:13.869 --> 00:25:15.509
folks, you know, is, is great.

00:25:15.559 --> 00:25:20.509
Uh, uh, so sort of our sort of just
talking startup business for anyone

00:25:20.509 --> 00:25:23.429
trying to build something like this,
you know, one of our initial strategies

00:25:23.429 --> 00:25:26.589
was we were just doing cold outreach
and hitting people with like emails and

00:25:26.899 --> 00:25:31.629
trying to sense when they might be ripe
to be thinking about an API gateway.

00:25:31.929 --> 00:25:34.029
And then, you know, that's hard because.

00:25:35.264 --> 00:25:39.814
Um, if someone's already got Apigee
or Cong or something, you are not

00:25:39.814 --> 00:25:41.294
just gonna send 'em an email that's
gonna make them, you know what?

00:25:41.294 --> 00:25:41.814
I changed my mind.

00:25:41.814 --> 00:25:44.574
Let's, let's uninstall this thing
and let's replace it with Zpl.

00:25:44.574 --> 00:25:46.494
That's just not gonna, you know,
that's not gonna happen easily.

00:25:46.904 --> 00:25:49.174
Um, so you've gotta time it where
they're already thinking about that.

00:25:49.174 --> 00:25:52.774
And that's like shooting arrows into
the woods with a blindfold on at

00:25:52.774 --> 00:25:54.574
night and hoping to hit some prey.

00:25:54.704 --> 00:25:58.414
Um, um, weird analogy
for a vegan, but okay.

00:25:59.184 --> 00:26:02.534
. Um, so then we said, maybe a better
analogy is actually we, we go and put

00:26:02.534 --> 00:26:05.734
trip wires out, um, around the forest
where we think these people are running.

00:26:05.734 --> 00:26:08.534
And so, like, you know, we did,
we'd done a bunch of content around

00:26:08.804 --> 00:26:13.374
rate limiting, around sponsoring,
uh, spaces where people work.

00:26:13.374 --> 00:26:16.934
Like, uh, we've had a successful
sponsorship with, um, have

00:26:16.934 --> 00:26:18.094
you seen Jason Schema?

00:26:18.919 --> 00:26:20.149
Um, by Jack Wooden.

00:26:20.959 --> 00:26:25.469
Um, so yeah, that's a, a really cool
online designer if you wanna design

00:26:25.479 --> 00:26:27.389
Jason's schema documents using a tool.

00:26:27.389 --> 00:26:28.229
So we sponsor that.

00:26:28.229 --> 00:26:29.829
We've had a great relationship with them.

00:26:29.959 --> 00:26:32.949
There's another developer portal,
an open source developer portal

00:26:32.949 --> 00:26:34.869
called Raddock that we sponsor.

00:26:35.319 --> 00:26:40.349
Um, uh, because again, like people in that
area might be starting to think about like

00:26:40.349 --> 00:26:42.109
maturing how they're approaching APIs.

00:26:42.109 --> 00:26:44.749
So they'll, they'll see zulo,
the, the sponsorship we've done

00:26:44.749 --> 00:26:46.109
with you folks@openapi.tools.

00:26:46.109 --> 00:26:48.109
That's, that's one of the ways
we're trying to reach out to people.

00:26:48.109 --> 00:26:49.749
But I think we're just beginning.

00:26:49.919 --> 00:26:53.589
Um, some of the stuff we've done,
um, is creating YouTube content,

00:26:53.959 --> 00:26:55.829
um, for super based developers.

00:26:55.829 --> 00:26:58.749
You know, this idea that if you're
working on super base and you suddenly

00:26:58.749 --> 00:27:02.189
going, how do I build an API out of
this that's actually feels like an

00:27:02.189 --> 00:27:06.029
api that's like not, not rest over
data, which is what you kind of get

00:27:06.029 --> 00:27:10.159
with, um, Postgres, I think they're
using, um, I want it to feel custom.

00:27:10.159 --> 00:27:11.919
So all zla can be a very easy gateway.

00:27:11.919 --> 00:27:13.079
On top of that, that's a dot.

00:27:13.079 --> 00:27:16.079
So we made a bunch of content for
that, which has gone great for us.

00:27:16.934 --> 00:27:19.604
Um, so we're still, we're still
really finding our way of doing it.

00:27:19.604 --> 00:27:21.524
I don't, I won't say we've
cracked it yet, but, um,

00:27:21.534 --> 00:27:22.384
mike_bifulco: Yeah, sure.

00:27:22.384 --> 00:27:26.544
I, I feel like you, um, you laid out
the, the breadcrumb for me earlier

00:27:26.544 --> 00:27:29.544
that I feel like you should be writing
an incendiary blog poster, making a

00:27:29.544 --> 00:27:33.464
YouTube video that has a title, something
along the lines of like, use Effect

00:27:33.464 --> 00:27:37.424
is costing you money, uh, and, and
go publish that on the web and you'll

00:27:37.424 --> 00:27:37.784
get a billion

00:27:37.924 --> 00:27:39.124
josh_twist: making notes here right now.

00:27:39.644 --> 00:27:40.304
mike_bifulco: for sure.

00:27:40.304 --> 00:27:40.664
Yeah.

00:27:40.894 --> 00:27:41.384
Yeah.

00:27:41.384 --> 00:27:44.024
You can put me on the byline for
that one if you want, but I, I like,

00:27:44.024 --> 00:27:46.224
those are the sorts of things that
people don't realize, you know?

00:27:46.754 --> 00:27:48.664
Uh, and, but it does
give people's attention.

00:27:48.664 --> 00:27:51.784
They know they're having problems with
use effect doing, you know, rendering a

00:27:51.784 --> 00:27:53.304
billion times or whatever the case is.

00:27:53.304 --> 00:27:56.264
But, uh, they, they don't often have
the solution to that, and that's why

00:27:56.264 --> 00:27:59.344
you find the same four Stack overflow
threads that are, you know, as

00:27:59.344 --> 00:28:01.224
condescending as Stack Overflow can be.

00:28:01.554 --> 00:28:04.264
Uh, and, and as unfriendly as
you could, you might imagine.

00:28:04.329 --> 00:28:06.179
josh_twist: Yeah, actually
a great chance for a plug.

00:28:06.179 --> 00:28:09.179
We're actually trying to hire a developer
relations developer advocate right now.

00:28:09.179 --> 00:28:11.739
Our first, a full-time developer
advocate would be creating

00:28:11.739 --> 00:28:12.579
lots of content like this.

00:28:12.579 --> 00:28:14.699
So if anyone listening to the
podcast is interested, you know,

00:28:14.699 --> 00:28:15.939
where to, you know, where to go.

00:28:15.939 --> 00:28:17.659
Hope you guys don't mind
me sneaking that in there.

00:28:18.029 --> 00:28:19.819
Um, we did do one in, oh, sorry.

00:28:19.819 --> 00:28:23.779
One interesting article that again was,
was quite popular when we designed our

00:28:24.059 --> 00:28:27.939
api I key, um, service like the, the
fact, the fact that you can sort of

00:28:27.939 --> 00:28:29.779
add API I key authentication to an api.

00:28:30.149 --> 00:28:33.299
We did a lot of research,
like how do people do this?

00:28:33.299 --> 00:28:37.699
You know, we, even though I worked,
they're poured over stripes implementation

00:28:37.699 --> 00:28:40.419
cuz they're still sort of seen as the
gold standard, I think of like APIs.

00:28:40.779 --> 00:28:43.299
Actually, I, I'd be curious on what
you guys think is the best today.

00:28:43.439 --> 00:28:45.859
You know, we looked at Twilio, we
looked at the same group, we looked at

00:28:45.859 --> 00:28:48.259
all these companies, looked at GitHub
and we're like, how do they do it?

00:28:48.259 --> 00:28:49.099
What are the rules?

00:28:49.099 --> 00:28:50.259
What are the best practices?

00:28:50.679 --> 00:28:54.099
And so we thought, you know, it'd be,
even though it's kind of IP for us

00:28:54.099 --> 00:28:57.339
really in a way that research and that
knowledge, we thought, well, let's write

00:28:57.339 --> 00:28:58.539
it up in a really detailed article.

00:28:59.304 --> 00:29:00.964
And share that knowledge with folks.

00:29:00.964 --> 00:29:03.404
It might mean they don't use zoo PLO
when they go and build it themselves.

00:29:03.914 --> 00:29:04.604
It's fine.

00:29:04.654 --> 00:29:05.324
Go and do that.

00:29:05.324 --> 00:29:05.604
You know?

00:29:05.604 --> 00:29:10.564
But also people may hopefully, um, see us
as someone who's sort of, you know, done

00:29:10.564 --> 00:29:13.844
some thought leadership in this space and,
and potentially will come and use us as

00:29:13.844 --> 00:29:16.204
a solution so they don't have to build
that stuff and manage it all themselves.

00:29:16.264 --> 00:29:17.204
And that, that went well.

00:29:17.204 --> 00:29:18.604
And we'll keep doing things like that.

00:29:18.604 --> 00:29:22.004
Like the way, one of the things that
Unico Zulo is it runs at the edge.

00:29:22.054 --> 00:29:26.284
So it's not, it's not, you know, it's
not, um, an engine X or an Envoy Fork.

00:29:26.284 --> 00:29:27.604
This is built from the ground up.

00:29:27.604 --> 00:29:29.524
We had to build this thing
from scratch pretty much.

00:29:30.104 --> 00:29:35.444
And, uh, so we run on edge compute like
CloudFlare and Fastly and Dino Ploy, if

00:29:35.444 --> 00:29:39.844
you've heard of those folks using sort
of, um, JavaScript, um, worker technology.

00:29:40.304 --> 00:29:44.804
And there are some hard, there are some
hard lessons for someone if you do that

00:29:44.804 --> 00:29:47.204
for the first time and try and build
like, real infrastructure on the edge.

00:29:47.204 --> 00:29:49.364
It's just, it's just different, you know?

00:29:49.424 --> 00:29:52.044
How do you do rate limiting
in a consistent way if

00:29:52.044 --> 00:29:53.404
there are 250 data centers?

00:29:54.024 --> 00:29:55.954
Each with a thousand processes in it.

00:29:56.024 --> 00:29:57.434
I mean, how does that work?

00:29:57.434 --> 00:29:57.674
Right?

00:29:57.674 --> 00:30:00.114
So we have spent a lot of
time solving that problem.

00:30:00.764 --> 00:30:04.394
Um, and, um, and yeah, we'll be
willing to, I just haven't got

00:30:04.394 --> 00:30:05.114
around to writing it up yet.

00:30:05.114 --> 00:30:07.554
We'll be willing to share our learnings
though, and hope that like, you know,

00:30:07.554 --> 00:30:10.554
we're seen as like, oh, these guys are
real experts at this, so maybe we should

00:30:10.554 --> 00:30:11.994
just use them versus try and roll around

00:30:12.277 --> 00:30:12.437
Track 1: writing.

00:30:12.437 --> 00:30:14.277
Yeah, that's a brilliant segue.

00:30:14.377 --> 00:30:16.407
You, you don't wanna roll your own.

00:30:17.272 --> 00:30:20.182
So you want to use something like an
API gateway that will, that will handle

00:30:20.182 --> 00:30:25.332
something like authentication for
you, but you have just rolled your own

00:30:26.172 --> 00:30:27.072
josh_twist: I'm caught here.

00:30:27.932 --> 00:30:30.792
. The, the, because it's edge
technology, there isn't really

00:30:30.792 --> 00:30:32.072
much we could have built on.

00:30:32.072 --> 00:30:35.592
I mean, we, we probably would've done, I
mean, we used a few open source libraries

00:30:35.592 --> 00:30:41.592
that were compatible with workers, but you
know, things like N Engine X and Envoy,

00:30:41.592 --> 00:30:43.712
they are designed to run like on native.

00:30:44.907 --> 00:30:48.387
Hardware with access to like file
systems and, and you just don't have

00:30:48.387 --> 00:30:49.827
that in this, in this technology.

00:30:49.827 --> 00:30:51.467
You know, there's a bunch
of advantages though.

00:30:51.467 --> 00:30:53.187
Um, and so we deliberately
made a trade off.

00:30:53.187 --> 00:30:55.307
We said like, what, what does the
best gateway in the world look like?

00:30:55.307 --> 00:30:56.707
It's like, well, it runs
at the edge, obviously.

00:30:56.757 --> 00:31:02.317
So if you use caching, like, like, uh,
Actually the, the cashing trick we did

00:31:02.387 --> 00:31:05.237
Phil, was we were cashing in the edge.

00:31:05.567 --> 00:31:09.717
So when you made your second request,
uh, request, when when we did that,

00:31:09.807 --> 00:31:11.037
it was still making a request.

00:31:11.037 --> 00:31:12.077
We didn't set the cash outs.

00:31:12.077 --> 00:31:12.717
We can do that too.

00:31:13.207 --> 00:31:16.077
Um, but in that case it's just, we
just kept it there on that worker.

00:31:16.077 --> 00:31:19.637
So if you'd have had two clients,
would that two browsers request that

00:31:19.637 --> 00:31:23.757
they'd have both received the cashed
version from the edge so that it's

00:31:23.757 --> 00:31:26.877
not just a question of browser cash,
we can actually use server caching as

00:31:26.877 --> 00:31:28.277
well, like a bit like a cdn, right?

00:31:28.277 --> 00:31:29.437
Cause that's what the edge is good at.

00:31:29.457 --> 00:31:32.317
And so that means everybody gets
a 50 millisecond response time

00:31:32.557 --> 00:31:33.317
wherever they are in the world.

00:31:33.807 --> 00:31:36.957
Um, so there's lots of advantages to
building a, a gateway at the edge.

00:31:36.957 --> 00:31:39.517
And that's why we decided to sort of
take a risk and, and build our own.

00:31:39.687 --> 00:31:42.277
We would've happily used something else.

00:31:42.277 --> 00:31:44.837
I think if there'd have been something
suitable, but we didn't find anything.

00:31:46.302 --> 00:31:49.302
Track 1: something .Yeah, fair enough.

00:31:49.302 --> 00:31:52.422
It's, um, that's just always
the, the tough one, I think.

00:31:52.422 --> 00:31:52.662
Yeah.

00:31:52.662 --> 00:31:56.222
Trying to find the balance of like using
a few open source libraries to, to, to

00:31:56.337 --> 00:31:59.697
josh_twist: and we do like credit to
people like, uh, path to RegX, which is

00:31:59.697 --> 00:32:04.577
the, the open source library, uh, that
powers like express JS in node happens

00:32:04.577 --> 00:32:06.577
to be compatible with worker technology.

00:32:06.577 --> 00:32:07.737
So we use that for our routing.

00:32:08.367 --> 00:32:10.217
Nobody wants to write that stuff again.

00:32:10.217 --> 00:32:11.377
That's a really great library.

00:32:12.107 --> 00:32:14.857
Um, although actually I think there's
one shipping now is a standard called

00:32:14.877 --> 00:32:16.617
URL patent, which is super interesting.

00:32:16.617 --> 00:32:18.297
So we'll probably move
over to that at some point.

00:32:18.767 --> 00:32:23.337
It's actually based on Pat RegX, but it's
actually part of the, the, like it's on,

00:32:23.337 --> 00:32:25.857
um, uh, which, who owns the standard?

00:32:25.857 --> 00:32:28.577
I'm not sure, but it's on MDN
and I E T F and all that stuff.

00:32:28.577 --> 00:32:30.657
So yeah, it's, it's actually
shipping as part of browsers.

00:32:30.918 --> 00:32:34.178
Track 1: And so something else, uh,
obviously we're big fans of Open API here.

00:32:34.178 --> 00:32:36.738
I bang on about it all the
time, um, for some reason.

00:32:37.318 --> 00:32:41.258
And, uh, you mentioned there's a
little bit of open API coming to

00:32:41.328 --> 00:32:41.678
to

00:32:41.878 --> 00:32:42.158
Zulo.

00:32:42.408 --> 00:32:43.288
josh_twist: a backstory actually.

00:32:43.288 --> 00:32:46.248
So I have a sort of a love-hate
relationship with Open api cuz when

00:32:46.248 --> 00:32:49.168
it, when I first encountered it was
when I was working on API management in

00:32:49.168 --> 00:32:54.768
like 2013, I think it was still called
Swagger and it was a burgeoning standard.

00:32:54.768 --> 00:32:55.808
It wasn't very popular.

00:32:55.808 --> 00:33:00.328
And then I went away from the space
and I came back to build Zulo,

00:33:00.328 --> 00:33:03.248
having not worked on a specific
gateway for a while and still had

00:33:03.248 --> 00:33:04.808
this image in my mind of open api.

00:33:05.628 --> 00:33:12.208
And um, we, we started out, when we
built Zulo, we have a routing file,

00:33:12.498 --> 00:33:15.648
um, that's adjacent structure that
tells us how to route your request.

00:33:15.648 --> 00:33:17.648
And we initially thought,
should we make that open api?

00:33:17.788 --> 00:33:20.728
And we decided not to, you know, we
thought we should own the standard.

00:33:20.828 --> 00:33:24.848
And what we do is we build an
import for open API so it would

00:33:24.848 --> 00:33:26.728
import the file and convert it into.

00:33:27.958 --> 00:33:28.398
Standard format.

00:33:28.698 --> 00:33:31.918
And what we've just seen is when, when
people come into the product, they

00:33:31.918 --> 00:33:33.758
click that import open API button first.

00:33:34.528 --> 00:33:39.518
Um, the, the, since I last spent time in
the space, the, the perspective on Open

00:33:39.518 --> 00:33:43.598
API and just how useful it is and how
broadly adopt it is has really changed.

00:33:43.698 --> 00:33:46.238
And so we really into embracing that.

00:33:46.238 --> 00:33:49.158
Like we love embracing standards if
they're working well, you know, we just

00:33:49.158 --> 00:33:54.038
shipped actually, um, uh, all of the
standard error responses from ZULO now

00:33:54.038 --> 00:33:59.918
come as, um, uh, problem details, which
is a new it I E T F 7 8 0 7 I think it is.

00:34:00.328 --> 00:34:03.038
Uh, friends of yours I'm
sure like Eric Wild and Gang,

00:34:03.038 --> 00:34:04.518
uh, who, who worked on that.

00:34:04.848 --> 00:34:06.478
So we, we shipped that recently.

00:34:06.478 --> 00:34:09.318
Saw all our standards
are are problem, but h B.

00:34:10.543 --> 00:34:12.423
and then we're like, how do
we lean more into open api?

00:34:12.423 --> 00:34:17.103
Because this is a great community,
it's our people and, uh, we think we

00:34:17.103 --> 00:34:18.183
can do something really specialist.

00:34:18.183 --> 00:34:23.503
We're actually moving our routing file
to be completely based on open api and

00:34:23.503 --> 00:34:28.783
we're just gonna use vendor extensions
to, um, to essentially plug in the things

00:34:28.783 --> 00:34:31.903
that are zulo specific to open api.

00:34:32.043 --> 00:34:33.783
And there's a couple of things
we're doing with that as well.

00:34:33.783 --> 00:34:35.903
So one is you can then import.

00:34:35.903 --> 00:34:39.623
So if you have like your public
open API doc or your primary,

00:34:40.043 --> 00:34:41.783
you can import that to zulo.

00:34:41.783 --> 00:34:44.783
And what we'll do is we'll take everything
that's not Zulo specific and overwrite it.

00:34:45.448 --> 00:34:48.288
and then we'll just keep the zulo
specific stuff for you so that you have

00:34:48.398 --> 00:34:50.288
kind of a really seamless workflow.

00:34:50.288 --> 00:34:54.088
You know, I've, I've been told, um,
I was actually checking to someone

00:34:54.088 --> 00:34:57.488
from another open API focus company
called cusk, which is kind of a

00:34:57.488 --> 00:35:01.568
open source, uh, open API gateway
based on Envoy for, for Kubernetes.

00:35:02.068 --> 00:35:07.448
And you know, lots and lots of stories
of people trying to write generators to

00:35:07.728 --> 00:35:11.768
generate a format for Kong or ambassador
or something based on open a p i.

00:35:12.468 --> 00:35:15.448
And I think you can really change
the workflow if you just actually

00:35:15.448 --> 00:35:16.728
make the whole thing native that way.

00:35:16.728 --> 00:35:19.048
So we're pretty close to
shipping that, that soon.

00:35:21.418 --> 00:35:24.148
mike_bifulco: Yeah, I think
that's, uh, a, a good thing

00:35:24.148 --> 00:35:25.388
to, to see the support coming.

00:35:25.388 --> 00:35:27.988
I think we have found sort
of the same thing, right?

00:35:28.228 --> 00:35:31.268
Like our audience, the people that
we talk to, uh, generally are coming

00:35:31.268 --> 00:35:34.628
to us from some sort of, uh, search
term that looks a whole lot like

00:35:34.628 --> 00:35:36.268
open API plus something, right?

00:35:36.268 --> 00:35:37.788
Like how do I x with open api?

00:35:37.928 --> 00:35:41.748
And I think that's a signal that, uh,
there's been a real change in, uh, the

00:35:41.748 --> 00:35:44.708
way those thing, the, the, you know,
the developer marketplace has kind

00:35:44.708 --> 00:35:47.188
of followed over the past, gosh, I
don't know, maybe six or seven years

00:35:47.188 --> 00:35:48.188
since things have really changed.

00:35:48.998 --> 00:35:52.348
Uh, and we're, we're having less and
less to tell people to call it open

00:35:52.348 --> 00:35:54.268
API and not swagger to, to that point.

00:35:54.268 --> 00:35:57.708
Which I think is one of those things
that was a bug bear, you know,

00:35:57.708 --> 00:36:00.668
a few years ago and has less and
less, um, been an issue for us.

00:36:00.858 --> 00:36:03.028
josh_twist: Yeah, I don't bump into
swagger that much now, actually.

00:36:03.028 --> 00:36:05.628
The word, um, I don't know if
that's, I'm just hanging around

00:36:05.628 --> 00:36:07.548
with the wrong people I'm hanging
around with, with people like you.

00:36:07.598 --> 00:36:12.548
So, so you're all such fans of the, of
the platform, but it is awesome and,

00:36:12.548 --> 00:36:15.628
you know, people like Darryl Miller,
who I missed narrowly when he worked

00:36:15.628 --> 00:36:20.068
on Azure, came into work on Azure API
management, I think super open to, to

00:36:20.068 --> 00:36:23.788
collaborating and, and, you know, gi
giving advice, people like Kevin, uh,

00:36:23.788 --> 00:36:27.628
Schwaber, uh, and so on have helped us
understand how we can do this better.

00:36:27.678 --> 00:36:28.628
So, yeah, it's cool.

00:36:32.238 --> 00:36:37.578
Track 1: And Darryl, who also is
currently, um, maintaining open api.tools.

00:36:37.748 --> 00:36:40.258
Um, cuz we both are a smidge busy.

00:36:40.448 --> 00:36:45.058
It's really funny, it's really funny
having, um, people who work for

00:36:45.058 --> 00:36:47.338
some of the tools listed on there.

00:36:47.628 --> 00:36:51.418
Um, because yeah, I mean e even
stoplight was saying like, Hey,

00:36:51.418 --> 00:36:52.458
why don't you put us at the top?

00:36:52.458 --> 00:36:53.618
I'm like, no, I'm not doing that.

00:36:54.828 --> 00:36:58.138
there's, there's always, I don't think
it's particularly serious, but um,

00:36:58.138 --> 00:37:02.018
yeah, there's, there's always that like,
perception of, uh, of being biased.

00:37:02.078 --> 00:37:05.858
And so no, we, we, we have all the
tools on there and yeah, it's not,

00:37:05.888 --> 00:37:08.858
it's not suddenly only Microsoft
tools listed on that website.

00:37:08.858 --> 00:37:09.098
So

00:37:09.153 --> 00:37:12.303
josh_twist: it is the downside of picking
a company with the name Z When you go

00:37:12.303 --> 00:37:15.543
into these catalogs, like we're always
the last entry on all of these things.

00:37:15.543 --> 00:37:16.183
And we honored it.

00:37:16.183 --> 00:37:18.983
When I, when I made the poll request
to open api.tools, I was like,

00:37:18.983 --> 00:37:19.983
I, I see what they're doing here.

00:37:19.983 --> 00:37:21.663
I'm not gonna, I'm not
gonna disrespect that.

00:37:21.843 --> 00:37:23.303
Can I ask you guys a question?

00:37:23.713 --> 00:37:24.383
Is that loud?

00:37:24.513 --> 00:37:24.753
mike_bifulco: away.

00:37:25.138 --> 00:37:25.578
Track 1: Can I

00:37:25.623 --> 00:37:28.143
josh_twist: have you seen, since we're
talking about open api, uh, Microsoft,

00:37:28.143 --> 00:37:30.503
I dunno if they just announced it,
but I just came across it on a blog

00:37:30.503 --> 00:37:31.343
post, this thing called cattle.

00:37:31.528 --> 00:37:32.008
Track 1: don't think just

00:37:32.368 --> 00:37:33.378
josh_twist: C a d L.

00:37:33.828 --> 00:37:36.458
Um, and it's a new a,
oh, I've caught you out.

00:37:36.458 --> 00:37:36.698
Sorry.

00:37:36.698 --> 00:37:37.458
I thought you might have seen

00:37:37.458 --> 00:37:37.538
it.

00:37:37.538 --> 00:37:38.018
I didn't mean

00:37:38.048 --> 00:37:39.492
Track 1: it's Yeah, yeah.

00:37:39.492 --> 00:37:41.172
I've, I haven't looked into it too much.

00:37:41.262 --> 00:37:46.692
Um, isn't that the API design language
that Darryl's been talking about yet?

00:37:46.902 --> 00:37:51.172
So we haven't talked about that on
here yet, but I think it's a really

00:37:51.332 --> 00:37:55.452
interesting idea because Darryl's
basically talking about how, um,

00:37:56.132 --> 00:37:59.212
currently open API is, is being used.

00:37:59.962 --> 00:38:01.972
I call it an API description language.

00:38:01.972 --> 00:38:05.092
That's fairly standard language at this
point, although people call it all sorts

00:38:05.092 --> 00:38:10.492
of stuff an a API description and you can,
and, and he's saying that it's not very

00:38:10.492 --> 00:38:12.972
useful for designing an API that will.

00:38:13.987 --> 00:38:14.147
right.

00:38:14.147 --> 00:38:17.867
So the way I've, I've said it is you
can describe the A API that you would

00:38:17.867 --> 00:38:21.187
like as well as you can describe
the A API that you already have.

00:38:21.607 --> 00:38:27.077
But Darryl suggesting that it's a
very terse open API is a very terse

00:38:27.077 --> 00:38:30.517
way of describing what you would like
and you immediately get bogged down

00:38:30.517 --> 00:38:34.557
with implementation details like paths
and headers and the names of query

00:38:34.557 --> 00:38:35.957
strings and, and everything else.

00:38:36.087 --> 00:38:40.237
Whereas you probably want to kind of
plan something maybe in a bit more

00:38:40.237 --> 00:38:43.677
of a shorthand, like scratch notes
kind of way is the understanding.

00:38:43.677 --> 00:38:44.957
I've not looked into the

00:38:45.282 --> 00:38:48.332
josh_twist: Yeah, no, I mean, we,
we played with it just the last

00:38:48.332 --> 00:38:49.692
few days and we're super impressed.

00:38:49.692 --> 00:38:52.172
It's like, it's nice, it's very
terse, it's very sort of short.

00:38:52.662 --> 00:38:55.332
Um, and then you can generate
an open API document from that.

00:38:55.662 --> 00:38:58.332
Um, so I think it's an
exciting development.

00:38:58.332 --> 00:39:01.252
We're, we're not sort of planning on
jumping into it too deeply at any point.

00:39:01.342 --> 00:39:05.162
Um, but I think the great things
about these is, and the reason why

00:39:05.162 --> 00:39:09.122
we we'd pick Open API is, is there's
just so much else going on in that

00:39:09.122 --> 00:39:10.722
ecosystem, you know, from spectral.

00:39:10.932 --> 00:39:13.682
So when we wanna build this lintering,
it's like we could just lean on the

00:39:13.682 --> 00:39:17.842
shoulders of, of stand on the shoulders
of giants that are, and um, you know,

00:39:17.842 --> 00:39:20.362
all of the things that folks can do
with open API that just make it great.

00:39:20.653 --> 00:39:23.743
Track 1: Yeah, you gotta take a look at
some of those rule sets I was doing, um,

00:39:24.113 --> 00:39:27.503
in, in between tree planting seasons, I
went back to stoplight for a little bit.

00:39:27.503 --> 00:39:31.263
They gave me a bit of extra, extra income
cuz uh, yeah, when there's no trees to

00:39:31.263 --> 00:39:32.343
plant, I'm like, wait, what am I doing?

00:39:32.673 --> 00:39:38.063
Um,  And um, yeah, they had me build
a whole bunch of raw sets and so I,

00:39:38.063 --> 00:39:43.183
one of them was the, uh, spectral
OWA set, which is quite a fun one.

00:39:43.183 --> 00:39:47.343
And it just, it tries to take a swing
as many of the owas as it possibly can.

00:39:47.753 --> 00:39:51.903
Um, so you could just bake that one in
there, like have, have a, do a quick

00:39:51.903 --> 00:39:55.023
check and go, um, that'll get you
hacked, mate, you know, just by looking

00:39:55.173 --> 00:39:55.933
josh_twist: No, that sounds great.

00:39:55.933 --> 00:39:59.293
And I'm definitely gonna, uh, uh, uh,
I think there was something else you

00:39:59.293 --> 00:40:02.813
mentioned actually the other day when
we chatted, um, that I wanna, I want

00:40:02.813 --> 00:40:05.453
to come and knock on your door as we,
as we start to work on that problem.

00:40:05.543 --> 00:40:05.893
So,

00:40:06.303 --> 00:40:07.133
uh, but yeah, no.

00:40:08.573 --> 00:40:09.653
Track 1: Mm Oh yeah.

00:40:09.653 --> 00:40:14.373
Things like, um, adding, um, request
validation and kind of response

00:40:14.373 --> 00:40:16.493
validation, aka a contract testing.

00:40:17.143 --> 00:40:20.293
Um, yeah, those things, I mean the,
there's just so much you can do.

00:40:20.293 --> 00:40:24.013
Once you have open API as your source
of truth, you can then do, you know, if,

00:40:24.013 --> 00:40:27.573
even if your tool isn't trying to touch
every single vertical in the entirety

00:40:27.573 --> 00:40:31.533
of the APA lifecycle, you can just kind
of send people off to the tools that do.

00:40:31.943 --> 00:40:36.693
Um, so it's, it's kind of why I was
asking about how the Open API would work.

00:40:36.693 --> 00:40:40.413
I remember talking to, I think it was
Kong and I think Tik were quite similar a

00:40:40.413 --> 00:40:44.373
couple of years ago, and they were like,
oh yeah, we've added open API support.

00:40:44.373 --> 00:40:47.133
There's this one text box that
you can pay something into.

00:40:48.193 --> 00:40:49.573
And I was like, and then what?

00:40:49.573 --> 00:40:50.493
They're like, no, that's it.

00:40:51.583 --> 00:40:56.653
Oh, like So like the idea that
you just have this open API in

00:40:56.653 --> 00:40:59.613
one file that's incorrect and that
you, you know, at some point you're

00:40:59.613 --> 00:41:00.773
done with it, that's incorrect.

00:41:01.103 --> 00:41:03.613
Um, there, there's all these kind of,
uh, data assumptions about it and.

00:41:04.273 --> 00:41:08.513
. So yeah, the fact that you are kind
of aware that it's an evolving thing

00:41:08.513 --> 00:41:12.233
over time and can live and get and
can be updated with pool requests

00:41:12.233 --> 00:41:16.273
and can, can integrate and hand off
with, with other parts and other tools

00:41:16.273 --> 00:41:17.713
to do different bits of it better.

00:41:17.713 --> 00:41:20.713
Like that's the beauty of using a
standard whether you like it or not.

00:41:20.713 --> 00:41:20.903
josh_twist: Phil.

00:41:20.903 --> 00:41:24.343
Yeah, the one, one other thing we,
we really love about it is if, if

00:41:24.343 --> 00:41:27.463
we go open API first, cuz actually
there's a couple of, you know,

00:41:27.463 --> 00:41:30.143
there's a couple of customers using
a zoo aren't particularly open api.

00:41:30.143 --> 00:41:31.663
They're just trying to get
something out the door.

00:41:32.243 --> 00:41:34.463
But, so they've gone in and
they've used our route designer,

00:41:34.463 --> 00:41:37.783
you know, that you, you mentioned
earlier, Now in the background that

00:41:37.783 --> 00:41:39.143
is generating an open API file.

00:41:39.143 --> 00:41:39.983
Now it's not very fancy.

00:41:40.093 --> 00:41:43.343
It's not, you know, it's not, it's
not as good as an open API file.

00:41:43.343 --> 00:41:44.983
You'll get out a stoplight or something.

00:41:45.433 --> 00:41:46.743
Um, but it's a good beginning.

00:41:46.743 --> 00:41:47.863
You're like off to the races.

00:41:47.863 --> 00:41:50.543
And then if you start to customize
the developer portal that we give

00:41:50.543 --> 00:41:53.343
you, you know, again, not all of the
customers use our developer portal.

00:41:53.343 --> 00:41:57.503
Some folks say they're happy with readme
or you know, reoc, all those folks.

00:41:57.503 --> 00:41:58.623
And again, we're fine with that.

00:41:58.623 --> 00:41:59.463
That's absolutely fine.

00:42:00.073 --> 00:42:02.863
Um, but I love that now that
you know, that, that people are

00:42:02.863 --> 00:42:05.623
automatically just getting something,
it's like some extra value for free.

00:42:05.623 --> 00:42:08.623
They might not know it yet, but they
will in a year's time when they wanna

00:42:08.623 --> 00:42:11.463
start linking that a p i and they've
got open a api, I, or they wanna

00:42:11.463 --> 00:42:13.063
start, does doing a API I design first.

00:42:13.063 --> 00:42:15.863
It's like, oh, well great, we've
already got this in Zulo and we know

00:42:15.863 --> 00:42:18.983
it's the truth cuz it is the gateway
that is, I know this is what's

00:42:18.983 --> 00:42:20.423
happening cuz it defines the gateway.

00:42:21.153 --> 00:42:22.783
Um, so we're excited about that as well.

00:42:23.328 --> 00:42:25.418
mike_bifulco: Josh, I would love
to hear what you're thinking about

00:42:25.418 --> 00:42:27.898
in terms of other things that
are coming next  what are the big

00:42:27.898 --> 00:42:28.778
things that you're thinking about?

00:42:29.688 --> 00:42:31.578
josh_twist: I mean, I think
there's a couple of trends

00:42:31.578 --> 00:42:32.658
obviously that are interesting.

00:42:32.658 --> 00:42:34.498
Like, I think edge compute
is gonna be important.

00:42:34.498 --> 00:42:36.658
I think we see a lot
of workloads shifting.

00:42:36.658 --> 00:42:42.418
There are, um, I haven't again, might be
one for you folks to ruminate on as well.

00:42:42.738 --> 00:42:46.498
Obviously there's some really interesting
stuff going on with AI right now, like

00:42:46.498 --> 00:42:50.738
from co-pilot to chat G P t writing
your code, and I'm like, I've kind of

00:42:50.738 --> 00:42:54.138
got one eye on that going, how is this
gonna play out in the world of APIs?

00:42:54.518 --> 00:42:57.178
And I'm not sure, I don't have
a, anything intelligent to say

00:42:57.178 --> 00:42:58.178
on that, so I'm not gonna try.

00:42:58.668 --> 00:43:05.458
Um, but I, but I'm curious if you folks
have, um, from a Zulo perspective, um,

00:43:06.668 --> 00:43:12.738
we have a lot of ambitions about helping,
um, helping companies sort of govern APIs.

00:43:12.738 --> 00:43:17.578
But with lowercase g we talk, it,
talk about it being, you know, api

00:43:17.578 --> 00:43:21.458
again, breaking down this, this
silo of the, the API gateway being.

00:43:22.753 --> 00:43:28.143
Um, being sort of sat on a, on a, on a,
in an ivory tower, on an iron throne.

00:43:28.913 --> 00:43:31.903
Um, and so we're really looking
at a lot of ways we can do that.

00:43:31.903 --> 00:43:33.423
So there's, there's all kind
of things we're being asked.

00:43:33.553 --> 00:43:39.063
So customers are asking for, um,
they want to run these tests.

00:43:39.063 --> 00:43:41.903
We have that, we say basically
make sure they, they're mostly

00:43:41.903 --> 00:43:43.183
like smoke tests, right?

00:43:43.183 --> 00:43:45.343
That the API they're shipping
is not bulked in some way, or

00:43:45.343 --> 00:43:46.463
they've not mis wired a route.

00:43:47.003 --> 00:43:50.063
But then they're saying, I want to have
other rules now that say someone can't

00:43:50.063 --> 00:43:53.423
go to production unless they've written
tests that give them, and I'd never

00:43:53.423 --> 00:43:57.423
thought of this concept before, unless
they have like 95% route coverage.

00:43:58.203 --> 00:43:59.433
So, you know, we think of code

00:43:59.443 --> 00:43:59.723
mike_bifulco: interesting.

00:43:59.873 --> 00:44:00.363
Yeah.

00:44:00.473 --> 00:44:00.713
josh_twist: right?

00:44:00.713 --> 00:44:03.913
But imagine a gateway that's like, you
know, you've got tests, but you're only,

00:44:03.913 --> 00:44:05.833
you're only adding 30% of your routes.

00:44:06.443 --> 00:44:10.073
Playing with so many percentage
of parameters and leaders

00:44:10.073 --> 00:44:10.993
in these organizations.

00:44:10.993 --> 00:44:11.953
They wanna be hands off.

00:44:11.953 --> 00:44:13.753
They wanna let their
developers do what they do.

00:44:14.013 --> 00:44:18.873
And so the idea of creating automated
rules and so on, that, that enforce

00:44:18.873 --> 00:44:20.113
the standards they're looking for.

00:44:20.113 --> 00:44:22.033
So Lin is one, but this
testing is another.

00:44:22.243 --> 00:44:23.913
So we're exploring a
lot of stuff like that.

00:44:24.123 --> 00:44:28.193
Um, and you know, we're, what I like doing
there is we're building it with customers.

00:44:28.283 --> 00:44:32.433
So we're, you know, we're not, we're not
inventing this, or we're sort of, there's

00:44:32.433 --> 00:44:35.113
a customer saying, I want this, and we're
building it in partnership with them.

00:44:35.113 --> 00:44:39.553
So if anybody listening is interested
in something like that, then we'll be

00:44:39.553 --> 00:44:42.393
all ears and very open to potentially
sort of partnering with you and

00:44:42.833 --> 00:44:44.073
building it out as a POC for you.

00:44:44.073 --> 00:44:45.913
And then we'll, we
productize it basically.

00:44:46.406 --> 00:44:46.896
mike_bifulco: Sure.

00:44:46.896 --> 00:44:47.176
Yeah.

00:44:47.176 --> 00:44:48.036
I think that's fascinating.

00:44:48.086 --> 00:44:51.176
gosh, uh, I guess I'm gonna admit
to this on a recording, but I would

00:44:51.416 --> 00:44:54.456
identify myself as someone who spent a
disproportionate amount of time poking at

00:44:54.456 --> 00:44:56.056
AI to see what's actually going on there.

00:44:56.706 --> 00:44:59.416
Uh, and, and ha have gone as far,
actually, when I was at Stripe,

00:44:59.416 --> 00:45:02.136
I was building a product with AI
just to show people how to build

00:45:02.136 --> 00:45:04.016
something using stripes, APIs, right.

00:45:04.016 --> 00:45:07.376
And sort of like a menial product that
doesn't do anything, uh, earth shattering.

00:45:07.376 --> 00:45:09.856
But as a result, got me going
down every rabbit hole under the

00:45:09.856 --> 00:45:11.016
sun, trying to find things out.

00:45:11.506 --> 00:45:14.736
Um, and I, I think from
a generative code based.

00:45:14.941 --> 00:45:15.501
Thing.

00:45:15.801 --> 00:45:19.861
The, the things that strikes me that AI
and APIs might get really interesting

00:45:19.861 --> 00:45:23.421
are things like writing better tests
and writing better documentation.

00:45:24.071 --> 00:45:25.701
Uh, because it's pretty good at that.

00:45:25.701 --> 00:45:30.461
You can, you can, uh, have it sort of
intro, spec, um, a bit of code and say

00:45:30.461 --> 00:45:32.221
like, explain to me what this code does.

00:45:32.631 --> 00:45:36.541
Uh, and to me, documentation is less
mission critical than writing the,

00:45:36.541 --> 00:45:39.781
the code itself in the sense that
like, if you write documentation and

00:45:39.781 --> 00:45:42.581
it's not great, it's not going to
open up security holes necessarily.

00:45:43.071 --> 00:45:46.341
Uh, so it's a good place to start
from, uh, in test case just as well,

00:45:46.341 --> 00:45:48.581
you could say, you know, write me
a test case for this, that tests

00:45:48.851 --> 00:45:52.061
a dozen different ways that zip
codes might not work for, you know,

00:45:52.061 --> 00:45:53.661
validation or whatever the case may be.

00:45:53.911 --> 00:45:55.981
Uh, and that ends up being pretty quick.

00:45:56.431 --> 00:45:58.781
Um, I've also found it to
be invaluable for learning.

00:45:59.391 --> 00:46:03.821
So, uh, if, if it was something like,
explain to me how to do this with, uh,

00:46:03.821 --> 00:46:07.461
you know, zola's management, uh, APIs or
something like that, it's good at that.

00:46:08.441 --> 00:46:10.681
Would I trust it to build a bank for me?

00:46:11.321 --> 00:46:12.401
Probably not anytime soon.

00:46:12.401 --> 00:46:13.641
You know, that's a different story.

00:46:13.701 --> 00:46:18.961
But, um, the, it's the, it's the, I don't
know, the liminal space between, uh,

00:46:19.141 --> 00:46:22.481
the, the actual creation of something
and connecting it to other things that

00:46:22.481 --> 00:46:23.921
I think AI is very good at right now.

00:46:24.451 --> 00:46:27.441
Um, I will also say, I'm on
the record saying I think AI is

00:46:27.681 --> 00:46:30.601
pretty dangerous because it looks
authoritative when it isn't always.

00:46:31.291 --> 00:46:33.321
Uh, and I'll, I'll drop
a, I'll link in the notes.

00:46:33.321 --> 00:46:35.241
I'll send it to you as
well, Josh, about one

00:46:35.271 --> 00:46:37.671
josh_twist: hallucination they call
it or something where it's like, um,

00:46:37.671 --> 00:46:39.071
halluc, is that the name I've seen?

00:46:39.071 --> 00:46:39.471
Yeah.

00:46:39.471 --> 00:46:40.431
I mean, I've been following it.

00:46:40.431 --> 00:46:41.751
I'm, I'm really interested in it actually.

00:46:41.751 --> 00:46:43.711
I thought it was a great answer
that Mike, actually, the idea of

00:46:43.711 --> 00:46:47.231
testing seems like a really, I,
that, that's another startup almost.

00:46:47.231 --> 00:46:47.391
Right?

00:46:47.391 --> 00:46:49.991
Someone should just go and do
that, like build an API testing

00:46:49.991 --> 00:46:51.871
company that, that is AI generative.

00:46:52.201 --> 00:46:52.551
Um,

00:46:52.981 --> 00:46:54.991
Track 1: when it comes to
documentation, I'm not sure.

00:46:54.991 --> 00:46:58.191
Um, I mean with most open
APA documentation, it's like

00:46:58.271 --> 00:47:01.071
peram user ID description, the

00:47:01.391 --> 00:47:01.951
josh_twist: that's like the,

00:47:01.951 --> 00:47:04.711
it's like those comments that
say, you know, the comments say

00:47:04.711 --> 00:47:05.791
the same thing as the function.

00:47:05.791 --> 00:47:08.711
It's like, this is the request parameter
and this is the food parameter.

00:47:08.711 --> 00:47:09.991
And you're like, yeah, thanks for the

00:47:09.991 --> 00:47:10.271
comments.

00:47:10.271 --> 00:47:11.911
So you don't want documentation like that?

00:47:12.126 --> 00:47:12.616
mike_bifulco: Yeah,

00:47:12.616 --> 00:47:14.976
well, it'll save you a bunch
of keystrokes in writing the

00:47:14.976 --> 00:47:17.336
JS doc that surrounds your
thing or, you know, the, the

00:47:17.336 --> 00:47:18.256
Ruby equivalent or whatever.

00:47:18.906 --> 00:47:22.736
Um, I, I will say I need to caveat this
with the most important AI story I have,

00:47:22.736 --> 00:47:26.016
which is, um, early on, in early days,
I was trying to see if I could get AI

00:47:26.016 --> 00:47:30.576
to generate an interesting blog post for
me about, uh, human psychology, like a

00:47:30.576 --> 00:47:31.616
thing that I found really interesting.

00:47:31.616 --> 00:47:36.776
And so I plugged this stuff into,
uh, um, uh, open AI open api.

00:47:36.776 --> 00:47:37.056
Yeah.

00:47:37.246 --> 00:47:41.136
Gosh, now I'm getting all crossfire
open AI's, uh, G P T A api.

00:47:41.136 --> 00:47:41.496
Right.

00:47:41.636 --> 00:47:44.136
And I asked it to write me an
article about this very specific,

00:47:44.136 --> 00:47:46.736
like, psychological thing, and
it wrote me a story and cited

00:47:46.846 --> 00:47:49.256
a marketing case study from.

00:47:50.966 --> 00:47:54.196
, uh, yellow Tail wine and it said
Yellow Tail Wine did all this stuff

00:47:54.196 --> 00:47:56.916
and here's how they made a billion
dollars with this marketing campaign.

00:47:56.916 --> 00:47:58.796
And like came up with examples
and all these other things.

00:47:58.796 --> 00:48:03.516
And I went to look up the campaign that
they had cuz it was  , a um, campaign

00:48:03.516 --> 00:48:04.396
where they were bashing themselves.

00:48:04.396 --> 00:48:07.796
Basically the campaign was called Yellow
Tail Wine Tastes like Crap, right?

00:48:07.796 --> 00:48:08.956
And that was like the whole thing.

00:48:08.956 --> 00:48:12.996
And, and the AI out of thin air
completely made up this entire case.

00:48:12.996 --> 00:48:16.836
Study cited numbers provided, uh, names
of campaigns and things like that.

00:48:16.836 --> 00:48:18.876
And near, as I can tell, it never existed.

00:48:19.316 --> 00:48:20.846
Track 1: Yeah, that's a known thing.

00:48:20.846 --> 00:48:22.166
It just makes up citations.

00:48:22.166 --> 00:48:25.326
Like all of the scientific, all of
the scientific studies and like all

00:48:25.326 --> 00:48:28.406
of the researchers and all of the
psychology, like all of the citations

00:48:28.406 --> 00:48:32.621
are invented for no apparent reason,
but it's always like, Three random white

00:48:32.621 --> 00:48:36.301
dude names with like, you know, middle
initials to make it sound intelligent,

00:48:36.321 --> 00:48:38.061
but done from the University of

00:48:38.451 --> 00:48:38.651
josh_twist: amazing.

00:48:38.651 --> 00:48:41.251
I've seen some examples of hallucination
where like, it's getting some stuff

00:48:41.251 --> 00:48:43.731
wrong or some like obvious math problem
wrong, but I've not seen anything

00:48:43.731 --> 00:48:46.531
that, that sort of elaborate where
it looks almost like deliberately

00:48:46.531 --> 00:48:48.371
fraudulent, you know, with like citation.

00:48:48.371 --> 00:48:49.131
I hadn't seen that.

00:48:49.321 --> 00:48:51.811
I wonder what the, the phenomenon
that's actually occurring there

00:48:51.811 --> 00:48:54.251
must be fascinating to someone
who understands how this stuff

00:48:54.251 --> 00:48:54.491
works.

00:48:54.888 --> 00:48:56.278
Track 1: there's a, there's a thing.

00:48:56.278 --> 00:48:58.598
I can't remember what it was,
but it's like intentional.

00:48:58.598 --> 00:49:02.358
They have some particular
reason for intentionally making

00:49:02.358 --> 00:49:04.038
up citations.

00:49:04.038 --> 00:49:04.278
I

00:49:04.428 --> 00:49:04.848
josh_twist: Wow.

00:49:04.848 --> 00:49:06.808
Okay, well I've got some
reading material here myself.

00:49:06.808 --> 00:49:08.328
These are great show notes
for me and I'm on the show.

00:49:08.328 --> 00:49:08.768
That's awesome.

00:49:09.634 --> 00:49:10.194
Track 1: some, yeah.

00:49:10.374 --> 00:49:13.954
I'm also wondering if the
open AI G P T API has an

00:49:13.954 --> 00:49:14.474
open api.

00:49:14.474 --> 00:49:15.994
That's the most important question here.

00:49:16.504 --> 00:49:19.194
josh_twist: That is the hardest
sentence that has ever been

00:49:19.194 --> 00:49:21.354
successfully said in a first take ever

00:49:21.514 --> 00:49:21.874
Track 1: ever.

00:49:22.609 --> 00:49:24.584
I honestly don't know how I said that.

00:49:24.584 --> 00:49:24.864
I

00:49:24.864 --> 00:49:25.024
am

00:49:25.434 --> 00:49:26.544
shocked and impressed,

00:49:26.864 --> 00:49:27.104
josh_twist: done.

00:49:27.414 --> 00:49:28.104
Yeah, no.

00:49:28.104 --> 00:49:28.744
I wonder if they do.

00:49:28.744 --> 00:49:30.144
I know they use Off zero actually.

00:49:30.144 --> 00:49:31.104
They're not using Zulo.

00:49:31.104 --> 00:49:31.504
Not yet.

00:49:31.504 --> 00:49:34.704
Maybe, uh, maybe, uh, if anyone
has a connection with Sam, we

00:49:34.704 --> 00:49:35.824
can um, we can get 'em over.

00:49:36.394 --> 00:49:37.144
Um, Yeah.

00:49:37.389 --> 00:49:41.739
mike_bifulco: So the, the one thing
I feel like I would be, um, remiss,

00:49:41.739 --> 00:49:45.979
uh, if I didn't ask you Josh, is
for developers who are building API

00:49:45.979 --> 00:49:49.699
products and, uh, building API projects
as side hobbies, things like that.

00:49:50.029 --> 00:49:51.419
Um, where do you go for news?

00:49:51.419 --> 00:49:54.859
Where do you go to look for things,
uh, that are not APIs you won't

00:49:54.859 --> 00:49:57.059
hate.com, uh, or open api.tools?

00:49:57.059 --> 00:50:00.219
Like how do you keep your eyes on
what's coming and how do you know,

00:50:00.429 --> 00:50:03.259
um, you know, when, when changes
are coming, like edge compute

00:50:03.259 --> 00:50:03.939
and things like that?

00:50:05.864 --> 00:50:08.914
josh_twist: Yeah, I, I'm not
super strategic about this, sadly.

00:50:08.914 --> 00:50:10.634
I wish I had a better
answer to this question.

00:50:10.704 --> 00:50:12.634
I mean, I spend a bit
of time on hacking news.

00:50:12.634 --> 00:50:17.434
I just, it'll be like the obvious
places, you know, um, often I'm looking

00:50:17.694 --> 00:50:22.074
for, I, I, I probably, it just comes
across my path now cause of what I do.

00:50:22.074 --> 00:50:25.554
Like someone on the team's gonna send it
to me or something so that I, I kind of

00:50:25.554 --> 00:50:27.994
have like a bunch of curation happening.

00:50:28.424 --> 00:50:31.874
I proactively spend time
where I think people will be,

00:50:32.269 --> 00:50:33.869
Asking questions about this.

00:50:33.869 --> 00:50:36.909
So, you know, I recently found, I hadn't
seen this before, I was kind of amazed.

00:50:36.909 --> 00:50:38.229
There's this site called Indie Hackers.

00:50:38.229 --> 00:50:41.069
I dunno if you know it, I think it's
created by someone at Stripe actually.

00:50:41.679 --> 00:50:45.189
Um, and that's a great place for
conversations if I'm from thinking

00:50:45.189 --> 00:50:47.109
about what are the problems
those people are trying to solve.

00:50:47.109 --> 00:50:50.749
So I'm, I'm a bit more strategic about
trying to go out there and discover

00:50:50.749 --> 00:50:53.189
the things people are talking about,
the problems they're trying to solve.

00:50:53.189 --> 00:50:55.829
Cause that's, I think, that's
where I can come in and add value.

00:50:56.159 --> 00:51:01.509
Um, I'm not super good at keeping up
with, um, with, uh, all the latest trends.

00:51:01.739 --> 00:51:09.069
I follow the usual people, Ken Lane, you
know, uh, Kevin Sch fiber, you guys, um,

00:51:09.089 --> 00:51:13.029
you know, I, I probably could share a
list of, of people I enjoy, uh, Kenneth

00:51:13.029 --> 00:51:18.469
Thunberg, um, these folks, and they tend
to flag, flag things I'm interested in.

00:51:18.809 --> 00:51:20.309
But yeah, that's, that's

00:51:20.309 --> 00:51:21.349
my, I'm not super strategic

00:51:21.654 --> 00:51:22.024
mike_bifulco: Sure.

00:51:22.024 --> 00:51:23.264
Um, well, that's reasonable to me.

00:51:23.314 --> 00:51:27.184
My, um, I've, I've abandoned Twitter
somewhat recently, and so I've been having

00:51:27.184 --> 00:51:31.064
to look in different places for, uh, you
know, expertise and learning and all that.

00:51:31.064 --> 00:51:34.464
And apart from having Phil send me a link
every now and again to something that,

00:51:34.464 --> 00:51:38.224
you know, uh, learns me this and that,
uh, I've, I've really had to change, like

00:51:38.224 --> 00:51:41.064
my, my behaviors and places I've gotten
to learn are really changing lately.

00:51:41.114 --> 00:51:41.464
So,

00:51:41.464 --> 00:51:41.904
yeah.

00:51:42.129 --> 00:51:42.859
josh_twist: You're on

00:51:43.054 --> 00:51:43.824
mike_bifulco: I am, yeah.

00:51:44.819 --> 00:51:46.469
josh_twist: I, someone needs
to teach me how to use it.

00:51:46.469 --> 00:51:47.149
That's the only problem.

00:51:47.149 --> 00:51:51.389
I, uh, I'm, I'm hit by that wall of like,
it's bowser level one problem, right.

00:51:51.389 --> 00:51:52.629
That we talked about before.

00:51:52.629 --> 00:51:55.789
It is tricky, but, uh, I, the,
the, you feel the reward is

00:51:55.789 --> 00:51:55.909
there.

00:51:55.909 --> 00:51:56.349
It's worth it.

00:51:56.789 --> 00:51:58.139
mike_bifulco: Um, I'm not sure.

00:51:58.389 --> 00:52:00.579
Uh, I, I will say I benefited quite a bit.

00:52:00.579 --> 00:52:02.579
Early days when I first
moved over last summer.

00:52:02.789 --> 00:52:06.339
Uh, someone who was touting themselves
as, uh, mastodons, unofficial

00:52:06.339 --> 00:52:10.579
Derell, uh, was posting some really
great tutorials on how to mastodon

00:52:10.579 --> 00:52:12.579
correctly, and that was really useful.

00:52:12.709 --> 00:52:16.899
Um, I've, I've, um, really just kind
of turned down the taps on all of that

00:52:16.899 --> 00:52:20.459
for myself, like less, less mastered
on than I was doing on Twitter.

00:52:20.649 --> 00:52:24.099
I've started posting on LinkedIn
and I really don't like it.

00:52:24.469 --> 00:52:27.779
Uh, it's just not like the, the
kind of place that's validating

00:52:27.779 --> 00:52:29.419
for sort of expertise I seek.

00:52:29.949 --> 00:52:33.259
Um, and so like, I don't know,
Google blogs, things like

00:52:33.259 --> 00:52:34.579
that, or, or podcasts, right?

00:52:34.579 --> 00:52:37.459
Or where a lot of my learning comes
from YouTube disproportionately too.

00:52:38.099 --> 00:52:38.589
josh_twist: Yeah,

00:52:39.048 --> 00:52:42.058
Track 1: Yeah, I don't know
where I would go to to be able

00:52:42.058 --> 00:52:43.338
to just be the same person.

00:52:43.778 --> 00:52:47.328
My, my, the people that follow me
now are the most weird collection

00:52:47.328 --> 00:52:51.768
of people of like hardcore old
school PHP nerds and API nerds.

00:52:51.768 --> 00:52:55.408
And then more recently, like a bunch
of counselors who are like, mostly

00:52:55.408 --> 00:52:58.288
are like trying to get me to help
them remove invasive species from

00:52:58.288 --> 00:52:59.128
their woodland around the corner.

00:52:59.148 --> 00:53:02.408
And I'm just effing and blinding and
banging on about computers and then

00:53:02.408 --> 00:53:03.728
getting really nerdy about

00:53:04.043 --> 00:53:05.723
josh_twist: might be the way
this Twitter stream might follow.

00:53:06.003 --> 00:53:07.003
Actually, it's definitely up there.

00:53:07.273 --> 00:53:09.483
It's like, why am I
following this guy again?

00:53:09.483 --> 00:53:09.923
What's here,

00:53:09.948 --> 00:53:10.798
Track 1: this guy again.

00:53:11.313 --> 00:53:12.163
josh_twist: It's good content.

00:53:12.363 --> 00:53:13.243
It's just random.

00:53:13.243 --> 00:53:13.683
It's

00:53:13.683 --> 00:53:14.123
just out there,

00:53:14.328 --> 00:53:15.458
Track 1: here's me showing you

00:53:15.458 --> 00:53:18.338
how to fix a, a, a flat tire
by shoving grass in there.

00:53:18.338 --> 00:53:20.538
And then next, like, it's
just, there's such a weird

00:53:20.538 --> 00:53:21.258
mixture of stuff.

00:53:22.348 --> 00:53:25.358
mike_bifulco: Yeah, Phil, I routinely
tell people that you are, uh, the,

00:53:25.358 --> 00:53:28.638
the, the person I know with the highest
talent for telling people when to go fuck

00:53:28.638 --> 00:53:31.158
off, uh, and exactly why they're wrong.

00:53:31.368 --> 00:53:33.918
Uh, and, and I want to channel
some more of that in my life,

00:53:33.945 --> 00:53:34.385
for sure.

00:53:34.435 --> 00:53:34.925
Track 1: Well,

00:53:35.033 --> 00:53:37.133
I'm currently getting into an
argument with a whole bunch of

00:53:37.133 --> 00:53:40.533
people cuz the Wildlife Trust and
HS two, the high speed rail line.

00:53:40.663 --> 00:53:43.613
Um, I just tweeted and said they're
both going at each other like an

00:53:43.613 --> 00:53:47.133
overserved hen party fighting over
who gets to hold the inflatable cock.

00:53:47.463 --> 00:53:50.933
Um, and they, uh, yeah that's
super professional off me

00:53:52.210 --> 00:53:54.160
mike_bifulco: Oh, we all have
something to learn from you, Phil.

00:53:54.160 --> 00:53:54.520
I think

00:53:54.730 --> 00:53:56.780
josh_twist: I think there's a
training course there, a Udemy

00:53:56.780 --> 00:53:58.980
course on, on, on the skill.

00:53:59.000 --> 00:54:02.780
You described that Phil has like
a, like a, a self-help course

00:54:02.780 --> 00:54:05.260
and um, there's a book like that.

00:54:05.260 --> 00:54:05.740
How to Give

00:54:05.740 --> 00:54:06.020
Less.

00:54:06.900 --> 00:54:09.750
Track 1: Anyway, that, That's
probably about time to call it a

00:54:09.750 --> 00:54:12.390
day .Cause it's just, it's
just send it into nonsense that

00:54:12.390 --> 00:54:12.630
that

00:54:12.630 --> 00:54:13.070
that always

00:54:13.070 --> 00:54:13.470
happens at

00:54:13.840 --> 00:54:15.770
mike_bifulco: Josh, where can
our listeners find you and where

00:54:15.770 --> 00:54:16.130
can they find

00:54:16.290 --> 00:54:16.570
Zulo?

00:54:16.620 --> 00:54:17.930
josh_twist: Uh, they
can find me on Twitter.

00:54:17.990 --> 00:54:19.130
I'm not super active.

00:54:19.220 --> 00:54:22.210
Um, uh, Josh Twist, they can
find zulo on Twitter as well

00:54:22.210 --> 00:54:25.170
at zulo, um, and uh, zulo.com.

00:54:25.820 --> 00:54:30.530
Um, I'm super chatty, so you can
email me@joshzulo.com as well, and

00:54:30.530 --> 00:54:32.450
I will almost certainly respond.

00:54:32.540 --> 00:54:35.210
So yeah, um, reach out, say hi.

00:54:35.530 --> 00:54:36.930
Those are easy places to find me.

00:54:36.930 --> 00:54:37.970
I'm on LinkedIn as well though,

00:54:37.970 --> 00:54:38.170
Mike.

00:54:38.170 --> 00:54:39.450
Uh, , that's a thing.

00:54:39.505 --> 00:54:39.625
Track 1: make

00:54:39.875 --> 00:54:40.545
mike_bifulco: Perfect.

00:54:40.695 --> 00:54:43.425
I'll, I'll send you my, uh, list
of 10 things I do to make my

00:54:43.690 --> 00:54:44.610
josh_twist: There we go.

00:54:44.705 --> 00:54:45.305
mike_bifulco: on LinkedIn.

00:54:45.755 --> 00:54:48.465
Uh, you also mentioned before that
you're hiring for at least one role.

00:54:48.465 --> 00:54:49.545
Where's the place to go for that?

00:54:49.850 --> 00:54:53.320
josh_twist: Uh, you can actually just
email, just email josh zulo.com if

00:54:53.320 --> 00:54:56.720
you're, if you're interested in the
developer advocate role, um, it, it is

00:54:56.720 --> 00:54:58.920
on our website, um, listed as a role too.

00:54:58.920 --> 00:55:01.920
You can email jobs zulo.com as
well, but I'll be person looking

00:55:01.920 --> 00:55:03.160
at 'em, so, so

00:55:03.160 --> 00:55:04.080
yeah, get in

00:55:04.080 --> 00:55:04.280
touch.

00:55:04.635 --> 00:55:05.305
mike_bifulco: Perfect.

00:55:05.305 --> 00:55:06.305
Well, thanks so much for your time.

00:55:06.305 --> 00:55:07.305
It was wonderful chatting with you.

00:55:07.305 --> 00:55:08.825
And thanks for, uh, your sponsorship as

00:55:08.890 --> 00:55:09.380
josh_twist: Yeah,

00:55:09.425 --> 00:55:09.825
Track 1: your talk.

00:55:09.855 --> 00:55:10.665
Yeah, thank you

00:55:10.775 --> 00:55:11.615
josh_twist: Yeah, I had a laugh.

00:55:11.615 --> 00:55:12.135
That's great.

00:55:12.135 --> 00:55:12.735
Thanks folks.