WEBVTT

NOTE
This file was generated by Descript 

00:00:00.853 --> 00:00:02.983
Mike Bifulco: Hello friends, and
welcome back to APIs you won't hate.

00:00:03.043 --> 00:00:06.313
My name is Mike Biko, API
developer, consumer sufferer

00:00:06.313 --> 00:00:07.513
designer, all of those things.

00:00:07.823 --> 00:00:11.003
And coincidentally also hosted
the show for quite a while now.

00:00:11.033 --> 00:00:14.673
I am excited to be sitting down today
and chatting with a new friend to

00:00:14.673 --> 00:00:17.583
talk about a product that is very
relevant to lots of API developers.

00:00:17.663 --> 00:00:18.413
If you have built.

00:00:18.613 --> 00:00:23.323
A tool or product or service that relies
on lots of APIs, you've probably also

00:00:23.323 --> 00:00:28.493
incurred spend and cost and you know, sent
dollars across the wire having to do with

00:00:28.493 --> 00:00:30.353
using other people's service services.

00:00:30.753 --> 00:00:34.653
Like me, you've probably also heard
nightmarish tales of people accidentally

00:00:34.653 --> 00:00:37.993
taking advantage of too much of a
service and ending up with a, you

00:00:37.993 --> 00:00:42.473
know, $20,000 spend accidentally
month over month because of a runaway.

00:00:42.518 --> 00:00:44.348
You know, for a loop
or something like that.

00:00:44.558 --> 00:00:47.898
And so I believe get into answering
some of the questions and some of

00:00:47.898 --> 00:00:49.188
this sort of neck of the woods.

00:00:49.238 --> 00:00:52.938
Chatting with my new friend Alex
Clarkfield who's founder of Super Good ai.

00:00:52.998 --> 00:00:54.498
Alex, thanks so much for joining me today.

00:00:54.498 --> 00:00:55.608
I really appreciate you being here.

00:00:55.608 --> 00:00:56.088
How are you doing?

00:00:56.683 --> 00:00:57.223
Alex Klarfeld: I am doing well.

00:00:57.223 --> 00:00:58.063
Thanks for having me.

00:00:58.813 --> 00:00:58.877
I'm excited to be here.

00:00:59.563 --> 00:01:00.313
Mike Bifulco: Yeah, of course.

00:01:00.313 --> 00:01:02.053
I'm really, really glad
you're here as well.

00:01:02.133 --> 00:01:05.403
I, I think I hinted pretty strongly
at super good and  what you're doing.

00:01:05.403 --> 00:01:07.923
Why don't we start with the elevator
pitch of super good and I'll   work

00:01:07.923 --> 00:01:09.853
back through your story from there.

00:01:09.853 --> 00:01:12.763
But yeah, tell, tell me the 32nd
pitch for what super good looks like.

00:01:12.763 --> 00:01:12.853
I.

00:01:13.448 --> 00:01:14.138
Alex Klarfeld: Yeah, for sure.

00:01:14.138 --> 00:01:15.008
It's pretty simple.

00:01:15.058 --> 00:01:17.698
So it's a couple lines of code you
drop into your code base and we

00:01:17.698 --> 00:01:21.118
automatically monitor the cost and
performance of your third party APIs.

00:01:21.628 --> 00:01:22.798
That's it in a nutshell.

00:01:23.048 --> 00:01:25.598
The performance and cost piece,
you can go into like a rabbit hole

00:01:25.598 --> 00:01:27.158
of like exactly what that means.

00:01:27.158 --> 00:01:31.028
I'm sure listeners of this podcast, like
horror stories are popping into their

00:01:31.028 --> 00:01:35.438
heads right away when they talk about
like APIs failing or causing problems

00:01:35.438 --> 00:01:38.948
and taking down parts of the business,
causing executives to freak out over.

00:01:39.223 --> 00:01:40.633
Insane invoices.

00:01:40.913 --> 00:01:42.653
But those are all the problems
we're looking to solve.

00:01:43.433 --> 00:01:43.853
Mike Bifulco: Yeah.

00:01:43.913 --> 00:01:44.333
Got it.

00:01:44.483 --> 00:01:46.313
Well, you've certainly
come to the right place.

00:01:46.343 --> 00:01:49.853
I am definitely one of those people
who uses a lot of APIs that are

00:01:49.853 --> 00:01:53.353
sort of spend per usage or at least
on some monthly cost based on.

00:01:54.303 --> 00:01:55.233
You know, capped use.

00:01:55.293 --> 00:01:57.273
And I think lots of the folks
who listen to this show will be

00:01:57.273 --> 00:01:58.473
really interested in that as well.

00:01:58.743 --> 00:02:01.803
I also should add that many of the
folks who listen to the show are

00:02:01.803 --> 00:02:04.863
also builders of API based products
and would probably be interested in

00:02:04.863 --> 00:02:08.623
what you have to say about offering
spend management tools to people and

00:02:08.623 --> 00:02:12.293
creating user experience, end user
experience for the people being billed.

00:02:12.293 --> 00:02:15.083
That is, I dunno, the most ideal perhaps.

00:02:15.133 --> 00:02:17.203
Before we get into that, I
would really like to hear about

00:02:17.203 --> 00:02:18.733
your story before Super good.

00:02:18.733 --> 00:02:21.493
So can you tell me a little bit about you
before this and kind of how you got here?

00:02:22.053 --> 00:02:22.713
Alex Klarfeld: Yeah, for sure.

00:02:22.903 --> 00:02:27.093
So, so before Super good, I helped
found a PropTech FinTech company called

00:02:27.153 --> 00:02:29.783
Divvy Homes divvy really cool mission.

00:02:29.783 --> 00:02:32.603
We were basically trying to help
renters transition into homeowners.

00:02:32.783 --> 00:02:34.973
So we take folks who like, maybe
they couldn't get a mortgage today.

00:02:35.273 --> 00:02:37.373
We thought they could get one
in like a couple years time.

00:02:37.473 --> 00:02:39.033
And then they would pick a house out.

00:02:39.033 --> 00:02:41.228
We would buy it for them, and
then they would, live in it.

00:02:41.293 --> 00:02:43.723
And each month, part of their
monthly rental payments would

00:02:43.723 --> 00:02:44.623
go towards a down payment.

00:02:45.043 --> 00:02:47.803
And the idea is at the end of this
program, they would we'd cash 'em out

00:02:47.803 --> 00:02:49.903
and we'd like help them get FHA mortgage.

00:02:50.213 --> 00:02:51.263
So really cool mission.

00:02:51.513 --> 00:02:54.723
The sort of like nitty gritty
inside was we built like an

00:02:54.723 --> 00:02:56.133
end-to-end home buying platform.

00:02:56.403 --> 00:02:59.763
So every part of the home buying
process was all in-house software.

00:02:59.983 --> 00:03:02.593
Which, you know, was a lot of
my responsibility for building.

00:03:03.133 --> 00:03:05.923
And as you can imagine, we had
actually sat down and counted,

00:03:05.923 --> 00:03:07.483
we had like 47 different.

00:03:07.738 --> 00:03:10.228
Third party APIs that we
had to integrate with.

00:03:10.568 --> 00:03:16.448
So it was the usual FinTech suspects
like Plaid, Experian Equifax, TransUnion

00:03:16.448 --> 00:03:18.428
checker, you know, you name it.

00:03:18.428 --> 00:03:19.718
All the payroll APIs.

00:03:19.988 --> 00:03:22.148
And then there's sort of like
a long tail of a bunch of like

00:03:22.148 --> 00:03:23.528
real estate specific ones.

00:03:23.888 --> 00:03:27.308
And, you know, two things would happen,
I'm sure a ton of people listening can

00:03:27.308 --> 00:03:30.848
relate to this was, you know, my day job
is like building code, trying to build

00:03:30.848 --> 00:03:32.078
the best product for our customers.

00:03:32.288 --> 00:03:34.988
And what felt was like my night
job was dealing with vendors so.

00:03:35.918 --> 00:03:38.408
One, like we'd get a bill
at the end of the month.

00:03:38.438 --> 00:03:39.668
Not to name names, but I will.

00:03:39.668 --> 00:03:43.868
But like DocuSign would like suddenly
say like, Hey, you guys are over and you

00:03:43.868 --> 00:03:46.418
owe us some crazy number of, of overages.

00:03:46.418 --> 00:03:49.178
And we're like, they would send us
a graph, I remember very vividly.

00:03:49.178 --> 00:03:50.828
And we're like, how do, how
do we not have this graph?

00:03:50.828 --> 00:03:53.588
Like, it's like buried in
logs somewhere and it's crazy.

00:03:53.888 --> 00:03:56.948
And the other part would happen
is like a developer, these APIs

00:03:56.948 --> 00:04:00.548
would break in really weird ways
and it wasn't like outages are

00:04:00.548 --> 00:04:02.348
easy to detect, like it's down.

00:04:03.233 --> 00:04:04.073
What do you do about that?

00:04:04.073 --> 00:04:07.163
But like schema changes were
a little bit more nefarious.

00:04:07.163 --> 00:04:10.733
Like the vendor suddenly upgrades
their version and everything breaks.

00:04:11.033 --> 00:04:14.633
Another one that like schema changes were
like value changes, like enums changing.

00:04:14.993 --> 00:04:15.773
That was pretty bad.

00:04:15.773 --> 00:04:19.433
The other one that was like worse I'd
imagine is like data quality issues,

00:04:19.643 --> 00:04:23.553
like all the, the hype that, you know,
someone trying to sell you an API

00:04:23.553 --> 00:04:26.823
can give you like you really don't
know until you run it in production

00:04:26.823 --> 00:04:28.113
and like against real customers.

00:04:28.293 --> 00:04:30.423
And then once it's in there, you
have to like continually analyze to

00:04:30.423 --> 00:04:33.303
make sure like you're paying like
a non-zero amount of money to that.

00:04:33.333 --> 00:04:35.313
So better get the most bang for your buck.

00:04:35.583 --> 00:04:38.193
So these were the two problems I kind
of ran into as super good was like.

00:04:38.388 --> 00:04:43.188
The sort of data quality, keeping up
with like the version of the APIs and

00:04:43.188 --> 00:04:46.128
then they kinda like all boiled down
to like the bottom line of our company.

00:04:46.128 --> 00:04:49.038
Like we were running customers through
this application flow, hitting a

00:04:49.038 --> 00:04:52.818
gauntlet of APIs and it was just
like would make or break our business

00:04:52.818 --> 00:04:55.518
depending on which, like how the
API performed and how much it cost.

00:04:56.813 --> 00:04:58.283
Mike Bifulco: Yeah, I think what a lot of.

00:04:58.623 --> 00:05:01.893
People maybe haven't experienced UN
until they're sitting at the helm of a

00:05:01.893 --> 00:05:05.443
company is that a lot of your success
or failure once you have a product that

00:05:05.443 --> 00:05:10.043
people are buying, is getting down to
unit economics and driving each user's

00:05:10.043 --> 00:05:13.973
experience to profit for you and value
for them in whatever way that means,

00:05:13.973 --> 00:05:15.083
you know, depending on the company.

00:05:15.263 --> 00:05:16.823
And it's a really hairy problem to solve.

00:05:17.048 --> 00:05:20.738
And every dollar that goes out the door in
the, in the name of making your customers

00:05:20.738 --> 00:05:23.048
happy is you know, working against you.

00:05:23.048 --> 00:05:26.708
And effectively in that sort of unit
economics game, it's a tricky thing to

00:05:26.708 --> 00:05:29.818
wrap your head around especially if you
know, you've, you've spent your days

00:05:29.818 --> 00:05:32.998
studying, say, computer science and
worrying more about merge sorts than like.

00:05:33.243 --> 00:05:36.903
The realities of a consumer facing product
or even a B2B product for that matter.

00:05:37.383 --> 00:05:41.463
Um, I, I'm curious, I don't know if
you mentioned before you built divvy

00:05:41.463 --> 00:05:43.203
homes and before you built super good.

00:05:43.203 --> 00:05:43.923
What was your background?

00:05:43.928 --> 00:05:45.513
Or you come from a prop tech background.

00:05:45.513 --> 00:05:46.703
Are you more on the business side?

00:05:46.703 --> 00:05:48.593
Are you a, a sort of straight
up and down developer?

00:05:48.593 --> 00:05:52.433
Like how, how has your, how has your
career path shaped where you are now?

00:05:53.093 --> 00:05:53.693
Alex Klarfeld: Yeah, for sure.

00:05:53.693 --> 00:05:55.973
So I'm a full stack developer
through and through.

00:05:56.073 --> 00:05:58.593
I studied electrical computer
engineering in college.

00:05:58.653 --> 00:06:02.283
Like made my way from like embedded
software into like web application

00:06:02.283 --> 00:06:06.523
software from the Midwest, moved
out to Silicon Valley based on.

00:06:06.803 --> 00:06:09.203
Some, some friends that came out
here and just got, kind of got

00:06:09.203 --> 00:06:12.233
fascinated by the ecosystem, but I've
always been a full stack developer.

00:06:12.233 --> 00:06:16.163
Sort of a master of none I like to
say, but I just love the breadth that

00:06:16.163 --> 00:06:18.913
it, that sort of, sort of gives me
and like really being able to like,

00:06:18.913 --> 00:06:20.503
dig into very specific problems.

00:06:20.583 --> 00:06:24.643
I also love product so just
combining like the two, two parts

00:06:24.643 --> 00:06:26.173
of like, just like building things.

00:06:26.273 --> 00:06:30.343
I care a lot about the, the what that
I'm building more so than a lot of like.

00:06:30.778 --> 00:06:33.328
Much better developers than
me care about, like the how.

00:06:33.578 --> 00:06:35.633
So that's, that's, that's kind of me,

00:06:36.598 --> 00:06:37.858
Mike Bifulco: Sounds shockingly familiar.

00:06:38.038 --> 00:06:40.498
I feel, I feel like in a lot of
ways I'm looking in a mirror there.

00:06:40.998 --> 00:06:44.118
Can you tell me then about ha have
you worked on developer facing

00:06:44.118 --> 00:06:45.318
products before Divvy homes?

00:06:45.318 --> 00:06:48.168
Sounds like it was more consumer
facing, but this is really built

00:06:48.228 --> 00:06:50.268
building four developers or dev teams.

00:06:50.358 --> 00:06:51.713
Is this your first time
around the block with that?

00:06:52.193 --> 00:06:52.313
I.

00:06:52.813 --> 00:06:52.873
Alex Klarfeld: S.

00:06:53.203 --> 00:06:54.463
P pretty much.

00:06:54.523 --> 00:06:57.533
I had a I worked at a company
that was, it was very interesting.

00:06:57.533 --> 00:07:00.293
It was tools for like
data engineering teams.

00:07:00.323 --> 00:07:02.703
It was founded by one of the
he was founded by the creator

00:07:02.703 --> 00:07:04.513
of Postgres Mike Stone Breaker.

00:07:04.733 --> 00:07:08.893
So we were building for fortune
500 companies basically, and like

00:07:08.893 --> 00:07:10.183
the development teams in there.

00:07:10.433 --> 00:07:11.273
So that was an experience.

00:07:11.273 --> 00:07:14.933
And then at Divvy we were like, we had
a very cool consumer facing application.

00:07:15.483 --> 00:07:18.123
But the, like, the sort of
like iceberg below, it was

00:07:18.123 --> 00:07:19.623
building for ops teams actually.

00:07:19.683 --> 00:07:22.203
'cause we had like an operations,
like it was a, it was like

00:07:22.203 --> 00:07:23.933
software powered ops company.

00:07:24.243 --> 00:07:27.363
So no developers specifically,
but I'm familiar with like working

00:07:27.363 --> 00:07:29.073
with like the in-house folks.

00:07:29.123 --> 00:07:31.223
Those were usually the people I
had to work with when I was like

00:07:31.223 --> 00:07:34.823
dealing with API issues because it
was typically like an ops person

00:07:34.823 --> 00:07:36.383
or like someone on underwriting's.

00:07:36.383 --> 00:07:38.873
Like I don't, I don't know why a bunch
of customers are starting getting

00:07:38.873 --> 00:07:39.893
stuck in their application flow.

00:07:39.893 --> 00:07:41.483
It's like, all right,
well Experian is down.

00:07:41.813 --> 00:07:42.683
And that kind of explains it.

00:07:43.858 --> 00:07:44.548
Mike Bifulco: Okay, cool.

00:07:44.578 --> 00:07:47.688
Yeah, and I, I guess the other thing
is as a you know, self-assigned

00:07:47.748 --> 00:07:50.988
full stack developer, you've
probably been subject to many other

00:07:50.988 --> 00:07:52.518
developer products along the way too.

00:07:52.518 --> 00:07:53.148
So I

00:07:53.148 --> 00:07:56.238
think that buys you some familiarity
with it, at, at the very least.

00:07:56.913 --> 00:07:59.733
Alex Klarfeld: Yeah, I've been a, I've
been a huge consumer of these, these

00:07:59.763 --> 00:08:03.633
APIs and there's, there's great ones
and then there's not so great ones.

00:08:03.963 --> 00:08:06.993
And I just, my goal with super
good, my long-term vision is I

00:08:06.993 --> 00:08:09.063
wanna make all the APIs great.

00:08:09.403 --> 00:08:11.113
So like the ones that are great are like.

00:08:11.113 --> 00:08:14.223
Killing it in the market
like plaid, I'd say.

00:08:14.223 --> 00:08:17.343
Like, they're so ubiquitous, but
they're, they're ubiquitous for a reason.

00:08:17.373 --> 00:08:19.923
Like the, the documentation is incredible.

00:08:20.163 --> 00:08:23.013
The onboarding experience for
developers are, are incredible.

00:08:23.013 --> 00:08:26.703
And like, I think also like Stripe
is, is one of the top dogs in

00:08:26.703 --> 00:08:27.843
terms of like developer experience.

00:08:27.843 --> 00:08:31.563
And I like, there's just a long tail folks
who like either just getting started out

00:08:31.563 --> 00:08:33.183
or don't have the resources to invest.

00:08:33.183 --> 00:08:36.783
And I just wanna like, bring everyone
up to the level that like the stripes

00:08:36.783 --> 00:08:37.953
and plaids of the world's have set.

00:08:38.788 --> 00:08:39.388
Mike Bifulco: Sure, yeah.

00:08:39.388 --> 00:08:40.678
It's an extremely high bar to hit.

00:08:40.728 --> 00:08:41.028
Is one of

00:08:41.028 --> 00:08:43.458
those things that I think a
lot of dev teams aspire to,

00:08:43.458 --> 00:08:45.768
especially if you're building
things for other developers to use.

00:08:46.008 --> 00:08:49.098
We as developers tend to be really
good at sniffing out things that

00:08:49.098 --> 00:08:50.508
we don't like, for whatever reason.

00:08:50.868 --> 00:08:54.798
And Metaphor is a really powerful
tool there, like saying, Hey, you

00:08:54.798 --> 00:08:57.408
know, like plaid's version of this
is so much better wise than this.

00:08:57.408 --> 00:08:59.418
More like plaid or, you know,
what were they thinking when they

00:08:59.418 --> 00:09:00.708
got here is a very common thing.

00:09:00.708 --> 00:09:03.258
And usually by way of comparison,
like, oh man, I really wish that

00:09:03.258 --> 00:09:05.988
was like Stripes web hooking
interface or whatever it may be.

00:09:06.138 --> 00:09:09.258
We, we also very nearly made it to
10 minutes into the podcast without

00:09:09.258 --> 00:09:12.558
me having to give the disclaimer that
I also previously worked for Stripe,

00:09:13.153 --> 00:09:13.653
Alex Klarfeld: Oh, cool.

00:09:13.788 --> 00:09:15.468
Mike Bifulco: something I feel
like I should call out on, on

00:09:15.468 --> 00:09:17.178
each and every mention of it.

00:09:17.228 --> 00:09:19.718
For, for clarity and, and for
transparency and all that.

00:09:20.173 --> 00:09:20.463
Alex Klarfeld: Cool.

00:09:20.888 --> 00:09:23.328
Mike Bifulco: okay, so we
touched a little bit on the, the

00:09:23.448 --> 00:09:24.918
elevator pitch for super good.

00:09:24.918 --> 00:09:28.308
So the tagline I think on your site
says something along the lines of

00:09:28.308 --> 00:09:32.608
like, curb your API spend before you
get a bill which is super cool and.

00:09:33.073 --> 00:09:34.993
I, I get the mission from that.

00:09:34.993 --> 00:09:37.683
You also mentioned that it's
something like a, a two or three

00:09:37.683 --> 00:09:39.333
line implementation to do that.

00:09:39.333 --> 00:09:41.073
So I'm curious about that.

00:09:41.073 --> 00:09:41.823
What does that look like?

00:09:41.823 --> 00:09:44.463
How do I integrate with super good
and start getting benefits from it?

00:09:45.203 --> 00:09:45.713
Alex Klarfeld: For sure.

00:09:45.743 --> 00:09:49.573
So super good is a, the way that
it works today is for a free

00:09:49.573 --> 00:09:51.553
version, it's a passive interceptor.

00:09:51.553 --> 00:09:52.453
It's not a proxy.

00:09:52.703 --> 00:09:55.523
So the way it works, all the
clients or SDKs are open source.

00:09:55.523 --> 00:09:56.813
You can check us out on GitHub.

00:09:57.153 --> 00:10:00.033
You drop in the few lines of
code and we basically apply

00:10:00.033 --> 00:10:01.683
a light monkey patch to like.

00:10:02.053 --> 00:10:03.973
Your favorite HTP library.

00:10:04.223 --> 00:10:07.573
And then what it does behind the scenes
is like, as calls get you know, made

00:10:07.573 --> 00:10:11.623
in your application, we kind of stow
away the calls locally in memory.

00:10:11.803 --> 00:10:14.233
And then what we'll do is
basically redact everything.

00:10:14.233 --> 00:10:17.203
Like there's, one of the big things that
I take very seriously is we do not want

00:10:17.203 --> 00:10:20.163
to have any data that we should not have.

00:10:20.373 --> 00:10:22.023
So everything is redacted by default.

00:10:22.023 --> 00:10:26.023
You can set that flag and then
once on an interval, those

00:10:26.023 --> 00:10:27.673
logs will get shipped to our.

00:10:28.063 --> 00:10:32.053
Our, our service, which will start
to analyze from a cost perspective,

00:10:32.053 --> 00:10:33.283
data quality perspective.

00:10:33.883 --> 00:10:38.393
We're sort of like just running live
analysis on your HTP logs specifically

00:10:38.603 --> 00:10:39.713
in order to solve this problem.

00:10:40.813 --> 00:10:41.233
Mike Bifulco: Got it.

00:10:41.233 --> 00:10:43.573
And so it sounds like it's
a client side integration.

00:10:43.673 --> 00:10:45.533
I mean, I would imagine there's a
service side element to this too,

00:10:45.533 --> 00:10:46.913
wherever API calls are happening.

00:10:47.123 --> 00:10:47.633
Is, I

00:10:47.633 --> 00:10:50.943
feel like one of the, the, the
things that my API dev friends

00:10:50.943 --> 00:10:54.353
would ask is what does that look
like in terms of performance hit?

00:10:54.413 --> 00:10:57.983
Is, is, are you getting in
between my call and the service?

00:10:57.983 --> 00:11:01.443
Or is this truly something that
is just like queue safe for later?

00:11:02.508 --> 00:11:05.148
Alex Klarfeld: Yeah, it's, it, I
intent, we intentionally built it

00:11:05.148 --> 00:11:06.948
to get out of the critical path.

00:11:07.188 --> 00:11:08.868
So that is why it's not a proxy.

00:11:08.868 --> 00:11:11.558
So it doesn't mess with any
like actual network traffic.

00:11:11.558 --> 00:11:14.468
There's no like network call
between the call that you're making.

00:11:14.768 --> 00:11:18.448
The only limitation is like memory
like the memory limitations of the

00:11:18.448 --> 00:11:19.468
machine that you're running on.

00:11:19.498 --> 00:11:22.978
'cause all it is, is dropping
the call into like a memory

00:11:22.978 --> 00:11:24.538
store locally and then running.

00:11:24.868 --> 00:11:27.508
Redaction on the, the, the js ON.

00:11:27.508 --> 00:11:28.588
So it's very minimal.

00:11:28.808 --> 00:11:31.993
Latency hit just like completely memory
bound to the machine that you're running.

00:11:32.793 --> 00:11:33.093
Mike Bifulco: Yeah.

00:11:33.093 --> 00:11:33.693
Fascinating.

00:11:33.698 --> 00:11:34.868
That's a very interesting angle.

00:11:35.118 --> 00:11:40.168
I can imagine the challenge of trying to
track billing for every, every API call

00:11:40.168 --> 00:11:42.298
is the every a API call part of that.

00:11:42.298 --> 00:11:43.828
So what, what have you done

00:11:43.828 --> 00:11:44.338
to try and.

00:11:44.698 --> 00:11:48.968
Determine like which of these calls
I'm making out of my service are

00:11:48.968 --> 00:11:50.823
ones that are metered in some way.

00:11:50.883 --> 00:11:52.463
How do you determine who's billing me?

00:11:53.458 --> 00:11:54.268
Alex Klarfeld: Yeah, exactly.

00:11:54.268 --> 00:11:58.798
So when the calls come in, we basically
run it through categorization right away.

00:11:58.798 --> 00:12:02.968
So try to figure out like easy ones,
like domain is specific to the vendor.

00:12:03.068 --> 00:12:04.118
The harder one is each.

00:12:04.148 --> 00:12:08.198
API has like a different signature, for
example, like S3 uses, like the sub-domain

00:12:08.198 --> 00:12:12.308
to like identify calls, but like maybe
certain plaid calls use the path.

00:12:12.308 --> 00:12:15.648
And then sometimes they'll stick
a like a ID somewhere in there.

00:12:15.738 --> 00:12:18.138
So the first step that we do is
sort of like categorize the calls.

00:12:18.138 --> 00:12:19.158
So as they flow in.

00:12:19.438 --> 00:12:21.358
We'll try to automatically
categorize them best we can.

00:12:21.358 --> 00:12:22.618
We actually use LLMs for that.

00:12:22.618 --> 00:12:23.608
It's pretty good.

00:12:23.928 --> 00:12:27.588
And then sort of like we can manually
re-categorize things if they're

00:12:27.588 --> 00:12:29.118
not like being grouped properly.

00:12:29.548 --> 00:12:33.688
And then after that, the, we kind
of had have like a toolbox in like

00:12:33.688 --> 00:12:35.308
the standard way that people bill.

00:12:35.558 --> 00:12:36.128
So like.

00:12:36.308 --> 00:12:41.648
We know how open AI and together, like
all Bill and plaid, also bill specifically

00:12:41.648 --> 00:12:43.418
based on like accounts rather than usage.

00:12:43.598 --> 00:12:46.498
And then we sort of built this
flexible framework on our end

00:12:46.798 --> 00:12:50.648
where we have the tools basically
to just implement custom billing.

00:12:50.648 --> 00:12:54.008
Like if you're like overage based
where it's like you get certain amount

00:12:54.008 --> 00:12:57.158
of calls for a certain value and
anything over that, it's more value.

00:12:57.158 --> 00:13:00.378
We can, we can basically fine
tune it to your specifications.

00:13:00.458 --> 00:13:04.718
But like for free users right away it's
just like, drop us in and get usage.

00:13:04.718 --> 00:13:08.588
And then the sort of like more advanced
metering for like the long tail APIs.

00:13:08.588 --> 00:13:09.638
We, we, we charge for

00:13:10.343 --> 00:13:13.703
Mike Bifulco: One of the things that
I am fascinated by is that it sounds

00:13:13.703 --> 00:13:18.833
to me like the hello world is drop a
snippet in and the product sort of starts

00:13:18.833 --> 00:13:20.303
sprinting away and going to work for you.

00:13:20.878 --> 00:13:21.168
Alex Klarfeld: that.

00:13:21.293 --> 00:13:21.743
That's right.

00:13:22.443 --> 00:13:23.133
, Mike Bifulco: that's really cool.

00:13:23.213 --> 00:13:24.983
What did the first version
of this product look like?

00:13:24.983 --> 00:13:27.683
Like did you target one API in
particular, or were you starting

00:13:27.683 --> 00:13:29.153
from categorization from day one?

00:13:29.993 --> 00:13:33.183
Alex Klarfeld: Yeah, the first version
of the API was, it was just a node

00:13:33.183 --> 00:13:37.503
library that like monkey patched fetch
and then just logged all the calls.

00:13:37.603 --> 00:13:40.693
I think like a lot of people, like outta
the gator, like, you know, I have Datadog

00:13:40.698 --> 00:13:42.553
or, or, or sort of century to do that.

00:13:42.553 --> 00:13:46.183
And like the first version
that we built at Divvy was like

00:13:46.183 --> 00:13:48.343
trying to use Datadog to do this.

00:13:48.343 --> 00:13:48.883
And

00:13:49.153 --> 00:13:52.423
it's really hard, like it's just a very,
like both like expensive from like a

00:13:52.423 --> 00:13:53.773
cost perspective where you have to.

00:13:54.173 --> 00:13:57.863
Like triangulate everything, like
every, every single thing that you

00:13:57.863 --> 00:14:01.853
need to, to meter or you need to like
tag and, and instrument appropriately.

00:14:02.153 --> 00:14:05.663
Plus the sort of like dashboarding
and setting up of it is like hard.

00:14:05.663 --> 00:14:08.673
And sometimes like there's a
lot of like, you know, native

00:14:08.673 --> 00:14:10.353
knowledge to the, to the team.

00:14:10.353 --> 00:14:13.053
That's like, it's one person that
understands the Datadog logs and then

00:14:13.263 --> 00:14:14.433
you also have to like maintain it.

00:14:14.433 --> 00:14:17.913
So like not only is Datadog gonna
charge you per like field that you're

00:14:17.913 --> 00:14:20.493
indexing, they're gonna, you're gonna
like have to continue to maintain it.

00:14:20.493 --> 00:14:22.503
So the first version of this
honestly, was like, tried to

00:14:22.503 --> 00:14:24.243
build in Datadog super hard.

00:14:24.638 --> 00:14:25.838
Very difficult to maintain.

00:14:25.928 --> 00:14:29.268
Second version of it was like a
custom logger which is more similar

00:14:29.268 --> 00:14:30.408
to what super good is today.

00:14:30.628 --> 00:14:32.368
And then really it was
just a graph on a screen.

00:14:32.368 --> 00:14:34.858
There's just like, here's a bunch
of vendors you use and then here's

00:14:34.858 --> 00:14:36.838
like their, their associated usage.

00:14:37.058 --> 00:14:40.118
Get ready for the invoice and, and, and
kind of like building on from there.

00:14:41.473 --> 00:14:41.763
Mike Bifulco: Okay.

00:14:42.248 --> 00:14:42.998
And so.

00:14:43.983 --> 00:14:47.223
Let's say I, if I've integrated with super
good, it's starting to measure metering

00:14:47.223 --> 00:14:48.993
for the various APIs I'm consuming.

00:14:49.203 --> 00:14:52.053
What does my end user experience
look like with Super good?

00:14:52.053 --> 00:14:53.283
Is it a dashboard I get?

00:14:53.283 --> 00:14:54.393
Do I get a series of emails?

00:14:54.393 --> 00:14:54.963
Is it ACL I?

00:14:55.263 --> 00:14:58.713
Like what, what's my how do I get
insight into what this all looks like?

00:14:59.463 --> 00:14:59.823
Alex Klarfeld: For sure.

00:14:59.823 --> 00:15:01.083
So we have a dashboard.

00:15:01.133 --> 00:15:04.298
Though as an engineer myself, I
do not want to give engineers a.

00:15:04.418 --> 00:15:06.098
Another single pane of glass to look at.

00:15:06.368 --> 00:15:09.278
So it is, is meant to audit
if you, if you want to.

00:15:09.498 --> 00:15:13.578
The two ways that we mainly interface
with, with folks is through alerting.

00:15:13.628 --> 00:15:15.848
So right now we have standard
slack alerting set up.

00:15:15.848 --> 00:15:18.818
So if it's like we start to notice
overages spikes in the bill, you'll

00:15:18.818 --> 00:15:22.208
get, you'll get a Slack alert and then
also like sort of a weekly report.

00:15:22.268 --> 00:15:25.268
So at the end of the week you'll
say, okay, this is sort of like the

00:15:25.268 --> 00:15:27.178
usage that we, we've been seeing.

00:15:27.368 --> 00:15:29.618
If you have uploaded like
your contract information,

00:15:29.618 --> 00:15:31.148
we'll sort of be able to like.

00:15:31.523 --> 00:15:34.403
Give you a heads up that like some
sort of renewal is, is happening.

00:15:34.453 --> 00:15:38.503
And then the sort of the, the other
suite of tools we have is around

00:15:38.503 --> 00:15:41.863
like data quality monitoring and like
more of like the nitty gritty error

00:15:41.863 --> 00:15:44.623
monitoring, where it's like, okay, we
see an error that we haven't seen before.

00:15:45.358 --> 00:15:48.448
We just wanna flag this to you to make
sure it's not taking down another system.

00:15:48.448 --> 00:15:51.428
'cause a lot of these errors
that issues have can go quietly.

00:15:51.608 --> 00:15:55.118
Mostly because if you, even if you have
instrumentation set up and like the

00:15:55.358 --> 00:15:58.838
best tools, which we, we use personally,
like Century and Datadog, they get

00:15:58.838 --> 00:16:01.418
noisy because APIs might error for.

00:16:02.003 --> 00:16:03.233
A non error reason.

00:16:03.233 --> 00:16:05.813
For example, like if plaid,
someone disconnects their account,

00:16:05.813 --> 00:16:08.003
you're gonna get errors all the
time, every time you pull it.

00:16:08.003 --> 00:16:10.793
But like, it's not really an actual
error, so you tend to ignore it.

00:16:10.793 --> 00:16:14.723
But if you have like 80% of your calls
to plaid totally disconnected, that's

00:16:14.723 --> 00:16:18.213
probably something that you, you shouldn't
ignore to save some money, at least.

00:16:19.113 --> 00:16:19.473
Mike Bifulco: Sure.

00:16:19.503 --> 00:16:20.763
Yeah, that all sounds very familiar.

00:16:20.763 --> 00:16:21.183
Actually.

00:16:21.183 --> 00:16:25.953
I spent a non-trivial amount of time, just
this week debugging an error with Twilio.

00:16:26.263 --> 00:16:28.573
We were getting an error response
from, from some API calls.

00:16:28.573 --> 00:16:31.723
And the API call is basically like
Mike and Alex are texting each other.

00:16:31.723 --> 00:16:36.283
If I have a text conversation with you
over SMS and I, if I send an API call to

00:16:36.283 --> 00:16:38.053
say, please add Alex to this conversation.

00:16:38.053 --> 00:16:41.333
It fails sends a a 4, 4 0 9 back.

00:16:41.523 --> 00:16:45.423
And the docs for Twilio say like, if you
get this error, probably just ignore it.

00:16:46.278 --> 00:16:48.558
But it, it's, you know, when you
start getting that error a lot,

00:16:48.558 --> 00:16:49.728
it sends up a lot of signals.

00:16:49.728 --> 00:16:51.648
And especially if that was
something that was billed, it's

00:16:51.648 --> 00:16:52.698
something I'd wanna know about.

00:16:52.698 --> 00:16:56.038
But it may also just be a signal
from my tooling that we're trying to

00:16:56.038 --> 00:16:57.268
do something we shouldn't be right.

00:16:57.273 --> 00:17:01.298
It, it may be a a non breaking error or
maybe a breaking error, but it's a little

00:17:01.298 --> 00:17:02.648
hard to ascertain from the beginning.

00:17:02.968 --> 00:17:06.718
And I would certainly wanna know
if all of my, or 80% of my Twilio

00:17:06.718 --> 00:17:08.488
calls started failing in a hurry too.

00:17:08.698 --> 00:17:10.388
That's that's a great angle to take.

00:17:11.678 --> 00:17:13.238
Alex Klarfeld: Yeah, and the,
I mean like it just feels like

00:17:13.238 --> 00:17:14.228
pushing a boulder up the hill.

00:17:14.228 --> 00:17:17.948
Like even if you instrumented something
to catch that specific error and you

00:17:17.948 --> 00:17:21.068
put all the instrument, like, okay, this
is a thing that we need to like alert.

00:17:21.068 --> 00:17:23.528
If it's only exceeding a
certain threshold, it might be

00:17:23.528 --> 00:17:25.688
another one that's like probably
gonna come up in the meantime.

00:17:25.688 --> 00:17:27.398
And it's just sort of never ending battle.

00:17:27.548 --> 00:17:29.198
That's why like as an engineer, it's like.

00:17:29.378 --> 00:17:30.308
Just drop us in.

00:17:30.488 --> 00:17:32.138
We handle like the
instrumentation remotely.

00:17:32.138 --> 00:17:35.958
Also, like APIs are like a finite there's
like a finite schema for each of them.

00:17:35.958 --> 00:17:38.508
Like there's documentation,
there's a lot of data that sort of

00:17:38.508 --> 00:17:39.978
like confines the problem space.

00:17:39.978 --> 00:17:43.958
So like why not utilize that rather than
trying to set everything up on your own.

00:17:44.768 --> 00:17:45.218
Mike Bifulco: Sure.

00:17:45.278 --> 00:17:45.428
Yeah.

00:17:45.428 --> 00:17:49.518
To, to that end, I'm curious for devs who
may be listening who build API products

00:17:49.618 --> 00:17:52.468
is there something they can do or is
there a way for them to integrate from

00:17:52.468 --> 00:17:56.428
their side to ensure that Super goods
understanding of their API is correct?

00:17:56.718 --> 00:17:59.418
Do you consume anything along those
lines to say that, like, don't let the

00:17:59.418 --> 00:18:03.068
LLMs decide, let, let you know, the
product owners themselves configure it.

00:18:03.833 --> 00:18:06.803
Alex Klarfeld: Yeah, actually, so
part of, part of our, our pitch is we

00:18:06.803 --> 00:18:08.483
wanna also help out the API vendors.

00:18:08.483 --> 00:18:13.323
We're starting to roll that out right
now, where basically we wanna help give

00:18:13.323 --> 00:18:17.193
the same experience that the plaids
and the stripes of the world give to

00:18:17.193 --> 00:18:19.133
their customers to those API vendors.

00:18:19.133 --> 00:18:19.403
So.

00:18:19.623 --> 00:18:21.123
That integration's a little bit different.

00:18:21.123 --> 00:18:25.293
We basically don't wanna get in in the way
of any sort of like live traffic as well.

00:18:25.503 --> 00:18:29.703
So we'll actually hook into the API
vendors logs themselves and sort

00:18:29.703 --> 00:18:31.533
of start, start using our tool.

00:18:31.533 --> 00:18:34.833
Like the first version of this product
is basically like building out internal

00:18:34.833 --> 00:18:36.363
dashboards if they don't already exist.

00:18:36.363 --> 00:18:39.073
And then surfacing that
information up to the sales team

00:18:39.073 --> 00:18:40.843
or supports teams so that like.

00:18:41.463 --> 00:18:43.533
They can provide a better
experience for their customers.

00:18:43.533 --> 00:18:47.433
Like some of the best API experiences
I've had are from like, honestly

00:18:47.433 --> 00:18:50.583
like Century and the Datadog, where
they're like, Hey, your usage is

00:18:50.763 --> 00:18:52.683
about to exceed what you pay for.

00:18:52.683 --> 00:18:54.003
Just like wanna give you a heads up.

00:18:54.313 --> 00:18:55.843
And that's just like not the norm.

00:18:56.063 --> 00:18:59.573
So we want to kind of help, help
the API vendors themselves, make a

00:18:59.573 --> 00:19:02.213
better experience for the customers,
like engage customers when we they

00:19:02.213 --> 00:19:05.343
notice they're having issues engage
when like there's spikes in usage.

00:19:05.343 --> 00:19:07.953
So that's also like a pretty big
focus of ours is like building

00:19:07.953 --> 00:19:09.093
a product for the vendors.

00:19:09.193 --> 00:19:11.893
Mike Bifulco: Yeah, as a vendor,
there's many things to get right there.

00:19:12.263 --> 00:19:16.193
Pricing is a tricky challenge because
it needs to ensure the vendor can make

00:19:16.193 --> 00:19:19.943
money, but also that there's an on-ramp
for users who start at a reasonable level

00:19:20.043 --> 00:19:23.673
and that they, they don't have to, you
know, invest a ton to prove that the thing

00:19:23.673 --> 00:19:26.073
is useful and valuable at the same time.

00:19:26.073 --> 00:19:29.183
I would imagine some of it is also,
trying to be competitive with the

00:19:29.183 --> 00:19:33.053
competition and making sure that
comparable services, you know don't under

00:19:33.143 --> 00:19:36.353
underprice or overprice you or whatever
the optimization challenge is there.

00:19:36.833 --> 00:19:38.933
To that end, maybe one of the things
I'm curious about and I had kind of

00:19:38.933 --> 00:19:42.203
noted to ask you about is tell me a
little bit about Super goods pricing.

00:19:43.278 --> 00:19:43.608
Alex Klarfeld: Right.

00:19:43.668 --> 00:19:45.438
So we, we just released a free tier.

00:19:45.468 --> 00:19:47.118
You can download it for free.

00:19:47.428 --> 00:19:50.878
We basically limit to like, we, we won't
actually block you because I don't believe

00:19:50.878 --> 00:19:55.998
in that sort of sales tactic just as
like an API consumer who, goes overage.

00:19:55.998 --> 00:19:57.678
We're not gonna, we're not
gonna overcharge you for that.

00:19:57.678 --> 00:20:01.518
We'll hopefully have some conversations at
the start, but the free tier is basically

00:20:01.618 --> 00:20:02.878
a hundred thousand calls a month.

00:20:02.928 --> 00:20:06.708
You can, you can set up pricing
for three vendors automatically and

00:20:06.708 --> 00:20:09.758
then sort of like track usage from
the rest of the vendors for free.

00:20:10.158 --> 00:20:13.188
Just to, the idea is like, we don't
wanna charge you for the vendors that

00:20:13.188 --> 00:20:15.198
like work and aren't really expensive.

00:20:15.198 --> 00:20:17.298
Like you shouldn't have to
pay for like tracking, like.

00:20:17.628 --> 00:20:21.288
You know, maybe Google
APIs or like Stripes APIs.

00:20:21.318 --> 00:20:22.518
'cause those just work.

00:20:22.638 --> 00:20:26.328
So the best customers are the ones who are
like, yeah, we, we like, have a specific

00:20:26.328 --> 00:20:30.778
set of APIs that we wanna keep an eye on
from price and like, quality and usage.

00:20:30.868 --> 00:20:34.438
And those are the ones that like,
we also want to provide value for.

00:20:34.728 --> 00:20:37.578
So that's, that's the way that like
philosophically, like I'm trying, we're

00:20:37.578 --> 00:20:39.628
trying to price is, is get that for free.

00:20:39.628 --> 00:20:42.658
And then everything else is sort
of like the enterprise part where

00:20:42.658 --> 00:20:44.128
you have more than a million calls.

00:20:44.253 --> 00:20:47.073
You have all sorts of vendors that
you want to sort of keep an eye on.

00:20:47.353 --> 00:20:51.293
That's, that's sort of like dependent
on the the, the, the enterprise itself.

00:20:53.063 --> 00:20:53.303
Mike Bifulco: Okay.

00:20:53.303 --> 00:20:53.963
That makes sense.

00:20:53.963 --> 00:20:55.178
I, I feel like there's a pretty big.

00:20:55.783 --> 00:21:01.063
Delta between three APIs and a hundred
thousand calls and enterprise grade.

00:21:01.363 --> 00:21:04.753
The question I would have there as
a potential consumer is when I get

00:21:04.753 --> 00:21:09.743
to 100,001 calls and four vendors
like what is, what is the on-ramp?

00:21:09.743 --> 00:21:13.103
Like there, am I jumping from zero to,
you know, thousands of dollars a month?

00:21:13.103 --> 00:21:16.463
Is it like, what's the scale of,
of initial costs, I guess for

00:21:16.463 --> 00:21:17.633
someone who's incrementally adding.

00:21:18.323 --> 00:21:18.653
Alex Klarfeld: Yeah.

00:21:18.653 --> 00:21:22.613
And, and, and like our goal is like
onboard slowly, especially like with

00:21:22.613 --> 00:21:25.733
growing companies, like you just don't
know how many APIs you're going to use.

00:21:25.733 --> 00:21:28.733
And I, for one, don't wanna be
someone who's like, oh, surprise,

00:21:28.733 --> 00:21:31.463
you added like another LLM, this
is like adding to your bill.

00:21:31.743 --> 00:21:34.473
So we basically try to charge,
we basically try to give

00:21:34.743 --> 00:21:36.603
th 30 days free to monitor.

00:21:37.323 --> 00:21:40.413
Every single API at any volume,
just to make sure that like, okay,

00:21:40.413 --> 00:21:43.383
is this an API that is like worth
monitoring and worth tracking?

00:21:43.653 --> 00:21:46.863
And the idea is at the end of the 30
days, you tell us and say like, yeah,

00:21:46.863 --> 00:21:50.763
I wanna keep tabs on that, or I don't,
and then we basically discard it.

00:21:50.763 --> 00:21:54.543
Or like, there's, there's a way that you
can set, set to ignore certain vendors

00:21:54.543 --> 00:21:58.263
inside of our UI to just like, turn 'em
off right away so it won't stop working.

00:21:58.263 --> 00:22:01.783
We'll just stop tracking if you
choose to, to stop tracking that API.

00:22:02.698 --> 00:22:03.118
Mike Bifulco: Sure.

00:22:03.118 --> 00:22:03.538
Got it.

00:22:03.908 --> 00:22:05.888
I'm gonna press a little
further only because I feel

00:22:05.888 --> 00:22:08.258
like it's my solemn duty
to do so, but like what was

00:22:08.258 --> 00:22:09.398
truly, what's the scale there?

00:22:09.398 --> 00:22:10.928
Am I looking at hundreds, thousands?

00:22:11.428 --> 00:22:12.573
Alex Klarfeld: Scale in
terms of like the volume.

00:22:13.093 --> 00:22:14.503
Mike Bifulco: No, sorry,
in terms of cost, right?

00:22:14.503 --> 00:22:19.053
So, so like, when, when your customers
convert from free to paid maybe for

00:22:19.053 --> 00:22:21.213
the smallest ones who are growing,
what does that tend to look like

00:22:21.213 --> 00:22:22.433
for their, their incremental ad?

00:22:23.183 --> 00:22:23.783
Alex Klarfeld: Yeah, for sure.

00:22:23.783 --> 00:22:28.403
So it's, if it's pushing a million
calls upwards we basically start

00:22:28.403 --> 00:22:33.093
at like 99 a month and then 10
million calls upwards, like, sort of

00:22:33.093 --> 00:22:34.593
like custom pricing based on that.

00:22:34.593 --> 00:22:39.543
But again, if it's a million calls to,
like, Google doesn't, like, probably

00:22:39.543 --> 00:22:40.443
something you don't need to track.

00:22:40.443 --> 00:22:44.633
So it's like more of like million calls,
like, like open ai a month kind of

00:22:44.633 --> 00:22:45.713
thing is like a hundred bucks a month.

00:22:46.448 --> 00:22:46.808
Mike Bifulco: Right.

00:22:46.838 --> 00:22:47.138
Okay.

00:22:47.228 --> 00:22:48.188
Yeah, that makes sense.

00:22:48.708 --> 00:22:51.558
That, that to me is a narrative
that I think is easy to sell too.

00:22:51.618 --> 00:22:54.908
Like the the scary thing is if the
product you're using to manage your

00:22:54.908 --> 00:22:57.128
spending becomes a giant spend to

00:22:57.128 --> 00:23:00.038
manage the spending, then it's
like, you know, an or a boroughs

00:23:00.038 --> 00:23:03.058
of challenges to, to upsell through
the product stack there too.

00:23:03.803 --> 00:23:06.293
Alex Klarfeld: No, I'm very cognizant of
that, like all the ways that vendors have

00:23:06.293 --> 00:23:10.943
hurt me with pricing is like not something
that I wish to incur on like my own users.

00:23:11.183 --> 00:23:15.203
So the idea is to be transparent
and like not screw up their

00:23:15.203 --> 00:23:16.613
businesses as much as possible.

00:23:17.123 --> 00:23:17.423
Mike Bifulco: Cool.

00:23:17.513 --> 00:23:18.173
Yeah, I love that.

00:23:18.173 --> 00:23:21.333
I think that's a, a good angle to
take and especially like I alluded to

00:23:21.333 --> 00:23:23.733
before, I think developers are really
good at sniffing out when they're

00:23:23.733 --> 00:23:26.913
being toyed around with, and, you know,
they're the first ones to head for

00:23:26.913 --> 00:23:28.233
the hills if something feels fishy.

00:23:28.863 --> 00:23:29.643
Alex Klarfeld: I don't really blame him.

00:23:29.643 --> 00:23:30.333
I've done the same.

00:23:31.233 --> 00:23:31.473
Mike Bifulco: Right.

00:23:31.473 --> 00:23:31.833
Yeah.

00:23:31.953 --> 00:23:32.673
You are one of 'em.

00:23:32.673 --> 00:23:33.243
So it, it

00:23:33.243 --> 00:23:33.783
makes sense.

00:23:33.783 --> 00:23:34.053
Yeah.

00:23:34.603 --> 00:23:34.873
Okay.

00:23:34.873 --> 00:23:36.403
So tell, tell me what's next?

00:23:36.403 --> 00:23:38.713
Like, what other problems are you starting
to think about or maybe do you have

00:23:38.713 --> 00:23:40.453
releases coming that you're excited about?

00:23:40.453 --> 00:23:41.458
What, what are you working on now?

00:23:42.223 --> 00:23:42.433
Alex Klarfeld: yeah.

00:23:42.433 --> 00:23:48.313
So you can download the Super Good Tracker
for free at Super Good AI current account.

00:23:48.553 --> 00:23:49.633
One of the things I hate is.

00:23:50.248 --> 00:23:52.948
Trying to te test out a dev tool
with like talking to a salesperson.

00:23:53.158 --> 00:23:55.318
So you can do it for free
without talking to any of us.

00:23:55.478 --> 00:23:59.048
We'll add you to a Slack channel
just to help you get onboarded async.

00:23:59.048 --> 00:24:03.748
But drop us in check us out, kind
of go off to the races from there.

00:24:04.018 --> 00:24:07.168
And then the sort of like
longer term is we want to help

00:24:07.168 --> 00:24:08.778
the API vendors themselves.

00:24:08.778 --> 00:24:11.788
So starting to talk to the vendors
that we're already monitoring

00:24:11.788 --> 00:24:14.128
today to try to make a better
experience for the customers.

00:24:14.338 --> 00:24:17.188
The current integration today is
if, if we have a special partnership

00:24:17.188 --> 00:24:21.088
with these API vendors, you get
essentially premium support through us.

00:24:21.418 --> 00:24:24.328
So you're the first to know if
these, these vendors have issues.

00:24:24.328 --> 00:24:25.978
It's super good.

00:24:25.978 --> 00:24:29.478
We'll know before the status page
updates just because we already have.

00:24:29.758 --> 00:24:31.018
A bunch of the data going.

00:24:31.018 --> 00:24:33.508
So like if you're having an issue,
one other customer's having an

00:24:33.508 --> 00:24:37.408
issue, we joke, it's like the, the
age old problem of like debugging an

00:24:37.408 --> 00:24:39.028
API is like, is it us, is it them?

00:24:39.248 --> 00:24:41.168
We try to answer that,
that pretty quickly.

00:24:41.418 --> 00:24:44.528
And yeah, just trying to make
the vendors have the best

00:24:44.528 --> 00:24:45.848
experience for their customers.

00:24:46.068 --> 00:24:48.168
And then also trying to get
into larger enterprises.

00:24:48.168 --> 00:24:51.868
So we actually have a, eBPF agent
also in the works, which is targeted

00:24:51.868 --> 00:24:53.128
towards like larger enterprises.

00:24:53.128 --> 00:24:55.048
I'm happy to go into detail of that.

00:24:55.048 --> 00:24:57.658
It's an interesting technology,
but it's like a little bit more

00:24:57.658 --> 00:24:59.638
robust than making a code change.

00:24:59.638 --> 00:25:00.868
It's more of like an
infrastructure change.

00:25:01.778 --> 00:25:02.078
Mike Bifulco: Yeah.

00:25:02.078 --> 00:25:02.558
Interesting.

00:25:02.558 --> 00:25:05.498
So that's more, more gateway level,
presumably, or like more broad level

00:25:05.498 --> 00:25:08.838
where maybe you have dozens and dozens
of different software stacks through an

00:25:08.838 --> 00:25:11.898
organization and it's hard to just add
three lines in one place and be happy.

00:25:11.943 --> 00:25:13.143
Alex Klarfeld: Yeah, exactly.

00:25:13.143 --> 00:25:14.463
So trying to, trying to gear up for that.

00:25:14.463 --> 00:25:17.793
So it's a agent that sits
next to your box and does the

00:25:17.793 --> 00:25:19.323
same thing as the, the logger.

00:25:19.513 --> 00:25:23.213
But does it on like the, the kernel
level and then performs the same way.

00:25:23.213 --> 00:25:24.923
It's just a little bit
more effort to debug.

00:25:24.923 --> 00:25:25.703
It's usually teams that have.

00:25:26.203 --> 00:25:27.643
DevOps teams already set up.

00:25:27.743 --> 00:25:31.733
But we, we had, we started with the, the
logger because that was the easiest way

00:25:31.733 --> 00:25:33.113
I thought that we could integrate too.

00:25:33.878 --> 00:25:34.868
Mike Bifulco: Yeah, it
makes a lot of sense.

00:25:34.868 --> 00:25:37.628
I think one of the interesting
things about what you're working on

00:25:37.628 --> 00:25:38.763
it super good is that you get to.

00:25:40.283 --> 00:25:45.353
Interpret and traverse and feel parts
of the software stack, the protocol that

00:25:45.353 --> 00:25:46.703
a lot of developers don't think about.

00:25:46.703 --> 00:25:48.893
Like, you're, you're making some
really interesting network requests.

00:25:48.893 --> 00:25:51.093
You're sniffing out for
certain shapes of things.

00:25:51.093 --> 00:25:55.053
Patching, fetch is like an idea that I've
never even remotely considered, right?

00:25:55.083 --> 00:25:59.103
But it's a super cool thing to, to be
able to do and to kind of monopolize

00:25:59.103 --> 00:26:02.223
isn't the right word, but utilize as,
as an opportunity creator for you and

00:26:02.223 --> 00:26:04.223
certainly a value add for developers.

00:26:04.533 --> 00:26:07.443
Maybe this is a good, good segue
into one of the other things I was

00:26:07.443 --> 00:26:11.763
interested in is like, tell me about
your team, the size of the team

00:26:11.763 --> 00:26:13.203
building this thing and the tech stack.

00:26:13.203 --> 00:26:14.073
What does that look like right now?

00:26:14.698 --> 00:26:15.238
Alex Klarfeld: Yeah, for sure.

00:26:15.238 --> 00:26:16.198
So we're a really small team.

00:26:16.248 --> 00:26:17.268
There's three of us.

00:26:17.298 --> 00:26:18.288
We're all engineers.

00:26:18.628 --> 00:26:20.948
The tech stack is pretty straightforward.

00:26:20.998 --> 00:26:23.578
I'm a big fan of TypeScript,
so all the web application

00:26:23.578 --> 00:26:24.628
stuff is done in TypeScript.

00:26:24.628 --> 00:26:28.068
And a lot of like data processing
is also done in TypeScript.

00:26:28.308 --> 00:26:30.128
We actually utilize neon.

00:26:30.608 --> 00:26:32.408
So I'm a Postgres stalwart.

00:26:32.618 --> 00:26:33.878
Like I just think it's the best.

00:26:33.978 --> 00:26:36.778
Hopefully that doesn't lose me
too many favors, but there's

00:26:36.778 --> 00:26:37.888
a really cool technology.

00:26:37.938 --> 00:26:40.398
Called Neon that helps, like,
does like serverless Postgres.

00:26:40.398 --> 00:26:41.208
I'm a huge fan of it.

00:26:41.898 --> 00:26:44.408
It's greatly increased our
developer productivity.

00:26:44.438 --> 00:26:47.468
Being able to like clone a
database immediately in the cloud

00:26:47.918 --> 00:26:50.948
behind your, your VPN just makes
developments so much faster.

00:26:51.258 --> 00:26:53.718
So we use Neon for, for Postgres
and you can also like set up

00:26:53.718 --> 00:26:55.428
multi-tenants very easily with them.

00:26:55.828 --> 00:26:59.188
And we deploy on a combination like
render for the front end stuff and then

00:26:59.438 --> 00:27:01.328
GCP for a lot of the backend stuff.

00:27:01.378 --> 00:27:02.068
And then.

00:27:02.453 --> 00:27:06.813
Just using like the core GGCP stuff
like cloud run and things like that.

00:27:07.743 --> 00:27:09.333
Pub sub and GGCS.

00:27:10.068 --> 00:27:13.878
Mike Bifulco: What I really like about
your product and a thing that I really

00:27:13.878 --> 00:27:16.818
like talking to founders is when you
hear about a product that has such an

00:27:16.818 --> 00:27:20.818
interesting and simple implementation
story and that a lot of it is just good

00:27:20.818 --> 00:27:24.768
fundamentals and a solid idea for how
to help people and not not having to go

00:27:24.768 --> 00:27:28.128
spend 10 years like researching a brand
new, you know, I don't know, algorithm.

00:27:28.128 --> 00:27:31.128
Not having to do what open AI
did and figure out how to make

00:27:31.128 --> 00:27:33.048
an LLMA thing to begin with.

00:27:33.433 --> 00:27:37.803
There are loads of opportunities for, you
know, enterprising people to go and solve

00:27:37.803 --> 00:27:42.413
problems without having to I don't know,
level up computer science as a theory.

00:27:42.503 --> 00:27:42.773
Right.

00:27:42.773 --> 00:27:44.903
And it's, it's a really cool
sign that you're onto something

00:27:44.903 --> 00:27:47.763
that is an interesting value
add and also just fundamentally

00:27:47.763 --> 00:27:49.173
probably a helpful thing too.

00:27:49.253 --> 00:27:50.213
That that's super cool.

00:27:51.053 --> 00:27:53.693
Uh, and the team size of three is pretty
impressive for what you've built too.

00:27:54.328 --> 00:27:54.688
Alex Klarfeld: Thanks.

00:27:54.688 --> 00:27:56.458
Yeah, they're, they're top engineers.

00:27:56.738 --> 00:27:57.818
I'm a, I'm a big fan of them.

00:27:58.673 --> 00:27:59.033
Mike Bifulco: Yeah.

00:27:59.453 --> 00:27:59.873
Cool.

00:28:00.143 --> 00:28:02.983
Well Alex be, before I let you move
on, I've got a, a couple of questions

00:28:02.983 --> 00:28:04.503
that I wanna make sure I don't skip.

00:28:04.833 --> 00:28:07.443
Um, where's the best place for
developers to find super good

00:28:07.443 --> 00:28:08.943
online and to get started with it?

00:28:09.408 --> 00:28:09.978
Alex Klarfeld: Yeah, for sure.

00:28:09.978 --> 00:28:12.138
So you can check us out@supergood.ai.

00:28:13.113 --> 00:28:13.473
Mike Bifulco: Cool.

00:28:13.903 --> 00:28:15.223
We'll send them that way straight away.

00:28:15.223 --> 00:28:17.773
And maybe what's a sign that
someone should be considering using?

00:28:17.773 --> 00:28:18.223
Super good.

00:28:19.108 --> 00:28:21.608
Alex Klarfeld: If you've ever
got a bill that someone has, I.

00:28:22.133 --> 00:28:25.343
Could been very confused by that's
one if you have a horror story in

00:28:25.343 --> 00:28:28.643
mind where you're like, this API
caused me to wake up in the middle

00:28:28.643 --> 00:28:29.993
of the night and, and heartache.

00:28:30.323 --> 00:28:32.963
That is, that is a good sign
that we might be helpful.

00:28:33.213 --> 00:28:37.173
If you have more than, I'm gonna call
it like five APIs, like if you're, the

00:28:37.173 --> 00:28:41.493
best customers that we have are like,
kind of like they've, they've started

00:28:41.493 --> 00:28:42.933
to think about their unit economics.

00:28:42.933 --> 00:28:46.303
Maybe they haven't like implemented
things yet, but if you're like a smaller

00:28:46.353 --> 00:28:49.113
company, you probably are just like,
Hey, I'm just trying to, trying to grow.

00:28:49.113 --> 00:28:52.443
So I don't care that much
about like, watch these APIs.

00:28:52.443 --> 00:28:53.583
We're just gonna chuck stuff at it.

00:28:53.733 --> 00:28:55.173
Which, which I've been in that place too.

00:28:55.173 --> 00:28:57.623
So typically like larger
companies that are just starting

00:28:57.623 --> 00:28:58.643
to think about this problem.

00:28:59.013 --> 00:29:01.443
And also if you're dealing
with international APIs

00:29:01.513 --> 00:29:02.743
we actually have a pretty.

00:29:03.143 --> 00:29:06.263
Large contingent of, of
international vendors that we've

00:29:06.263 --> 00:29:08.033
been working with to monitor.

00:29:08.303 --> 00:29:10.763
They are working pretty hard
to get up to snuff with some

00:29:10.763 --> 00:29:12.953
of the, the US based vendors.

00:29:13.203 --> 00:29:14.253
So that's a good, that's
a pretty good one.

00:29:14.253 --> 00:29:15.633
So anything expensive too?

00:29:15.633 --> 00:29:16.593
Is, is, is great.

00:29:16.593 --> 00:29:18.823
Like the Twilio stripes plaids.

00:29:19.123 --> 00:29:19.243
Oh.

00:29:19.243 --> 00:29:21.943
If you're working with any credit
bureau also I'd love to talk to you.

00:29:21.943 --> 00:29:24.523
They, they have a special place
in my heart 'cause they've been

00:29:24.613 --> 00:29:25.873
pretty difficult to work with.

00:29:26.458 --> 00:29:27.298
Mike Bifulco: No doubt.

00:29:27.298 --> 00:29:27.538
Yeah.

00:29:27.538 --> 00:29:27.898
Wow.

00:29:27.898 --> 00:29:29.068
That makes it super easy.

00:29:29.068 --> 00:29:32.208
If, if you have just listened to
Alex and you, you fall into any one

00:29:32.208 --> 00:29:34.548
of those buckets get in touch stat.

00:29:34.598 --> 00:29:36.548
Alex, then where's the best
place to find you online?

00:29:37.048 --> 00:29:38.938
Alex Klarfeld: You can find me on
LinkedIn, you can find me on Twitter.

00:29:39.128 --> 00:29:41.158
I respond to dms on both.

00:29:41.158 --> 00:29:42.738
So please, please hit me up.

00:29:42.738 --> 00:29:45.288
You can find me on GitHub too if
you wanna watch me write code,

00:29:45.288 --> 00:29:46.538
but that's a little less exciting.

00:29:48.053 --> 00:29:50.273
Mike Bifulco: Well, I will make sure
that there's links in the show notes

00:29:50.273 --> 00:29:53.923
to everything we've discussed ways to
get super good and to you and Twitter

00:29:53.923 --> 00:29:55.303
and LinkedIn and all the other places.

00:29:55.523 --> 00:29:57.833
Alex, I really appreciate you
coming and hanging out and telling

00:29:57.833 --> 00:29:59.063
us a little bit about Super Good.

00:29:59.403 --> 00:30:00.183
Thanks so much for joining.

00:30:00.183 --> 00:30:00.813
I really appreciate it.

00:30:01.443 --> 00:30:01.653
Alex Klarfeld: Yeah.

00:30:01.653 --> 00:30:02.463
Thank you so much, Mike.

00:30:02.463 --> 00:30:03.213
I appreciate it too.

00:30:03.873 --> 00:30:05.133
Mike Bifulco: Of course, Alex Feld.

00:30:05.133 --> 00:30:05.793
We'll catch you next time.

00:30:05.793 --> 00:30:06.213
Thank you.

00:30:06.388 --> 00:30:07.198
Alex Klarfeld: Alright, see ya.

00:30:07.893 --> 00:30:08.073
Mike Bifulco: Bye.