Frontend FM
EPISODE 05

Astro, Resend, and Coding in Public with Chris Pennington

Apr 21, 2025

Episode with Astro, Resend, and Coding in Public with Chris Pennington

In this episode of Frontend.fm I chat with Chris Pennington, a developer experience engineer at Resend and the creator behind the popular YouTube channel Coding in Public. Join us to hear about Chris’ journey in tech, the importance of learning the fundamentals of HTML, CSS, and JavaScript (even in the age of AI), what makes Astro special, the power of Resend, and more.

Chris on the web

Maxi on the web:

Transcript

Chris Pennington (00:00) I do think that advice I got from my brother was really important just to learn the fundamentals. Of course, AI has changed a lot of the game of how people learn. But I think we’ve yet to see how that’s going to interface with the learning journey. But I do know one thing will be stay the same. And that is you have to understand the basic fundamentals. So you’ll never lose time understanding the core

Maxi Ferreira (00:07) Mm-hmm.

Chris Pennington (00:19) Of HTML CSS and JavaScript especially talking about web development here.

Maxi Ferreira (00:25) Hello, everyone, and welcome to another episode of the Frontend FM podcast. My name is Maxi Ferreira, and my guest today is Chris Pennington. Chris is the developer experience engineer at Resend, and he’s the creator behind the widely popular YouTube channel, Coding in Public. Chris is a fantastic teacher and an expert at all things Astro. And you can usually find him sharing his knowledge online via his blog, his YouTube channel, and open source projects.

Chris, it’s a pleasure to have you here. How are you?

Chris Pennington (00:57) Great, thanks so much. That was quite the intro. I feel really honored to be here and it’s great to be able to talk with you today.

Maxi Ferreira (01:03) awesome. Yeah, I’m really glad you’re joining me today. And I want to, yeah, I’m a big fan of your content. I’m a big fan of how much you love Astro. I feel like we share this passion. It’s like we’re, we’re, share a team or something like that. And yeah, so I’d like you to chat about quite a few things with you today. But before we get started, I want to ask about you. Can you give us like an introduction to who you are and how you got started in tech?

Chris Pennington (01:12) Yes.

Yeah, I’d be happy to. I’m, I very much feel like a beginner, which is why I think a lot of my content kind of gears towards that way. I kind of fell into tech accidentally. my, my older brother was always the tech person. He’s actually a developer. a Shopify dev owns his own agency and has done that for years. And, but about five years ago or so I had more free time and was asked by a nonprofit to come up with a website. And so I thought, well, it might be fun to, see what I could do. So I asked him kind of where I should start and

So my origin story is fairly short. I’ve only been doing this for about five years. But I called him up and said, hey, where should I begin if I want to build something from scratch? So he told me, well, learn the fundamentals of HTML, CSS, and JavaScript. And he’s like, don’t go learn a framework. Just know the core fundamentals. Learn those patterns. And then you can easily pick up anything you want to. And he told me, you’re either going to, in three months, be like, this is the best thing ever, or in three months, you’re going to give up. So he’s like, that’s about your time frame.

Maxi Ferreira (02:20) Heh

Chris Pennington (02:22) So I called them in three months later and said, Hey, I cannot stop thinking about coding. I’m coding in my sleep. I’m waking up with web pages already developed, like in my mind. And, and I said, I think I’ve been bit. And so basically from that point on, that was 2020 to summer of 2020. I spent every morning essentially for several hours, lot of evenings, just coding in my free time, working it into any jobs I could do. And then, over the last several years, obviously with a YouTube channel, that’s kind of taken off and given me opportunities like working at Resend now.

Maxi Ferreira (02:33) Hehehe.

Chris Pennington (02:50) So it’s neat to see that going from like an idea to a passion to now something I do more full time. And it’s been really exciting to see that journey.

Maxi Ferreira (02:57) Nice. Awesome. Awesome. I’m glad you found it. I’m glad you got bit. yeah, that’s just an amazing feeling, the feeling when you can’t stop thinking about it, when you start to think in the code. And when you go to bed with a problem and then you wake up with a solution because your brain figured it out somehow. That’s just amazing.

Chris Pennington (03:01) Hahaha

Yeah.

Yeah, it’s been cool to see.

Maxi Ferreira (03:22) Yeah, yeah. how, so you, I know a lot of your content focuses on Astro. How did you find Astro in the beginning? I know you started with like HTML, JavaScript and CSS, and you got the very good advice of focus on frameworks, focus on the fundamentals. How did you, yeah, how did you find Astro and how did you get started with it?

Chris Pennington (03:42) Yeah, so I think it was within six months or so of me starting my brother actually sent me Hugo the go framework and said, Hey, you know, you should play with this. This seems like up your alley with what you’re building. So I was familiar enough with some frameworks, but that was after kind of getting the basics down. And so when I saw Astro, I think I saw a West boss or somebody tweet about it. And I thought this was kind of interesting, but it was still in beta. So I started building stuff right away. I actually have a few production sites that I built early on that are still like

Beta Astro, but they’re static, you know, it’s fine. so I started building back then and then I kind of followed along and it followed my development journey really well as well. As they would add new things, they were, I was getting more into backend and then they would add a bunch of stuff that kind of fit, what I was learning. So I think a lot of it was just timing and luck the way it all worked out, but I think it was just somewhere on Twitter. And then I’ve kind of been following since the early betas and I don’t know how many dozens of sites now I’ve built in Astro.

Kind of as they’ve built along their knowledge and you know, their framework, I’ve been able to kind of keep pace, which has been really exciting.

Maxi Ferreira (04:45) Nice, nice, very cool. So for people who are maybe not familiar entirely with Astro, maybe they heard of it, how do you describe it? What is Astro and what do you think make it so special?

Chris Pennington (04:56) Yeah, I mean, I think probably the thing that makes it most accessible, which is and some of the reasons why I think it’s taken off so much is that it has such a gentle onboarding like it meets you where you’re at. If you just know HTML, CSS and JavaScript, it’s the perfect framework for you. And if you’re really advanced in using other frameworks like like Next.js or whatever, it’s it’s a very easy shoe and you can quickly understand the the primitives, the patterns, that kind of stuff. So I think that’s what’s made it so interesting. As far as like

If I were to try to convince somebody, a lot of that would depend on what kind of developer they were. So let me kind of talk to both. If you’re maybe a beginner developer, it allows you to kind of focus on key web primitives and patterns with smart defaults. So you get like TypeScript and all your script tags and they’re modularized by default and you can write just normal CSS or tail end if you want. Normal CSS is all scoped to the component. Like there’s just a lot of really smart things they’ve done that make it really easy to get started with and kind of hard.

To mess up with it’s hard to build a slow site and unless you’re just doing really bad patterns So if you know the fundamentals, it’s a really nice way to then kind of boost those fundamentals without adding too much complexity So that’s what I would say probably to begin or dev as far as somebody who’s used to UI frameworks I think one of the things that’s made it so nice to adapt is that you can use any front-end UI framework essentially in Astro They you can pull in like react or view or spell or whatever and then Astro will

Maxi Ferreira (06:04) Mm-hmm.

Chris Pennington (06:19) actually build all that HTML and then allows you to hydrate that whenever you want to with the JavaScript needed to run it. So that means that if you have a next.js site, but it’s mostly just static content, you can basically just port over all your components and you can be up and running in just a few minutes with Astro. But without any of the speed problems that you can run into with a lot of these other frameworks. So again, it’s kind of hard to build a slow site in Astro. And so for

An easy onboarding ramp for beginners. It’s great. And if you’re already experienced it’s it’s great as well and then it scales from there. It can’t can kind of go where you need to go. So you know it’s SSG by default, but it’s very easy to add an SSR adapter and make the whole site or single pages SSR SSG kind of what you want. Depending on what you need, you got middleware and API routes and server actions and server islands and there’s just a lot you can do if you want to go more advanced with Astro, but you can start very, very basic so it meets you where you’re at.

Maxi Ferreira (07:01) Mm-hmm.

Chris Pennington (07:13) And then it can scale where you need to go and you can pull in anything you’ve already been using like tail end or any front end UI framework. So I think because of that, it’s kind of the Switzerland of the web is kind of how I think about it. Like it doesn’t really make enemies. You just, it invites everyone and you can very easily pick it up where you need to go. And then there are a bunch of things that make Astro special beyond what you’re used to. And I’m happy to chat about that as well. But I think that’s kind of my pitch for people if they’re beginning, beginning in web development or more advanced and kind of already have patterns in mind.

Maxi Ferreira (07:43) Yeah, yeah, absolutely. I think you nailed it with the Switzerland of the web. It definitely feels like, yeah, they don’t make enemies. They adopt to any framework. again, the decisions that they make are compatible with other ways of doing things. They support SSR, they support SSG. I guess they don’t really support React server components at the moment, if I understand correctly.

the way that you can work with Astro combining the actions that they now have with the islands that are hydrated independently, it kind of mimics that behavior. It gives you a lot of the benefits that React Server components give you. So yeah, think it’s definitely a fantastic choice. I use it for all of my personal projects, start with Astro. And like you said, it’s very easy to…

Chris Pennington (08:18) Right.

Mm-hmm.

Maxi Ferreira (08:32) to just add the complexity as you need it. I start with basic Astro components and as I realized that, I need some interactivity, I pulled in a framework and it just works. It’s just fantastic. You taught…

Chris Pennington (08:43) I think you get a lot of

the benefits of frameworks without getting like the drawbacks or the complexities like it’s very clear where code is run if it’s server or not and like there’s just a lot of really nice patterns they put in place that kind of remove some of the over complicated complexity for what you know if you’re building especially a content site. It’s just I think it’s second to none.

Maxi Ferreira (08:49) Right.

Yeah, absolutely. You touched a little bit on Next.js. If you bring in existing Next.js application, how you can potentially migrate it to Astro. What would you say are the main differences between Astro and Next.js, for example, for building a full stack React application? What do you think Astro shines in this regard?

Chris Pennington (09:23) I think Astro, it kind of came on the scene as content only to start with. And I think that in some ways has kind of hurt its reputation because it can do so much more than that, but it still is best at content. so I think whether you’re kind of bringing over, porting in your own stuff or kind of building from scratch, if most of your content is static, then I think Astro is kind of second to none in the sense that you have like first party.

Maxi Ferreira (09:34) Okay

Chris Pennington (09:47) First class support for markdown. You can just import markdown components and it renders it to HTML and then really the kicker for me is content collections. I think it’s Astra superpower. You can basically have type safe markdown whether it’s local or now they’ve expanded it to any source. Basically can be a CSV file. You can import that and type it and then validate that using Zod and pull that in and again all that.

All those patterns are at play again where they’re just using normal standard web patterns and you’re able to pull in data from any source and then type check it, which is pretty cool. If you’re used to working with with a site builder where you’ve got a bunch of content, you’ve got to validate that in some way, which either means you’re writing a ton of validating functions and methods to make sure that all your data works. But even then, it’s easy to let things fall through the cracks. So to be able to scale to thousands or tens of thousands of posts or products like with an e-commerce site,

Maxi Ferreira (10:31) Mm-hmm.

Chris Pennington (10:37) and make sure that everything has a title that’s 65 characters long and those kinds of things. You can do another frameworks, but it just requires a ton of work on your part. And Astra makes content heavy sites just really, really easy to work with. Where it doesn’t do quite as well is if you’re wanting a full client-side app, essentially, you can embed those. And I’ve done plenty of sites like that where I’ve got kind of an off section that’s protected by middleware.

Maxi Ferreira (10:43) Mm-hmm.

Mm-hmm.

Chris Pennington (11:05) And then essentially that whole little section is just its own little react app. You can certainly do something like that in Astro, but just like with Next.js, you might have to do a little bit more work to get marked down and static content to work well and to be type checked. You’ve got to do a little bit more work and Astro to do that as well. Although it’s becoming easier and easier. So generally what I say is if it’s more of an application where the whole thing needs to be very interactive and the data needs to be very fluid, then I would probably choose Next.js.

Maxi Ferreira (11:08) Mm-hmm.

Chris Pennington (11:33) Anything that’s like ecommerce or a blog or anything static to me, I just you get so many nice things out of Astro that it would be hard to to choose next. Yes for me over it.

Maxi Ferreira (11:43) Right. One thing that an application usually has is a database. Like a lot of applications will probably, if you’re building a content site, something that maybe will use a CMS or has some markdown files, probably maybe you don’t need a database. But if you’re building a web app, in a lot of cases, you might need a database. And I know that Astro has some solutions for that. you share a little bit more of what options do we have available in Astro?

Chris Pennington (11:55) Mm-hmm.

Yeah. So they have something called Astro DB and it follows a lot of the same patterns as their other things as well, which is nice. Once you kind of pick up how they do stuff, everything kind of fits the same way. So you define a schema, uses SQL light. So you actually get a local instance on your machine that you can run in dev. And then they used to have a hosted version for you called Astro studio. They’ve basically set that aside and now you can just tap into terso or wherever you want to host that SQL light.

Database and it’s fairly easy when you build to then just connect to that Production database as well. So yeah, you you can define everything test it locally make sure everything works And again you get type safety and all that as well So Astro DB is the database solution that they’ve got set and that’s one of those little steps They’ve made that makes it a lot easier to say like I think Astro probably is the right choice even for something more complex

Maxi Ferreira (12:42) Mm-hmm.

Mm-hmm, we talked about how Astro is probably a good choice for someone who starting out in tech because, or building websites because they’re not exposed to the entirely of the, just complexity of these other frameworks. Instead, they can start with the fundamentals.

And I know that a lot of your content on YouTube and your blogs is geared towards beginners or intermediate developers who maybe they’re just starting out people who might decided to, okay, I want to build websites in 2025. What is your, do you have any sort of advice for people who might be considering a career in tech switching from other technology? What should they focus on learning?

Chris Pennington (13:43) Yeah, I still like I said, I feel very much like a beginner myself. So I’ll preach to the choir here if that’s okay. Talk to myself a little bit too. But I do think that advice I got from my brother was really important just to learn the fundamentals. Of course, AI has changed a lot of the game of how people learn. But I think we’ve yet to see how that’s going to interface with the learning journey. But I do know one thing will be stay the same. And that is you have to understand the basic fundamentals. So you’ll never lose time understanding the core

Maxi Ferreira (13:48) Hahaha.

Mm-hmm.

Chris Pennington (14:09) Of HTML CSS and JavaScript especially talking about web development here.

and so I think I would focus there I would be really curious is the second thing I’d probably encourage you that that’s such a core fundamental characteristic that has to be there if you’re gonna do well in development and And that includes like not just you know vibe coding, but really saying okay. Why did it make this decision? What are the other options I had available to me, and you can use AI I think

intelligently that way. Like I see you did this. What are the other options available? Why did you choose this one? Can you give me any more learning resources? Like I think AI in a sense can enhance that learning or it can really cut your knees out if you’re not careful. so yeah, learn the fundamentals, be curious. then probably the third thing would be to build real projects. So I think that was the thing that really kind of captured my heart and what captures a lot of developers hearts.

You don’t have to build like a massive application that thousands of user are going to use in the first few weeks. Just build something small for you and then keep iterating on it. And that goes the same, like even if you’re working on a course, like I do have a course on Astro, but like I, my advice for people learning courses is don’t just do what the course says, take what the course has and then say, okay, I want to add to it. I want to change a little bit. So even if you’re building a real life project that somebody else has put together,

Maxi Ferreira (15:18) Mm-hmm.

Chris Pennington (15:25) Make it your own add some extra features to it so I can think of like we were having trouble with our kids like not shutting off lights and so we came up with a little game for them and I had a little API endpoint I could tap on my watch and hit and it would like Take points or add points depending if I saw lights on or off or those kinds of things and so like that’s a fun little project that no one will ever use but me But that’s what really what makes it exciting is like, okay. What could what could I add to make this,

Maxi Ferreira (15:43) Ha

Chris Pennington (15:51) Cool and then I got like a ping from a service that said like the lights been on for this long and you know there’s just a lot of fun things you can do if you are curious and try to solve real problems that you have and then those expand your horizons where you realize like you know what I kind of need a database now I’ve never really had to learn that before maybe it’s time to use you know SQLite or you know learn some kind of query language and so I think as you’re curious and as you’re building real projects it naturally leads to the next stage of growth where you say like this is an area I don’t yet know

Maxi Ferreira (16:12) Mm-hmm.

Mm-hmm.

Chris Pennington (16:20) And then maybe the last thing would be to like, don’t be afraid to fail. I think imposter syndrome sometimes is talked about too much. a lot of times it’s just like, it hurts to learn. It’s hard to learn and that’s okay. And everybody goes through that. but failure is like, your biggest help because it points to what you need to learn next. It’s like a road sign saying like, this is the next thing to learn. And so I, on my own channel, like I started streaming a lot the last year, mostly because I wanted to force myself to say like, what do I not know?

Maxi Ferreira (16:37) Hmm.

Chris Pennington (16:46) And so every time I stream, almost always run up against something that I thought I knew and that I just am beating my head against the wall in the stream. And I can’t pretend like I know what it is because I’m alive. And then I get to go the next week and say, okay, let me learn that. And failure is a real superpower if you can use it that way. so those are a few pieces of advice, but I’m happy to explore any of those more.

Maxi Ferreira (16:55) Hehehehe

No,

I think that’s fantastic advice. I definitely agree on the curiosity mindset. And especially when we’re working with AI these days, not delegating the decision making to the AI completely. I think it’s completely fine to use it to do the implementation. But the decision process and the understanding should come from you, not from the bot. So I think that’s very important.

Chris Pennington (17:18) Mm.

Maxi Ferreira (17:31) So you mentioned how you started streaming when you just to find the gaps in your non-knowledge, I guess. Is that something you would recommend people perhaps to do even if they don’t want to become like a content creator online? Is that something you recommend people doing? What advice you have for people who are looking into streaming or doing YouTube as a way to learn?

Chris Pennington (17:53) Yeah, it’s that’s actually funny because that’s basically how I got into it. I was listening to a podcast and one of the hosts said, hey, I record myself all the time talking through code because I’ll convince myself I understand it until I have to explain it. And when I have to verbally talk it out, I realized I don’t actually know what’s going on here or I haven’t really answered all the questions. And so he said, you I don’t always post it. I lots of just record it just so I have to talk it out because I know I will.

Maxi Ferreira (18:07) Mm-hmm.

Chris Pennington (18:19) And so I thought, well, that’s a good thing to do. And I’m very much a verbal processor. So I started doing that, I think about six months after I started learning, just to force myself to explain whatever I was currently going through. For me, I’ve just found that so instrumental in my learning by essentially being the arrow that points to what I don’t know. And so a lot of times I’ll have to record something multiple times in a row before I really understand it. And even then sometimes I’ll get comments that like, hey, you didn’t understand this part. And for me, that’s a good thing. I try not to take that

Maxi Ferreira (18:37) Hehe.

Chris Pennington (18:48) too personally and people have been very kind on the whole to me anyhow. But to just be myself to be thankful for that and you know to take that in stride. So I think for me recording and talking through it whether you post that somewhere or not can be really beneficial especially if you’re more of a verbal processor but either way it kind of forces you to call your own bluff to see if you actually know it or if you you just think you know it.

Maxi Ferreira (19:10) Right.

Chris Pennington (19:12) As far

as if you want to post that or not that’s kind of a separate discussion and I’m happy to chat about what that might look like but that is basically my journey into YouTube in the first place

Maxi Ferreira (19:22) Right, right. Yeah. And yeah, I think I have similar advice for people who are looking to write more or to blog more, start a newsletter or something. You don’t have to, yeah, I think there is this misconception in that you have to be an expert at the thing to talk about the thing. And you really don’t. A lot of people who are reading your content are people who haven’t faced this problem before. So the fact that you just went through and you explored…

Chris Pennington (19:29) Hmm.

Maxi Ferreira (19:48) the options and you came up with a solution, already puts you in a position to teach something. So yeah, I think that’s very important to call out. The learning, having to talk through the thing to fully understanding is also very, very important. think there is a blank in on who said that, but he has this saying of this method. was Richard Feynman, was it? He has that method of

Chris Pennington (20:12) Mmm.

Maxi Ferreira (20:12) teaching

to trying to teach a concept to someone in middle school or something until you can get to that point where you can teach the concept in a very basic way, you don’t fully understand it. So yeah, it’s a great framework to force you to do that transition.

Chris Pennington (20:24) Yeah.

A few years ago. I started teaching I’ve got three kids and I started teaching my at that time eight-year-old Some computer stuff and I’m like, how do I explain like these basic? Concepts but that honestly was probably one of the most helpful things for me is to have to kind of dumb it down into a way that’s like super intelligible to at that time I think it was a yeah six and eight-year-old and that was really really helpful for me. And also I think they kind of enjoyed it enough. We just did it for

I don’t know three or four months or so once a week that was fun to do with my girls, but yeah that that Experience is really really helpful and as long as you’re not pretending to be something that you’re not I think Anybody can teach what you know and that’s that’s kind of the pattern I took with my YouTube channel and still is to this day like I’ve never really tried to make it a huge thing It’s not a large part of my identity like I think maybe a few people under five people in my actual

Maxi Ferreira (20:59) Nice.

Chris Pennington (21:20) current life who are not developers know that I even have a channel it’s just not a thing that like is a major part of who I am because it’s always just been whatever I learned that week I’m gonna teach that so that also means that kind of scopes it to things I’m learning which may not be the most sensational or things that’ll go clickbait you know crazy and that’s fine everyone has their own purpose but for me that’s kind of stayed my my North Star and I’ve tried to keep it as the purpose of my channel which has really been a help to me even personally it

can reduce the pressure because I’m just teaching something I’ve been doing that week. forcing yourself to explain it in simple ways is really, can be very powerful in your own learning.

Maxi Ferreira (21:58) No, I love your YouTube channel, I your content. And you can tell it’s authentic, like you’re not trying to play the algorithm. And I think that really gets to people and that that’s the reason why your channel is so popular. do you have any, like for people who are…

Chris Pennington (22:14) Hmm.

Maxi Ferreira (22:18) Perhaps looking at YouTube and saying, I’ve been building websites for a while. I like to share more of my knowledge with the people. Maybe I don’t like to write too much. I don’t like blogging, but I can see myself doing screencasts things like that. Do you have any advice for people who trying to get into content creation?

Chris Pennington (22:35) I think overall I would just encourage people to be themselves, which I know maybe sounds cliche, but I do think that that connects with people. Just be honest with where you’re at, what you’re going through and explain something that you’ve learned and then probably know your purpose for why you have your channel. There are a lot of people out there who have channels because they want to go big and that’s totally fine. If that wants to be your thing, then just make that your North Star intentionally. But if that’s not your thing, if you don’t care, if you really just want to

Use it as a teaching tool for yourself or you really want to highlight some, you know, SAS product you’re working on and you want to build it in public or whatever your purpose is. Just make sure that you stay true to that. There’s been so many times where, for instance, I’ve had big sponsors come to me or people saying, hey, I can really make your channel way bigger if you chose these topics. And those things are tempting. But like for me, I’ve always come back to like, what is my purpose in doing this channel? And at least right now, and it may change in the future, but at least right now it’s always been.

I want to learn by teaching. And so that kind of centers you and allows it to be something that’s not a burden for the most part. think, you know, like this week, I haven’t had time to post. I usually do. I try to get ahead. I’ve been kind of doing it week by week the last few weeks, and that’s fine. You know, my point is not to grow an audience. My point is really to learn by teaching. And if I can help people along the way, that’s great. But

Just knowing what your purpose is and sticking to that is really important because it’s very easy to get distracted with numbers or with growth or with comments or what people say about you and if you can find your purpose and stick to it and then be yourself I think those are two things that in the world of AI and everything else will ultimately shine through and and look natural to people so and you’ll get better at it hopefully hopefully I have over the years and You’ll learn a lot you’ll be called out on things you didn’t do well and just as long as you’re humble and honest and open to

to take criticism, but not take it personally. I think all those things can be really powerful and can connect with real people. And in the end, like that’s kind of what matters. You know, we’re actually building for people. We’re trying to use products and software to connect with people and enable people. And so to be able to like learn in public and connect with real people has been really cool. And I think it’s what’s made it worth it going forward. These, guess for four years or something almost on the channel.

Maxi Ferreira (24:48) Love that. Yeah, love that advice. Yeah. So important to have your actions being aligned with your purpose, like you said. Finding the purpose is so important and sometimes we skip that step.

Chris Pennington (24:57) Yeah. Yeah.

Yeah, it’s easy to get distracted too.

Maxi Ferreira (25:03) Yeah,

absolutely. So, Chris, you work at Riesent now. Riesent is a product that has a fantastic branding, but I can’t say I know all of the details of what you do. Can you tell us what Riesent is?

Chris Pennington (25:19) Yeah, Resend is essentially an API for email for developers. Whether when you’re a developer, you’re including email in your application, that could be more transactional stuff. So you might be sending like magic links or login links or those kinds of things. Subscription notices, somebody signs up and you send them a letter right away, or it could be more marketing emails. And that would be more traditional marketing emails.

Maxi Ferreira (25:23) Mm-hmm.

Chris Pennington (25:43) So Resend makes that really easy for developers. And yeah, my job is to basically explain that and help developers adopt our product.

Maxi Ferreira (25:51) Nice, nice. And is it used also for like, you want to send like newsletters, broadcasts, things like that? do people use it for that purpose as well?

Chris Pennington (26:01) Yes, that would be more the marketing angle. So those are kind of the two different sides of the product. The transactional again would be more like occasional things like login links and that kind of stuff. And then marketing would be more broadcast marketing blast. And so you can use recent for both. really, I think what tries what we try to do and what sets repost send apart is that we’re for developers, we kind of speak your language. Like literally, we speak the language, we have SDKs are basically every language, which make it really easy, or you can simply

Maxi Ferreira (26:03) Hmm.

Chris Pennington (26:29) you know, hit API endpoints as well to send or emails or set up domains even. And because we’ve got integration with actual products through all of our APIs, you can literally create an entire SaaS flow where you’re adding somebody’s domain for them and scheduling a broadcast. just released a broadcast API so you can actually send marketing blasts programmatically. You can generate API keys and get those keys. So everything is API first.

which means as a developer, you don’t have to go in and mess with an interface if you don’t want to. Everything’s available to you just through a simple API that’s really predictable. That’s the same everywhere. And that again is in your language, whatever, whatever language you prefer to write.

Maxi Ferreira (27:10) Right. Yeah. Yeah, absolutely. do you, what’s the break? So I saw on the other side that you, like you mentioned, you integrate with every language, every framework. Is this a tool that is perhaps more popular in the JavaScript community or do you see it being adopted across the board?

Chris Pennington (27:27) Yeah, we see it adopted everywhere. You know, the founders themselves and then a lot of us who work on it are more in the front end and or just JavaScript space as a whole. So obviously we know people and those people, you know, the community naturally spreads from the people who founded it. But over the last couple of years, now that we’ve been founded, we’ve seen it really dramatically expand. We just released a dot net SDK officially, even though there’s been one kind of in the community for a while, just a few months ago.

Maxi Ferreira (27:38) Mm-hmm.

Chris Pennington (27:54) So really anywhere you’re writing code, we’re seeing people adopting this at an astounding rate, which is really cool to see. And what we usually hear is from developers is like, okay, this is the exact kind of API I want to work with. Most people don’t like writing emails, working with emails. just, it’s a necessary part of your application. So what we try to do is make that really easy. And that can be everything from just like making the API super predictable to handling like a lot of the more complex stuff like

We have a batch email API, so you don’t have to worry about throttling or queuing or scheduling. We do all that for you and you just basically hit the API and through whatever SDK you’re using or endpoint. And then we handle all that for you. Broadcast, we’ve got like kind of a notion style editor that you can write it in. Or again, you can write it all in code and then just hit an endpoint and send out a broadcast to any audience you want. We’ve got like automatic unsubscribes, you know, so as you sign somebody up for an audience.

They can unsubscribe from your newsletter and we just handle all that for you. So we try to basically take all the pain out of email so that as a developer you can focus on building your application and you’re not sitting there like, you know, setting up some queue system and not figuring out why it’s not working properly and then having to set up scheduling and messing with outages. And we really try to handle all that for developers. And we’ve seen that’s basically the message we hear back is I can tell this was written by developers for developers. It’s people who actually understand me.

And that’s really encouraging. That’s kind of the core audience that we’re trying to hit.

Maxi Ferreira (29:18) Nice, very cool. no, definitely. I’m currently building like a small app and yeah, I’m focusing on the features of the app. I want to get it done, I want to get it published. And one thing that I have to figure out is email. it’s an after, it’s almost like an after, so like, oh, I know it’s something I have to do, but I don’t want to spend any time working, like doing that. So it seems like it just solves all the problems for you too. So you have to worry about it.

Chris Pennington (29:32) Yeah.

Right?

Yeah, we’ve tried to make a really generous free tier for both the marketing side and the transactional side so that especially if you’re working on a simple project, you can just spin it up. Literally, it takes three minutes. You get your domain verified. You hook up, you know, whatever SDK you’re using and you’re you’re sending emails. And I think that’s that’s one of the things you won’t see in a lot of the other email platforms. It requires a ton of manual validation. Sometimes you can be waiting days to hear back just on whether or not your domain’s been verified. So we’ve really tried to smooth that out.

intelligently in a way that both protects people’s reputation and and guides them kind of on the best practices for email sending But doesn’t slow you down at all so that like you said It’s mostly an afterthought you just want to get it in there and working and if you don’t have to think about it all the better and that’s really what we’ve tried to focus on is having the best developer experience you can imagine for email which is You know already a tough area for developers a lot of times

Maxi Ferreira (30:25) Mm-hmm.

Very cool. This is a bit of a nod question, but do you have problems with people trying to use your API for like spam and things like that? How do you handle that?

Chris Pennington (30:50) Yeah, we like any email service. That’s something you always have to guard against. So we’ve got a bunch in place programmatically to catch people like that. But we’ve also just hired really one of the experts in the entire field. Her name is Anna Ward, and she’s our new postmaster. And her whole job is to essentially identify those people. So yeah, our team is set up to handle that kind of reputation troubles. And if you don’t worry about that,

Like most normal people who are developers who aren’t sending spam, they’re not thinking that way. But what can happen is you can really easily damage your reputation. And the problem is you have no control over that. mailboxes themselves, those inboxes like Gmail and Yahoo, they’re actually controlling whether or not your emails land in people’s inbox or not. And so what we try to do is not only provide an infrastructure that’s safe from spammers that we are doing that protection for you, but we also try to help you learn best practices.

So like right now there’s every time you send an email, we attach something called the deliverability insights to that email in your dashboard. And it actually says, are you using all the best practices? And it shows you a check mark if you aren’t, if you are, and then if you’re not, it shows you how to fix that. And we write a lot. That’s a lot of what I do as well as try to explain best practices through articles and videos and stuff like that to help developers kind of learn the best practices without having to become email experts themselves with a few basic tweaks and being on a system that really

watches out for you, watches your back and ensures you’ve got a good reputation. You can send emails successfully and that’s really what everyone wants. I want the email to actually get in people’s inboxes. We try to help you from our side and also just from your knowledge side to make sure that that actually happens.

recent just one thing to encourage people with we started a new project called new dot email. And speaking of AI, like we did earlier, I think this is one of those tools that actually is useful for me. Like a lot of the AI hype, I’m kind of like, yeah, we’ll see. You know, it’s been fun to spin up my own MCP servers and play with it. But a lot of production stuff isn’t quite there yet. But you know, email tries to take a prompt and generates a react email reacts.

Email is actually what started recent to start with. We this is open source project for building emails and using react. And so what new email does is spins this up and gives you HTML react or plain text and then you can use that in your application. So I’d encourage people to check that out. That’s been a really fun project to see get off the ground. And just today we were looking at a bunch of really cool explorations of kind of where to go next with it. And there’s a bunch of possibilities there. So

I’d encourage you to look at new email or maybe React email if you haven’t looked at that too. So those are two other things kind of connected to recent or recent adjacent that people might be interested in.

Maxi Ferreira (33:28) Nice, amazing. Yeah, I tried it out and it’s very cool. I love trying new AI tools. And yeah, I think React email is fantastic. As someone who, when I started my career in UI development, I started building emails and like HTML emails. So I know all about the pain. Yeah, I know all about the pain of working with tables and that kind of stuff. yeah.

Chris Pennington (33:44) man. You’ve been through the trenches.

Maxi Ferreira (33:54) Definitely recommend people to check out both of these tools. We’ll leave links in the description to all of this. Chris, before I let you go, I’d like to do picks for the audience. Is there anything you’d like to share? This could be books, this could be TV shows, movies, anything you’re interested in these days.

Chris Pennington (33:57) Yeah.

Yeah, I don’t get a lot of time to watch shows I’m kind of a Luddite in that way like I just don’t really have a ton of time So but I do have other hobbies I have probably way too many hobbies like I roast my own coffee and I just bought a 3d printer like six months ago So I’m gonna try not to beat that 3d printer guy Probably the one pick I think as far as like things I’ve gotten recently that I really liked is I got a split keyboard which I’m gonna try not also to be a keyboard guy, but I got a Voyager and

Maxi Ferreira (34:26) Nice.

haha

Chris Pennington (34:38) I think the big thing for me was I keep trying to make my desk set up better and I realized the difference between this with your hands in the middle and your hands spread like it just completely changes your whole yeah, your whole posture and that’s been really helpful for me. It took like two months to get used to. I’m not sure I actually quite hit that number yet but I’m getting close to getting used to it but it’s been really worth it and something I had on my wish list for like four years and I’m glad I finally just pulled the trigger.

Maxi Ferreira (34:51) Hmm.

Chris Pennington (35:05) So yeah, that’s been something fun I’ve been playing with recently, but I’m very happy to talk about any one of about 5,000 hobbies I have on the side as well.

Maxi Ferreira (35:06) Nice.

So do you have a hard time adjusting to like a regular keyboard if you have to use your laptop’s keyboard or something? Do you have to relearn how to use it?

Chris Pennington (35:23) Yeah, I think a lot of it is so with this one you have different layers. You’ve got kind of your normal key layer and then you’ve got at least the way I have it set up. I have three other layers and so that’s probably the hardest thing to used to is to remember that I don’t have those layers. But so far at least I haven’t been on it long enough probably to lose my capacity to not have it and then I also will take my laptop up since I work from home a lot of times at night I’ll be up on the couch on my laptop and I don’t usually bring my keyboard up so hopefully that will mitigate it and I’ll just be

Amazing at both. I’m not sure if that’s a possibility, but so far it’s been okay.

Maxi Ferreira (35:53) Nice.

Very cool. I wanted to try one of those for a while. yeah, I’ll look up the ones that you mentioned because yeah, I don’t want to become a keyboard person, but that sounds very, very, very cool.

Chris Pennington (36:05) Right. We could be like keyboard

people who aren’t keyboard people, you know, just normal people who like keyboards. That’s fine.

Maxi Ferreira (36:10) Yeah. Yeah, exactly. I

did my best not to become like a mechanical keyboard person when I was using mechanical keyboard. So I think I can handle it. My pick is another podcast. So I’ve been really enjoying the Pragmatic Engineer podcast. And he recently had a was John Osterhout, who’s the author of

Chris Pennington (36:17) Yeah.

You got this in the bag. It’s going to be great.

Maxi Ferreira (36:34) the philosophy of software design book, which is one of my favorite books that I recommend to people. And he was on the podcast with Gergely talking about software design in the AI era and so on. So was very interesting conversation. I really like his philosophy. That’s why I love his book so much. So yeah, highly recommend everyone who’s looking for a software design discussion to check that one out.

Chris Pennington (36:59) I to check that out. sounds super interesting. Thanks.

Maxi Ferreira (37:02) Yeah, so all right, well, thanks so much for joining me today, Chris. Where can people find you online if you want to learn more about you?

Chris Pennington (37:11) They’re probably the easiest places my YouTube channel coding in public. I’m also on Twitter and I’ll leave the I’ll leave you to leave the link if you want people to find that but you can grab that from YouTube as well. So those are probably the easiest places to find me. I wish I was a little bit better with social media, but there’s only so much time in the day. So I’d rather usually code than then be on social media. So you’ll find me there occasionally.

Maxi Ferreira (37:32) Yeah, yeah, I get the feeling. All right, we’ll leave links to all of that in the description. Thanks so much for joining me again, Chris.

Chris Pennington (37:40) Thank you so much, Maxi.

But wait, there's more!

Join 5,000+ developers getting the latest insights from the world of software design and architecture—tailored specifically to frontend engineers. Delivered right to your inbox every two weeks.

    🌶️ tip: unsubscribe at any time.