The basic functionality of an app, whether it’s web, desktop, or mobile, isn’t always basic to code. Sometimes it’s those common features that tap so much of a developer’s energy. Notifications are one such example.
We expect most all apps to notify us of incoming messages, calendar events, available updates, comment replies, friend requests, and the list could continue for several pages. This is the plumbing of an app, and it can often be arduous. In his previous experience as VP of Engineering and a CTO and tech startups, Troy Goode saw how marketing automation was handled by various services such as HubSpot, but that other message delivery needs were handled in-house.
This is why he founded Courier. In this edition of UpTech Report, Troy explains how his company created a fully automated notification delivery system, why it is such a complicated problem, and what new technologies they’re developing to make notifications work better than ever.
Learn more at courier.com
TRANSCRIPTION
DISCLAIMER: Below is an AI generated transcript. There could be a few typos but it should be at least 90% accurate. Watch video or listen to the podcast for the full experience!
Troy Goode 0:00
One of the things that you really need to balance in today’s world is creating high value interactions with your users not just high volume.
Alexander Ferguson 0:14
Welcome to UpTech Report. UpTech Report is sponsored by TeraLeap. Learn how to leverage the power of video at Teraleap.io. Today is our Applied Tech series. I’m excited to be joined by my guest, Troy, Troy Goode who’s based in San Francisco, California. He’s the founder and CEO of Courier. Welcome. Troy, good to have you on, man.
Troy Goode 0:33
Thanks, Alexander, good to see you.
Alexander Ferguson 0:35
Now Courier is, as I pulled from your website, a notification management system built for the engineers out there to manage multi channel app notifications at scale. So if you need a fast way to add multi channel notifications to your web, desktop or mobile app, this is might be an intriguing platform the engineers want to check out help me understand Troy like, Where did you see the initial problem? I mean, notifications are everywhere. What are you doing? Why is it different? What was the problem you saw?
Troy Goode 1:01
Yeah, so I’m, I’m an engineer, by trade. I’ve spent about two decades now leading engineering teams as well. And once upon a time, I lead engineering for a company called Eloqua, which is an email marketing automation system, we ended up taking that company public and selling to Oracle. After after that, you know, I kind of had messaging on my brain. And I was the VP of Engineering and CTO of a couple of other startups. And one of the things I saw was that the marketing teams at the companies I was working for had marketing automation systems, like Eloqua, or Marketo, or HubSpot. But I still saw that the engineers on my team, were spending a lot of time building infrastructure for the product originated notifications that we were sending the things that a marketer doesn’t send, but that our product sends right.
Alexander Ferguson 1:56
Yep. And what’s what’s normal happens in notifications in your in your app, or whatever.
Troy Goode 2:01
Sure. I mean, updates, certainly, but But think about things like invites, or if I’m building a collaboration tool, and I mentioned you or I need a digest, to let me know what happened at the end of the week, right? There are a lot of different notifications. Actually, most of our customers have about 150 different kinds of notifications, they send even as something as simple as a password reset, right? It’s one of the main user interfaces for your product.
Alexander Ferguson 2:28
So I was on the notifications, I
Troy Goode 2:31
saw this happening, I saw my team spending a lot of time on it. And there was a there was a an inflection point at one point where one of my teams was working on a collaboration feature in the product. And that at mentioned, use case I just described, we wanted something better there like at mentions are useless if you don’t get a notification when that happens, right? Like it’s just
Alexander Ferguson 2:50
like, pay attention. And they don’t know that you tag them.
Troy Goode 2:53
Right. It’s not useful for you. It’s not useful for them. So we needed something. And we started off with email notifications. And then we heard from users, this is kind of annoying if I’m already in the product collaborating, right? So okay, that makes sense. And we eventually built out a mobile app as well. So you had kind of the web experience, you have the mobile experience. And so eventually, we said, okay, well, what makes sense here, what what do the best in class companies do. And there was a common theme, they what they would do is they would say, look, if you’re delivering a notification to somebody who’s already inside of your product, using it, send them that via in app notification, right? show a bad show a bell, show a little toast pop up from the you know, the corner of the screen. But that only works if they’re currently inside the product. So what you need to do is a are they currently on the product? If so, delivered that way? If they’re not now you have a choice to make? Should I send it to mobile push? Well, that requires you to have an app and requires that the users downloaded it and requires that they’ve accepted bill push? Or do I go to something like email? And so ultimately, what I told my team I wanted was, hey, let’s pick those three channels. And let’s send it to the best channel for Alexander. Right, the second, right. And so they went off kind of did the design came back to me with a, you know, a bill. And it was it was a big one. And honestly, I just couldn’t justify taking my team away from kind of our core value prop long enough to justify building. So that’s, that’s kind of what started on my mind.
Alexander Ferguson 4:25
So it’s like, you saw that the root need, okay, people do need notified that it’s there. And you’re like, Okay, and it’d be nice if they were notified in the right way, the right place of where they happen to be at that time that they would want it. And they’re like, Alright, let’s do it. That can’t be hard. But then you see a giant bill, but
Troy Goode 4:42
yeah, it was it was surprisingly hard. And so it was going to be months of work for for our team and just to kind of get it built out. And that was just you know, that’s just one feature. We had other things we had to build.
Alexander Ferguson 4:56
And time is money time is everything and so when you’re when you’re building up Do you take the time to build the whole notification solution or system or not? I guess that’s the root of the question that you’re you’re you are posing here, as developers out there, they don’t need to take the time to build out a whole multi channel notification from solution they can just hook into yours.
Troy Goode 5:16
That’s, that’s, that’s our thesis, right? That’s what that’s what we started the company to do.
Alexander Ferguson 5:22
I mean, the complexity of notification Can you speak into any more about like your your tech stack and just how it works? And and maybe just the time savings truly this comes into play?
Troy Goode 5:31
Yeah, well, so notifications are tough, both from the configuration and programmability standpoint, because every company is different. Every company has a different combination of channels they’re interested in whether it be email, SMS, mobile plush in app, Slack, WhatsApp, right, there are a lot of different channels that you might want to send on different providers for each of them. So if you’re sending via SMS, do you use Twilio? gs messagebird, use pleatco do use Vonage bandwidth, etc. So there’s complexity there. But also a big challenge is just dealing with certainly for a service provider like us is dealing with scale, right? Because our customers use us via API, right? So they’re not coming in clicking send, send, send, send send, right, they’re calling us from their products. And that means that we can get huge bursts of volume kind of an unpredictable times. And we need to be able to scale rapidly to meet that demand, because that’s part of what our customers are paying us for, as queue these up retry these ensure deliverability. You know, offload not just the templating and routing, but also the actual act of delivery
Alexander Ferguson 6:42
is deliverability an issue when it comes to notifications.
Troy Goode 6:45
It’s a huge issue. So each channel has its own deliverability challenges. I think emails, probably the best known here, right? Like, do what you can, you know, here’s the top 20 ways to avoid being put in the spam folder. Right. So there’s, there’s industries that have popped up around email deliverability. But other channels likewise have have deliverability issues, SMS, for example, let’s say you pick a provider, that providers probably going to have different deliverability rates, depending on geographic region. So email, like, if you solve the spam problem for email, you’ve solved it for us customers, your EU customers, or Asian customers. That’s not the case for SMS Because ultimately, companies like Twilio, and messagebird, and leivo, etc. They’re a layer on top of the downstream Telecom carriers. And so depending on their relationship and their connectivity with each of them, they success can vary by the region of your user when they deliver when they receive that message. So maybe they’re normally in the US, but they’re on holiday right now. And all of a sudden, maybe your deliverability drops with that user on SMS. And so that’s something that you’re tracking, being able to pay attention to, if it working, or you’re like you’re able to see all the way down the pipe, we’re able to see a lot of that. So we are, you know, constantly monitoring the deliverability of each message that you’re sending. We’re looking at this across different channels, we’re also looking at across different providers within a given channel. So we had to have customers that, for example, want to have multiple SMS vendors mapped to the rest of us channel,
Alexander Ferguson 8:26
how many just said the complexity of also how it’s delivered the look of the style that etc. I feel like one of the things you talked about, told me when we were chatting is how LinkedIn has, as was at 50. Engineers on just notifications.
Troy Goode 8:42
Yeah, that’s right. So they have, most large tech companies have their own version of Courier, right. And they have teams or teams of teams that all they do for a living is build out their notification management systems. For in the case of LinkedIn, which is one of the bigger ones we know about their internal tools called air traffic controller. They published some great content about this. But air traffic controller or ACC, as they call it, is a team of 50 engineers that have been building out the mobile push email, SMS and in app infrastructure for LinkedIn over the past five years.
Alexander Ferguson 9:19
They have an army of developers focus on just notifications. You’re saying every major tech company has that but for someone, a startup or small organization midsize does it, can they really afford 50 developers?
Troy Goode 9:32
Obviously not right. And that’s probably at the extreme end, we see you know, GitHub has seven Airbnb has 35 Pinterest has nine right? So you see these teams and teams of teams. But yeah, when you’re just getting started, obviously you’re not going to do that. And that’s kind of our thesis is can we build something that scales with you from when you’re in your dorm room hacking on something you know, give you the the tools that make it easy there but also scale with you as you become more successful? Company. Speaking of scaling,
Alexander Ferguson 10:01
I mean, how are you able to go from one day to notifications to hundreds of 1000 notifications on, you know, one account to another account? Like how do you scale?
Troy Goode 10:11
So we’ve, you know, a lot of my team and I had experience at Eloqua, which was a messaging company, and still is, and deals with billions and billions of messages, we have the opportunity to see how to build something at scale, at the time using some older technology. And we saw kind of what the pain points were from that. So when we set out to build Courier, we said, okay, well, we know kind of some of the best practices, but we also know some of the downsides of those best practices have. We’re starting something new, though, what can we do today, that would make a big difference, and we ended up selecting serverless as our technology choice. So we don’t have a single server, not there’s not a single easy to instance, no service at all, None. None at all, completely serverless functions all the way down using AWS lambda, and no SQL databases.
Alexander Ferguson 11:04
And that’s worked for you because you then you it doesn’t have any issues when suddenly go from zero to 100, or what our 100,000,
Troy Goode 11:12
right, there’s, there’s all sorts of caveats and other work that has to go into it. It’s not a magic potion, right. But very early on, we were able to have like, essentially, auto scaling infrastructure that was able to very quickly adapt to and handle large variances in demand from our customers, something that would have been very hard to build out and probably prohibitively expensive in our earliest days.
Alexander Ferguson 11:41
But now, now, it is feasible, but it’s not something that ever everyone, an engineer developing a new solution that they could just go serverless to,
Troy Goode 11:50
I’ve been lucky, you could, there are a few different serverless frameworks that I would generally recommend kind of grabbing one off the shelf to help orchestrate the solutions that we use serverless comm AWS has something called amplify, there are a number of different options here. That helped make it easier. But it’s, it’s all still pretty new. Right? And we like the the trade offs for us are worthwhile, because needing to be able to, you know, have the capacity to scale like that is so critical to what we what we offer, if you were building, not to be diminutive here, but more of a like a, what we would call like a crud app, right, where it’s its users like logging in updating records, primarily user to software interactions, as opposed to API based interactions, I don’t know that it would be worth it to you. You know, as opposed to like the benefits you would get, as opposed to what you would trade off to not just spin up a Ruby on Rails app or something similar, it probably returns
Alexander Ferguson 12:59
of what you get. But as far as is when it comes to your costing and internal discussions of usage, if you’re not having a server allows a much more simplified pricing structure for you for your application. Right.
Troy Goode 13:14
Yeah, I mean, that’s part of it as well. So we are used as base pricing as our most messaging companies, so users pay us per message. And ultimately, you know, each one of those messages is invoking a function, which invokes other functions and, and we’re able to calculate out, hey, what does it cost us to send a message? And then thus, what should we charge per message? That is pretty straightforward. When you’re using server lists. There can be some challenges when when you have like, there’s an impedance mismatch, when you’re going to like I have a server farm, I need to do this.
Alexander Ferguson 13:51
at it, that is going back to just the industry of messaging of the notification concept, we’re not going to decrease the quantity of notifications that need to happen in our applications. And if we think of the end user, it that only that will only increase because we’re just getting more software’s that we’re using. What What can you speak of kind of the future of like, where you see notifications going and being in into five years from now.
Troy Goode 14:19
I think as, as end users, I don’t think we’re gonna see the saralee a reduction in notifications, just because we have so many more companies vying for our attention. But I do think that what we will see company individual companies do is potentially in many cases reduce the volume of notifications they send to each user. And one of the reasons why is I think that what’s gonna become critical is attention management. And one of the things that you really need to balance in today’s world is creating high value interactions with your users, not just high volume. There was a time when high volume worked for you because There wasn’t as many things and in the space buying for your users attention, so you can come dominate them. And like, I don’t ever think that that was maybe a good behavior, but it demonstrably worked, right? I don’t think that works for most companies anymore. And honestly, I’m happy. That’s the case. Right? So So now it’s becoming about how can I send fewer, but make them really impactful?
Alexander Ferguson 15:28
The age of just getting billions, no Facebook notifications. So this, this, this and this haven’t happened? Now people are annoyed even at their applicant, their phones, their their devices that stop notifying me I don’t want so much. Let’s dig into a little more. I’m curious. You said, less but better quality, like Can Can you define that further of like, what what would that look like if we were to reduce the quantity of notifications? But make them better?
Troy Goode 15:54
Yeah, so there’s a few different facets here. Right? One of the things we’re working on right now, actually, that we’re releasing later this year is called digests. And that’s the idea that, okay, start to intelligently group your notifications together. So that instead of LinkedIn, that big team, what this is one of the key things that they do, right, if I send you an invite to connect with me on LinkedIn, and so to 10, other people, you don’t get 10 emails, right. Now, an easy or, you know, the simplest path here is to just group them all and say, have a daily digest or weekly digest. That’s a good place to start, right? But then you start to run into well, but man, I really wish I knew about this one. Right? And so that’s when you start to think about Okay, can I do some signaling here in search of the side, intelligently? In the case of let’s say, LinkedIn style notifications? Should I deliver this invite to Alexander immediately? Right, and maybe the next invite just gets put into the digest batch, right? Maybe the user that’s requesting, you know, the connection with likes, Alexander shares a lot of first degree connections with him, right? And our model predicts, we think he’s gonna want to accept, where’s the next one’s from a recruiter? He’s gonna say no, right? Just throw it in the digest.
Alexander Ferguson 17:15
It’s almost like it How can you get the messaging system to be as the old executive admin gatekeeper of like, gets, I don’t need to know all this. Just you know, what I really want? So show me that.
Troy Goode 17:27
That’s right. Exactly. Exactly.
Alexander Ferguson 17:30
Are we there? Are we there? Is it are you guys able, you said you’re rolling out your your digest?
Troy Goode 17:35
Yeah, we’re not? Yeah, I mean, look, as an industry, we’re there. If you have dozens of engineers, you can put on the problem. Right? His career, they’re not not quite right. But we are building a lot of the kind of foundational elements, and I think we’ll be there this year, to help it power that for our customers. View? How can you get that what data is needed to be able to make those intelligent decisions, though?
Alexander Ferguson 18:01
Like, what inputs? Are you going to need to make that happen?
Troy Goode 18:04
Yeah, so you know, I think the inputs vary, right? Because what we just talked about is, is what I would call aggregation. Right? It’s okay, send in the data, and then put in, you know, the extra metadata necessary to intelligently aggregate. But it’s, that’s not honestly the only thing that you need here. Because you also need to better understand things like timing of delivery. Right? This is a key part of making, making a good notification experience for your user as well is give it to them at a reasonable time. Obviously, don’t deliver SMS messages at 3am. Right, like, I think we would all know not to do that. But also like, is your product a work product? Or, or a personal product? And if so, like, do you maybe want to use that to think about, when is the user likely to be thinking about the kinds of behaviors you want to encourage? If it’s work related, maybe, you know, should you be sending it at 7pm? Right, not only is that like disrupt their flow, but are you less likely to actually get their engagement at that point, and vice versa for personal products? And then, you know, the other factor here is just where to deliver it. Right? Should I and this is where that multi channel element comes in place. What’s the best channel to deliver it to that user right now. So really, to kind of pull this all together, you need a suite of contact information for the user. That’s what really tells you Here are the ways I could reach them. If I if you don’t have their phone number, you’re not sending SMS, right? You don’t have push tokens, you’re not sending mobile push, you need locale and preference information, right? metadata on top of that, about the user, sometimes supplied by them sometimes kind of inferred, right to help you understand timezone and have they specifically unsubscribe from a certain channel, and then you need the metadata about the content, right? And that’s what helps you kind of pull that correctly into the aggregation layer.
Alexander Ferguson 19:55
I understand a bit more just about courier for is it just lay on tapa as just another API connection that goes through. So basically, the notification goes to you first and then goes to the end user. Do they see you at all?
Troy Goode 20:09
Yeah, no, the the end user doesn’t see us, right? We are a layer on top of our customers existing channel providers. So let’s say you were using sendgrid, for email, Twilio for SMS, Apple push notification, or Firebase FCM. for mobile push, you would plug your API tokens for each of those services in the Courier. And now your developer would use Couriers API instead of theirs. And we would do the basically, we would you would say, hey, Troy, send this notification to Alexander, we would do the routing layer, figure out when should this be delivered? Which channels should be delivered on? Should we aggregate this into a single digest? We’d go through a template and pass what should it look like that varies by channel, right? And then we would go to the deliverability pass and helping guarantee that delivery,
Alexander Ferguson 20:54
that traffic controller before it goes to the end, delivery delivery method. What I’m fascinated with is the era that we’re in, it’s just layer upon layer upon layer of SAS, and and past platforms that enable the end consumer. But if anything, just allows us to potentially develop faster and innovate faster, create new things and focus on what what someone’s really the main core product of what they do. That’s
Troy Goode 21:19
right. It’s a I always like to say it’s turtles all the way down. All the way down.
Alexander Ferguson 21:23
Okay. I like that. I like that. For you. I mean, this this is started Three, two years ago,
Troy Goode 21:31
two years ago, as of, you know, a couple, two years in one week.
Alexander Ferguson 21:35
Okay, two weeks, two years, and in one week, and it’s been you’ve been in the industry, so you’ve known it intimately yourself. But this is this is your opportunity to bring it out. And to make it happen. What do you if you had to look look ahead in the next 510 years with Korea? What are you most excited about? What can you share about the roadmap?
Troy Goode 21:59
Well, the roadmap, I mean, so our, our vision, our goal here is to be what we call the sensible default for software to human communication, right? So when we think about that roadmap, we’re thinking about not just what are the services that we can provide those large tech companies that, you know, we some of which are our customers, but also what and this is what really gets me jazzed is like, what can I provide to that developer that’s working on the proverbial garage or dorm room, right building a side project, building their first startup? How can we just make it easier to build software? And how can we make it easy to build software that delivers a great experience to their user, right without them having to be an expert. And so a lot of what we focus on is building out the those capabilities for the smallest of teams, and making sure that career scales with them. But when we talk about digests, for example, that’s the kind of thing you probably wouldn’t build until you have 10s of engineers on your team as a whole, right? We want to make it possible for you to do that when you You’re the only engineer, right? We just launched in app notifications. So you can have the the toasts appear like in the corner of your app and have a little notification inbox where your user can see all the notifications they’ve they’ve received from you and mark them all as red and get rid of the little badge on the bell. And we want that to be just you know, a script tag, you just drop into your web app or into your mobile app. That that’s kind of what we’re really focused in on is making bring that 50 engineer LinkedIn experience down to the college student working on a new app.
Alexander Ferguson 23:45
I love the the desire to help the individual, but that allows us to scale that you can have the same technical capabilities or 50%, LinkedIn notification team in your one person operation, and allowing you to scale. I’m excited for the future that you paint. If there was any words of wisdom or advice that you would share with any developers out there. Maybe when it comes to notifications, or just in general, in the space that you see, going going forward? What would you share?
Troy Goode 24:15
Oh, man, well, so look, I would say the the key thing, outside of just notifications, but I think notifications are part of this is user experience has become increasingly important, right? And thinking about user experience from all the different angles, we’re hiring up a lot of our marketing team at career right now. And so, you know, outside of what we offer to our customers, I’m thinking about me as a customer here, me as somebody who’s, you know, building software. And one of the things I’ve learned is that in kind of today’s self service world, we need to be taking like a more holistic view of what user experience means. And I think product led growth is probably the best framework for thinking about this. For for many of us, and that’s something that we take really seriously. It’s really a Courier. So we think about the marketing website as part of the user experience, right? It’s not some asset marketing owns, right? What does the onboarding flow look like? Right, we now have a dedicated team just for that onboarding flow. Right. So as soon as you click the signup button, how can we reduce all the barriers for getting value from the product? We have a big free tier, you know, how do you construct an amazing user experience outside of just how they use the product?
Alexander Ferguson 25:35
And the user experience from immediately recognizing you as a brand new that you exist all the way through trial? And you’d be able to get into it not just let me use the product and experience there? That’s
Troy Goode 25:47
right. That’s right. And applications you send to them. But it’s it’s just that’s just one part of that pie.
Alexander Ferguson 25:53
That’s just one piece of the pie. I think a lot of especially product lead options out there not not sales minded, but like a by product based founders, were engineers, they may not think of it in that way. But I think it’s a powerful insight for for those who are product founders, to design their their their sufferings from already from marketing to not not to say address. Let me just build a product over here. And eventually people find it and see it, how great it is. Absolutely. It actually starts over here. That is powerful. Not I see on your site. Speaking of you said, your free tier. For those that want to try it out, you can go to career calm. I’m curious actually how much that you love that you’re like, but it’s good. We need it is a good name. 10,000 free notifications every month. So the idea is that for those that are still that in the proverbial garage or apartment, they can be using this without potentially any additional cost when they’re starting out.
Troy Goode 26:51
That’s right. That’s right, you should be able to most companies can go pretty long way without ever having to pay.
Alexander Ferguson 26:58
You’re you’re giving up a lot of money, though, aren’t you?
Troy Goode 27:01
Well, look, the the the real secret here, right is that the larger companies just send so many more notifications. And you might think that nickel and diming somebody who’s sending 20,000 notifications is not really where the the volume comes from, for us understand scale, why it’s like,
Alexander Ferguson 27:23
how many notifications does one of the big companies send?
Troy Goode 27:27
So I was just yesterday, I was talking to a major software company that you’d have heard of that they do source control management, and that I looked at one of their notifications that they were sending 130 million times a day 130 million times a day.
Alexander Ferguson 27:46
Okay, that’s, that’s incredible. That so that that definitely tells you the scale that you’re Yeah, 10,000. Um,
Troy Goode 27:55
we we have late stage companies that are you know, series D, that are b2b, even in notifications just aren’t as frequent for them. And so they, they might only send 50,000, right, so 10,000 can get you a really long way.
Alexander Ferguson 28:11
If you, you know, honestly, somewhat depends on the nature of your product. blog, depending on awared notification and built into into the into the system. Well, I I’m I’m intrigued with what your approach and and you’re from right from the beginning the thesis that it’s a lot of work, and should you really be doing it. For those engineers out there, it is a question you just have to answer yourself, do you really want to do this or not? If you don’t, you can head over to Korea. But I’m also fascinated by the future of notifications and where we will be headed. I’m much would be much glad or if I have less than vacations, but they’re smarter. Let’s make that happen.
Troy Goode 28:50
Sounds good. That’s the plan.
Alexander Ferguson 28:51
Oh, thank you again, everyone for for joining us, you get to head to Uptechreport.com. See this full episode a lot more. And you can head over to courier.com to get to sign up for those free 10,000 free notifications for your developing engineer. Thanks again. Troy for your time.
Troy Goode 29:05
Yeah, thanks, Alexander was great to have to be on. Absolutely.
Alexander Ferguson 29:08
We’ll see you guys on the next episode. That concludes the audio version of this episode. To see the original and more visit our UpTech Report YouTube channel. If you know a tech company, we should interview you can nominate them at UpTech report.com. Or if you just prefer to listen. Make sure you’re subscribed to this series on Apple podcasts, Spotify or your favorite podcasting app.