Mike Bifulco: Hello and welcome back to APIs you won't hate.
My name is Mike Biko, I'm sitting down today for a discussion with a friend of
mine from the internet who I've been lucky enough to bump into once or twice in real
life, who I'm super thrilled to talk with.
Zeno Rocha: Today I'm sitting down with Zeno Roche from Resend to talk about
well resend and all the things that have led up to it and, and what's to come
there, and the developer features Yeah level things that Resend has been up to.
Zeno.
Thanks a ton for joining me today.
How are you doing?
Thank you, Mike.
Yeah, it's been, I'm so happy to be here.
I'm, I'm really excited to be talking about APIs and everything around that.
I just love DAB tools in general, so this is, this is exciting.
Well, you're definitely in good company here.
I'm Mm-hmm to chat with you about it as well.
Why don't we start here?
Why don't you tell me just a little bit about yourself how you got to where you
are and maybe your story leading up to resend and we'll dive in from there.
I.
Yeah, so I'm originally from Brazil.
Nowadays I live here in San Francisco with my wife and my 2-year-old daughter.
And I got into programming just like most of the people in my CS class.
We just love playing games on our computer, so we're like, oh yeah, maybe
that would be cool to, to do for work.
And I got really into web development.
Quite soon.
I remember starting with flash actually, so action script three
was my first language and I created all sorts of crazy things and we
can even put one in the show notes.
But it's this like particle thing where.
This was back in, I gotta send you this because I think you, you appreciate it.
So back in 2010 or 2009, I guess we, we built this thing and then
we sent to Google just to see they had like this HTML five gallery.
So there's like a button on the left where you can click
and it generates the particles.
And this was my first time.
Using JavaScript to create the weird things that I would, I would do in Flash.
And I was ama like, and the source, you can see everything on, on GitHub the
source code is available and I was really amazed at the power of this new thing
that was coming up called HTML five.
So I.
quickly transitioned from Flash to H ML five and my perspective when I
started was okay, like it, and I always had this thing like, oh, I wanna be
the best at whatever I do, right?
So I'm like, oh, to become the best PHP programmer, it's gonna be so hard.
Or the best Java programmer.
It's gonna be so hard because like there are people that are doing this
for like 20 years already, but HL five is this new thing that's coming up.
Maybe if I run really hard, if I like really dive into this
thing, then maybe I can get to the finish line in front of others.
Right?
Turns out there's no finish line.
You're always learning.
There's like all sorts of things.
Like there's no such like program is not a.
Infinite game, right.
Yeah, it is a infinite game.
In fact it's not a, a finite game, so you are always learning and always
reinventing yourself as a programmer.
But I've, yeah, I just always enjoyed building stuff, man.
Yeah.
Mike Bifulco: Yeah.
Oh, I love that.
That's really funny.
I I know you and I have never talked about this before.
I don't think I've mentioned it podcast, but I've been building with
JavaScript since around then, 2009.
I had been playing with H Tm, l and CSS for like, quite a
long time leading up to that.
I,
Finished undergrad in 2009 and was lucky to start a job at Microsoft.
And literally the, the thing, the catalyst that set off the rest of my career as
like a front end developer was I was in a room when someone walked in and
asked, does anyone know what jQuery is?
yeah, I've used that.
And then I.
Was fully, like, sucked into a gigantic project rebuilding dell.com
from like the third week of my
job.
and
the from there, like, you know, jQuery and mood tools and
handlebars and all these things.
And it's just like, it feels like a, a mess of things since then.
And you're absolutely right that like, it ends, it doesn't get
Zeno Rocha: Yeah, it doesn't get it.
Mike Bifulco: and, more bugs pop up each week.
Zeno Rocha: no, and I think there's like, when you mix that with open source, you
get like a whole new beast too, right?
Like as you start contributing, you start building our own
projects is just fascinating how.
It's a, it's a different world, man.
It, it's so, so unique.
Mike Bifulco: Yeah.
Yeah.
A weird thing I, I feel like I've started to see with a few decades of
is that like familiar faces pop up after a while too.
You know, like you, you will bump into the same people building
interesting things over time.
Just kind of the way of the world and the way your network tends to work.
And burning bridges is one of those things that I have been
lucky not to do much in career.
And if you're listening, don't burn bridges because it can,
it can get dirty, you know?
Zeno Rocha: You talked about MO Tools, right?
Like who would've thought that Guillermo, who was a contributor on
MO Tools will now be the CEO of ell?
Right?
So that just goes to, to show that yeah, it like.
Yeah.
It, it's a small world.
This, this tech community.
Mike Bifulco: Something I like to ask my engineering friends is what
is the oldest thing that you've made that's still on the internet?
Because you'll find
a lot about what people were doing, you know, way back when.
That's, it's a fun project.
And I would imagine your HTML five demo here it probably goes back pretty
far in terms of things that you've made that still exist, at least.
Zeno Rocha: yep.
The my first open source project that really popped up.
Was something called jQuery Boilerplates.
And I remember the story is actually pretty wild because I built that
project and then launched it and then smashing Magazine picked it up
and then it blew up and I was like, just starting to learn about jQuery.
And here I was thinking that I could build a border plate for Jake Ray, but
I got this PR from a very well known.
No Js person.
That was basically like deleting all my code and saying, oh, the title
of the PR was something along the lines of like, delete everything.
That's the only way that you can build this up again.
And the the, the gif was like, actually like deleting everything.
So I, I remember feeling so sad and so disappointed that I, that I've created
something that maybe wasn't good for this.
The guru there.
And then reaching out to people that I knew were doing interesting things
like adios money and alongside with him, we like recreated that project.
And then it got much better and, and much bigger later.
But just goes to show that how yeah, how interesting the community
can be sometimes but also.
How much you've learned from from it, which is the most
interesting piece for me.
Mike Bifulco: certainly.
how did you get from there to
Zeno Rocha: Man, I've done all sorts of crazy things.
I've done a lot of I built a theme called Dracula, which I think by now is like
one of the most popular themes for VS.
Code in, in, in terminals.
In, in, in everything.
I think it has like 6 million downloads on, on VS code right now.
That was a very big part of.
My love for, for building dev tools and building open source.
I've done this project called Clipboard js.
Back in the day, the only way to do copy to clipboard was using flash.
So then when this was released in JavaScript, I was so excited.
I.
And I think the PU too has like 30,000 GitHub stars.
So I've done like all sorts of side projects.
I've always loved the idea of side projects.
That's another thing.
Just I, I've always felt that with your nine to five job,
there's always a ceiling to.
What I would be able to learn, and maybe that's because the, that
company just uses one language, right?
Or they use one particular technology stack.
So side projects, they always have been this outlet for creativity.
And I've done, I, I did a little bit of product management.
I, I did a little bit of, of a vp role in other places.
I was a CPO at another company, but I've, I've never really.
I've never really stopped loving JavaScript and open
source and programming.
Sure.
Yeah.
Okay.
Dracula by the way, is everywhere.
I feel like I bump into it in
Mm-Hmm I expect half
the time.
And that's one
of things that like
Gets your name out into the open, like a lot of good side projects,
like people start to recognize you and
a known quantity to people who've never truly actually you.
Mike Bifulco: But that ends up
helpful tool in the long term as well.
Then jump forward to React
Zeno Rocha: mm-Hmm.
Mm-Hmm Yeah.
So one of my frustrations is that like, through all these years, like
I've used all sorts of APIs for email, sending postmark, mail, guns,
SendGrid mandrill, you name it, right?
And I've always felt like these products were not built for me as an engineer.
Maybe they're really nice for product managers or, or.
Product marketers, but as an engineer who is like building a forget password
flow, I wish there was something better.
And I felt that frustration multiple times throughout my career.
Like sometimes dealing with like really big customers like
McDonald's, having emails going to span, I'm like, oh my gosh.
Like how do we fix this problem?
And just me integrating a side project so we.
We just like try to come up with this idea of like, okay, what
if email sending was better?
Because it really feels like email sending as a whole industry
got stuck in 1995 or something.
Like, to do a, a rounded corner is extremely difficult still.
So we're like, no, like may like this, this whole idea of
my email not rendering the same.
On Outlook and Gmail and Yahoo Mayo and superhuman like that.
Just for me, like in 2023 that didn't, like, my brain wouldn't process that idea.
I'm like, we gotta fix this.
So we started building like an API for sending emails, but then as we
were building, we're like, oh, the API is super cool, but there's this
problem right before sending an email, which is the actual email template.
Like putting together that HTML and people don't wanna use tables they
don't like it is just like so outdated.
But what are they using now?
They're using React.
They're using XJS, they're using Tailwind.
So we came up with this idea of a project called React email, or
you could use that modern stack to create your emails so you can have.
Type definition using type script and JSX.
So no more like, hey, empty space, comma, right?
Like that type of stuff.
And that was super helpful and we released React email in December, 2022.
And then in January, 2023 is when we announced recent.
Mike Bifulco: Pretty incredible.
I think there's, there's a lot of pain you've probably lived through in building
React email, but in case someone listening to the show has never tried to send
an email that looks good before it is one of the fundamentally hard problems
of building things for the internet.
Zeno Rocha: Email is formatted in HTML and CSS and on some level plain text.
But it is really hard to get email clients to look to be compatible, right?
You, you may Yeah there's a long period of time where a lot of web developers
spent their time making it so that things looked the same in Safari and
Firefox and Chrome at the same time.
Mike Bifulco: Like browser compatibility was a big thing for a long time.
And before that, you know, Netscape and all the other things that existed
this whole time since the internet was born, email compatibility has been an
issue because essentially every email provider has different rules for what.
Things they support out of H TM L and a lot of that is like, they
try not to do things that will break your experience with email.
You know, for example, I don't know if you think back far enough, you probably
don't want an email with a Marques scrolling across it or like blinking
images or dynamic stuff loading.
So it's just a different problem to solve.
And, and I have tried to send good looking emails in the days long
before React email existed and essentially every time gave up.
It was just like, good enough and you know, move forward from there.
And this is something that your team attacked head on, right?
And, and I feel like that's a really interesting inroads to then the API,
which becomes interesting too and was a really good hook to get people interested.
So, so you launched React to email and then, I mean, it was, I guess I just a
matter of weeks before resend launched.
Zeno Rocha: Yep.
Mike Bifulco: let's talk a little bit about that.
So what, what is the
Resend?
Zeno Rocha: Yeah.
And just one anecdote for for folks to think about, like, if you are launching
an API, if you're launching an open source project, like whatever it is, it's really
important to think about the storytelling.
And that's something that I try to spend a lot of time because that's
what's gonna resonate with folks or not.
Right?
And we, we are very much intentional about let's give before we ask.
And the way we gave was through React Team know this open source project.
That's the first step of the journey of sending an email, right?
You get.
This beautiful Figma file from the designer.
And when you start implementing, you're like, wow, this is so much different
than what I'm used to in the web.
So we wanted to fill that gap and the answer was react email.
But after the email was done, I need a way to send it.
And again, thinking about primarily that no JS stack, how
does that fit into that world?
And from a DX perspective I feel like no one was really giving
the love that email deserved.
So like this thing is so crucial for the web, but no one is investing time to
build a, a proper API or to have a open API spec to have a postman collection.
Like everything that surrounds, like building and distributing an API.
So that's where recent came up about like.
Once you have the email, you need a way to send it.
And it's more than sending, because the moment you send, now you have to worry
about was the email delivered or not?
Did it bounce, was it marked as spam?
Where is it?
Is it on the primary box?
Is it on the, the spam folder?
So there's this whole observability on top of email that is.
Taken for granted.
So that's why we were like, no, we gotta build a dashboard.
We gotta build the stripe of email.
We gotta build the of email.
And that was the whole exercise from day one.
How can we do that?
So it's gonna require amazing docs, it's gonna require a
lot of attention to detail.
It's gonna require speed.
Like you can't just navigate on that dashboard and it's extremely slow, like.
Other competitors are.
So we were just like trying to tick those boxes to really make
something that people cared.
And I feel like there's something when you go to a, a website and like you
understand if, if there are s STKs for all the languages, you're like, oh, cool.
Like you start gaining trust from developers by, by putting
those building blocks in place.
Mike Bifulco: Yeah, the storytelling telling angle of
that is really interesting.
Thank you for sharing, by the way.
I think it's really cool to hear
firsthand
I interact with a lot of people who are on the journey of becoming a
founder or building their first product or building their, you know, maybe
their 10th product, but they haven't had something successful before.
And often one of the discussions I have with people that is hardest to convince
people is that the story is as important as the product may be more important
than the product in your early days.
And that even if you're building something where the first releases are flawed.
Hard to Your early adopters are the people who love the product because they love you
or they love your team, or they love the brand and the story that you're telling.
And that's a hard thing to get across.
So how, how did you land on that as your path for getting this out into the wild?
Was this something
you had gained along the way?
Zeno Rocha: I think it's an exercise of looking inwards and, and thinking,
what are the things that I enjoy?
When I go to a website and I see that there's a typo or that the design is not
as refined, and then I go to the docs and it doesn't really click for me, like
I can get to a quick start very easily.
When I copy the code and I, I try to run that code, it doesn't run because
of some silly coma that's missing.
And after I run it, like it takes a long time from the moment I sign up
and get the API key to the moment I see the value of the product.
Just getting to those conclusions myself as a user and then trying to
avoid that as much as possible, like.
One thing in the email industry is that when you sign up for all these
other services, you got a first request to access and they put you
on this verification list for three days, and then they tell you, oh yeah,
now you're approved As a developer, I hate that with my whole heart.
Like that's so against everything that I believe that level of friction.
Like, I wanna be able to experience the API in 30 seconds because that's
the time I have on a Saturday afternoon while my, my daughter is running around.
And if I like that experience, then maybe I'll bring it over at work Monday
morning, I'll talk to my coworker and say, guys, you gotta check out this API.
Look how cool it is.
So there's definitely, I.
For me, my angle is I'm not building a company, I'm not building a team.
I'm building a brand.
And to sustain that brand, I need a stellar team.
And to sustain that team, I need a stellar company, a stellar
machine, to be able to sustain that.
So.
Not, not many people think like that because building a
brand takes 10 years, right?
Or 15 years.
It's a long time.
But I, I definitely spend a lot of time thinking about this rather
than, oh yeah, what's the next feature we, we need to ship.
Mike Bifulco: Yeah, you've just touched on quite a few things that I think add
up to a lot, and to your last point, that building a brand takes a long time.
The story you've told me so far is you building a brand
for a very long time, right?
This
HTML five demo and Boilerplate and your Dracula theme.
Like first things I heard about React email was it was,
oh, made by the guy who made
oh, that immediately gives it some, some cachet to
Zeno Rocha: mm-Hmm
Mike Bifulco: And your, you know, your name is something that that grows in
value because I've seen, you know, a Zeno attached to a dozen interesting things.
brand.
You may not, you, I'm certain you weren't this when you're
Zeno Rocha: mm-Hmm mm-Hmm.
Mike Bifulco: but like you
you, you may not realize it in the current moment, but you're
building a brand towards the thing.
Whenever you land on what the thing is, people will trust you more.
And part of that, the uncomfortable thing for a lot of people is
sharing your work early and often.
Side projects, no matter how embarrassing you might feel, they are shows that
you're working on, on interesting things and feeds forward in ways
that are very unexpected For sure.
Zeno Rocha: Yeah.
It's funny how I think there's a shift in the way people consume.
Things in the world, right?
Like there used to be a time where you are buying a product and you have no
idea who the founder of that product is.
There's still a lot of cases like that, obviously, like maybe that's 90% of that
the case, but then there's this whole subset of companies that we love using.
Because we also know the founder I'm sure I know, love it or hate him.
Like there are many people that bought Teslas because, you know, they had a, an
association with Elon Musk four years ago.
Like a lot of people love for sell because they see Guillermo very involved.
So there's, there's these things that play out and I definitely
feel like the personal branch.
That like I, I, I'm always thinking how does my personal brand follows recent
and how does one support the other?
If you, there's some silly things like, oh, you go to the
website of that person, right?
And then they have a personal website live.
That's the first thing do, do they have or or they don't.
And then you go, it's all of like outdated blog posts and stuff like that.
So you're like, oh, okay.
Or it's extremely ugly and it doesn't match.
The values that so resend is very polished, right?
And then you go to my personal website and it's super like me.
It's just there.
Like no, it needs to communicate that because then it's a cohesive
message that, hey, if you care about details, this will be for you.
If you don't, that's totally fine.
There are all these other competitors you can do, you can go and use.
But if that's something that you, that's important to you.
Here's another person that also cares just much as you do.
Mike Bifulco: Yeah.
Yeah.
Yeah, that's good stuff.
A thing that I think we don't often talk about too, as, as founders of startups,
is that like your story is also wildly important to the people who are gonna cut
you a check worth hundreds of thousands of dollars or millions of dollars.
They want to hear about you and your success and know
that you have a track history.
And that you have relationships and, you know that you're, you're reliable
and stable and things like that too.
And it adds up, right?
We've, we've had, I've had investors in, in our company mention blog
posts of mine from years ago,
Zeno Rocha: Well,
Mike Bifulco: about, but it's like,
oh I see who was
thinking about this back then.
It's like, yeah, okay, cool, cool.
That's good.
Like, I, you know, hope I didn't put too many sarcastic jokes or dumb
memes in that post but
I've been, you know, doing it for a long time since then.
It really does add up.
Zeno Rocha: Mm-Hmm.
Yeah, no, it does.
Mike Bifulco: I'm veering a little bit from our traditional APIs.
You only hate podcast because I think I could talk forever to interesting
founders about the interesting things they're building, also at
risk of a linch mob chasing me
down if to you about open API before long.
At some point we're gonna have to talk more about being, being
founders and being, you know, a creator and all that other stuff.
about the API side of resend.
Like what, what is it like to design an API first product?
Zeno Rocha: Me And man, it's so unique.
Especially because I think we, we traditionally spend more time on
the website, on, on the backend, on the, on all these other interfaces.
And then we don't think about the API as this very unique interface with a
very unique set of requirements such as speed like how do you make it.
So that the request is as fast as it can be.
There's a lot of principles that we try to follow in terms of simplicity
that we, we are very careful of.
We sometimes go to other APIs and we see like a lot of information and, and
then it's hard to translate that to the different use cases that users have.
So for us, we're like.
How can we make an API to send just one email?
Just the easiest interface possible.
And then there are more advanced use cases later.
Like, oh, I wanna replace a template variable with this content.
Okay, let's not care about that right now.
Oh, I wanna send 100 emails in one API call versus 100 API calls for 100 emails.
Okay, let's not care about that.
So there's this tension when you're building of.
You gotta build fast and you've gotta build high quality, right?
And then what people tend to do is just, they're like, oh, I can't have
both, so I'm just gonna pick one.
And if you pick just quality, then it's gonna take two years
for you to ship your API.
If you just pick speed now, you are gonna introduce tons of breaking changes in
the first year that you launched, right?
And we know how hard it is for.
To, to migrate APIs.
It's extremely difficult process.
I feel like the answer is you gotta do both, but then the way
you do it is you gotta cut scope.
So you gotta make your API as easy as po Like maybe you're not gonna cover all
use cases and that's fine, but you need the, the, that minimum lovable product of
an API is is not just the functionality is everything surrounding it.
And I feel like that's where most people fall apart because they're
like, oh yeah, the API is running.
Here it is.
Here's an endpoint.
No, let me check your docs.
Like, do you have all that surrounding ecosystem that people need to get started?
I very much believe that we're living in a SDK first world, not an API first world.
I think an API first world was what we were living in 2015.
I.
In 2024, we are living in SDK First World because that's how people consume APIs.
Like if I want to use, let's say Firebase, I haven't even started using, I, I,
I didn't even sign up, but I already know that, oh man, if I use their SDK,
I'm sure they will handle offline.
Sink, and I'm sure they'll have something already, like if I'm using
Stripe, I'm sure they'll have some sort of like pagination built in.
Like there's all these things that you know, that you expect
that it'll make your life easier.
So I don't think people start from rest purely like they
start from, I, I love no js.
I needed a no JS dk, I love Ruby.
I needed Ruby s dk.
So we are very intentional about that too.
Like starting day one with a lot of coverage for, for different SDKs,
but it's extremely hard to do that.
There's a lot that we can dive into that one particular subject,
but I think, I feel like there's a significant shift and you gotta
think about everything in between.
Not only like what's the body and what's the response.
Mike Bifulco: Yeah.
Yeah.
I like your point about SDK first.
We, we are now trained to want to go, you know, do the NPM install or the
the PIP install or whatever, add the gem for the thing rather than go, go.
Through the API spec and send, you know, curl requests to chase things down.
You're, you mentioned the trade off between building fast
and high quality being scope.
And I'm curious how you manage that.
Do you do, do you have a gigantic backlog of things and are you reprioritizing them
or do you have a pretty good like, roadmap ahead of you that you're building towards?
Zeno Rocha: We have at, at all times.
We are cutting scope even like every single day.
Because we are building a product that it's not revolutionary, right?
Like, it's not like e like sending an email has been here forever.
It's going to keep existing forever.
So.
Our differentiator is quality.
And because of that, because we can't just say like, oh no, we're gonna ship
this thing, and it's half baked, eh, like the, the good enough doesn't cut for us.
So if that's the case, then at all times we are re revisiting scope.
We might come from a user interview and then we learn all these
things and we start implementing.
Then we're like, oh, but we gotta ship it fast, but we can't ship crappy stuff.
So we're like, okay, we gotta remove this feature, remove this other
feature, remove this other feature.
I feel like that's a very interesting, like some people are
afraid of cutting scope or they feel like they can't push back.
So it's important to foster that culture of like, yeah, saying no, like, no, we're
not gonna do this for this reason, and I.
We can.
Yeah, totally right.
It's super hard, man.
Super hard.
Mike Bifulco: Yeah, this is, this is where I should disclose that.
A few weekends ago I spent a few hours around at Resends
features and before
Zeno and started recording, I told him I had a list of demands I
was gonna send his
way.
So I'm, I'm now primed to hear no on
honestly, that's, that's a good, a good sign that you're building
a product that has to it as well.
I have so many questions to follow on that.
So it's
Zeno Rocha: Mm-Hmm
Mike Bifulco: to to hear user interviews are a part of your process too.
I think tools in particular, that is a, a really tough thing to do
because developer users are highly critical wily, like developers know
when they're being sold to and may even shy away from that sort of thing.
How do you find the right people to do user interviews with?
Zeno Rocha: Yeah.
I feel like the, the doing a user interview for a visual product
is completely different than you doing a using interview for an API.
Right?
We, we try to get a hold of the people who are actually building
this stuff as early as possible.
So.
Thankfully, because of all the work that we do and the time that we spend
on branding, thankfully we have a lot of inbound and we can hear from folks
like, there's a very popular open source CMS that is now considering recent.
So what I do is I, I first like, let me go to their source code.
Like this is a, an opportunity where.
They, it's actually available.
So I can take a look and then I can see every single API call they make and I
can see like, what are the parameters?
How do they send those things?
Like do they transform the value before sending?
What is the type of transformation can we do the transformation on, on the SDK like.
Silly example, like, oh, let's say you're talking about sending attachments and I
can send the whole string, or I can do the base 64 conversion already built in.
Like, so there are small things that you can try to do.
But yeah, we just try to get as much information as possible.
And of course, most times the code is not open source, of course.
And then when that's the situation, we, we try to get it
like, yeah, let's screen share.
Like, whatever you can show me, please do.
Because then we can make it better, right?
Like we talk to a lot of our friends in the beginning of recent, like, let me
understand your email implementation.
What are the, the ramifications here?
Is there anything that we're missing?
And cover the most important 20% first and make that exceptional before
getting to the, to the other 80.
Mike Bifulco: Yeah, well right there, that sounds like a super
handy tool for cutting scope as well.
If you can understand what the most important things are to a solid, you
know, group of people at, at least gives you a target to build towards.
the, the nice thing I always say to folks about cutting scope is you can add
things back later if you find they're really necessary, but you'd also be
surprised with, with what get away with.
Zeno Rocha: Yep, that's true.
Mike Bifulco: Your team recently had a pretty large launch week.
You, you had a week long event of
Zeno Rocha: Mm-Hmm.
Mike Bifulco: called Forward, recent, forward.
You wanna talk a little bit about that?
What was that week all about?
Zeno Rocha: Yeah.
We, we try to do these things every so often.
I feel like releasing softer.
It is not about this one peak moment that happens every year or every two years.
Like I, I see it as a.
Almost like a heartbeat, you know, like you are, you're monitoring, like
you, you need the small releases.
Those are your change log weekly, you know, things that you're improving and
then you, but you also need the big ones.
If you're not, if you're just like, not shipping consistently, then you're dead.
You, you, you gotta need that combination.
And I think developers appreciate that as well.
So we try to be very.
Proactive about releasing things and communicating even if there's more.
But then from time to time we do an event like that where like, okay, let's
just ship a bunch of things in, in that same week and really create momentum.
That's something that's really important for any product that you're doing.
And the whole.
Scope of that week was like, how can we make the API better?
Like I mentioned that example of sending 500 or 100 emails in one API request.
That's something that we shipped during that launch week because we heard
from our users like, yeah, I wish I didn't have to send those 100 requests.
Just one.
And then you do the queue on your end.
We're like, oh, okay.
Yeah.
So.
It's one piece left less of infrastructure that you need to build.
It's not easy to manage a queue.
You gotta deal with that letter cues and retries and, and it's, it's painful.
So, okay, let's deal with that.
But we also launched marketing emails, which was something that we, I think by
now listeners already understood that I take a lot of inspiration from Stripe,
for example, or, or, or other dev tools.
And we're very much following that Stripe trajectory of like, Hey, you have.
The rest API for like payments.
And then you have stripe elements.
So those are like components that you can embed in your app and then
you have Stripe checkout where it's like a whole standalone thing that
you can just point to see, name to.
We're very much following that.
Idea of different abstraction layers.
So this one abstraction layer that we introduced now is just an editor, or
what you see, what you got editor, that you can send emails without needing
to, you know, configure everything.
Cool.
So that's one piece that we're doing.
And there are others, you know I would love for you.
Like no one wants to build a unsubscribe page.
It's the, the most boring thing in the world.
I am now looking into like, how can we build.
A radix or a shed cn ui, similar solution to that, where you're just building
the building blocks or the whole thing depending on, on, on what you prefer.
So I think that's a another way of looking into this, like regardless of what we,
we announced that week, like how do you.
Think about our, the, the different abstraction layers
that your own API can empower.
Mike Bifulco: Sure.
And, and I think anyone listening to this, right, if you're imagining the
problem set, you can kind of envision some things that might come from
there and, and prioritizing that.
Is a super interesting challenge, but it's also about just knowing
your product and listening to your, your user base and hopefully figuring
out what's important to them.
And you know, marching towards more productivity for your users probably means
more value and more money transparently for, for the business as well.
Yeah, I, I will make sure there's a link in the show notes to the
launches from recent forward.
I'd imagine that was a pretty hectic week.
Was it an all hands on deck situation for your team?
How, how
Zeno Rocha: Oh yeah,
Mike Bifulco: We that
Zeno Rocha: yeah.
We're six people total.
Not everybody knows how to code or is coding full time.
So that means like we have a very small engineering team in practice.
So we, we try to do what's best with what we have.
And I think there's something really unique about having a small team as well.
I think we were able to move very fast in areas where maybe other
companies wouldn't because of it.
So.
It's an interesting balance, but launch weeks are, are these things that if
you wanna do that, you gotta understand the impact that this will cause because
it's definitely a lot of stress, a lot of attention that you get in return.
But you are pushing the team extremely hard for entire week and.
You gotta know the consequences of that.
Like people will be extremely tired on, on the following week, they won't be as
productive or like, there's all these things that you need to take into account.
So I try to be mindful of those consequences.
If I'm doing it, then, okay, what are the, the trade offs
Mike Bifulco: Sure.
Well, it sounds like you've, you've
Zeno Rocha: I
Mike Bifulco: not only a very exciting team to be on with sort of high demands
and a very at stake, interesting product, but hopefully like a, a healthy place to
work where people are excited to be there and, you know, the challenges come and go,
but like the reason to be there remains that that's all extremely exciting.
And I think that, building developer tools is, like you said at the beginning
of the show, like a, an endless game.
You know, it's there will always be additional things to build for.
And I mean, even email lately has had new regulations passed.
I think I saw something
a requirement for one click on subscribe,
Zeno Rocha: Yep
Mike Bifulco: as like a HTP header or something like that, that send along.
There will always be new problems
Zeno Rocha: Mm-Hmm.
Mike Bifulco: I I'm curious if you're already thinking about the next
sort of what, what's to come, right?
Do you have like a series of things you're excited for?
What's, what are you thinking about right now?
Zeno Rocha: There are a lot of directions that we can go
in terms of recent being this.
One stop shop for all of your communication needs,
and that's our vision.
In the long term, we, we are doing email, but we're not
necessarily an email company.
Maybe email will be the primary thing that we do for the next 10 years,
but we don't want to be just that.
There's some interesting changes in the market with.
That affect different communication tools, right?
Like sending SMS is getting harder and harder, and I think the, the magic and the
beauty of Twilio that we knew from 2013 or 12 and 11 isn't really there today.
So we could explore that path and start creating APIs for sending
SFS, sending push notifications, sending all these other things.
But we can also just double down on what our users are telling us, which
right now is like inbound emails.
They want to be able to receive an email.
Okay, let's, let's get that figured out.
You know, and we have a lot of challenges around scaling.
We're sending dozens of millions of emails every month, and we gotta be creative.
And like, whenever I, I re like, I talk to my co-founder, like, oh yeah, let's
think about this new architecture.
And then we have this discussion of like, oh yeah, how long do
you think this is gonna last?
Like, oh yeah, maybe nine months.
And then in three months we gotta revisit the whole thing because now, like we got
so much more load than we were expecting.
So it's an endless game.
But I I, there there's some really interesting paths
that we could take from here.
Mike Bifulco: Yeah.
you are speaking to my soul right now.
Cutting scope.
Staying simple being committed to the endless game is a
really, really noble pursuit.
And, and I that brings you a lot of success and that your users, your team
are all, are, are happy with the story you're telling along the way here.
It has been super, super wonderful to get to catch up with you Zeno.
I, I hope that we get to do this again in the future.
You are, please consider yourself more than welcome to come back and hang
out anytime you have any launches or
Zeno Rocha: Mm-Hmm
Mike Bifulco: chat about, or if you wanna rant to me about open API,
Zeno Rocha: Mm-Hmm.
Mike Bifulco: anytime th
thanks much joining.
Before we go for people to find you online?
And where do people find resend?
Zeno Rocha: I definitely spent way too much time on Twitter slash x.
So I think that's the, the best place you can find me.
I am Zena Rocha there, so yeah, feel free to to follow there.
But I'm also on LinkedIn and, and all these other places
with that same username.
Mike Bifulco: Perfect.
We'll make sure that's there and resend, of course,
Zeno Rocha: Yes.
Yeah, recent.com and recent at X too.
Please check it out.
I, I tried the API and then let me know if it's good or not.
I would love to hear the feedback of your audience because they obviously care a lot
about API design, which is something that I also care, so I'll love your feedback.
Mike Bifulco: Yeah.
I would be remiss if I didn't also mention on your behalf that one of my favorite
things about Resend right now is that the pricing tiers are extremely generous.
Can get in and do a lot for free and really get a good sense of the product.
And that is, that is for sure a differentiator and well worth.
Going and giving the things a poke.
And I hope our audience does so that you can get lots of angry messages about HT
TP headers or, whatever the case may be.
We, we've, we've got a passionate group and if you're out there,
please do give it a shot.
And, and chase down Gino Zino with your feedback.
Zino, thanks so much for joining.
I really appreciate it, man.
I hope a, a great afternoon and we'll catch you soon.
Zeno Rocha: Thank you, Mike.
See everybody.
Mike Bifulco: take care.