SIGNAL Behind the Scenes: Microsoft's Chloe Condon
Time to read: 38 minutes
In this interview, Chloe Condon, a Cloud Developer Advocate from Microsoft and a Twilio Champion sat down with Corey Weathers, a Developer Evangelist at Twilio to talk about her fake boyfriend app. I hope you enjoy this interview transcript and live coding session.
The following interview took place August 6th, 2019 at Twilio's SIGNAL conference at Moscone West in San Francisco, California. It previously aired on our SIGNAL TV broadcast over on Twitch.tv/Twilio.
You can also find this interview on Youtube on Twilio's channel.
https://www.youtube.com/watch?v=TSm_GU2E9r4&feature=youtu.be
An introduction to Chloe Condon
Corey: We've been talking and talking and talking about this amazing, amazing individual who's seated to my left. She has obviously, like, her name's been brought up a number of times on Chef Brent's stream. We talked a good bit about the work that you did, yeah. Then you heard about her if you saw the keynote earlier. She was the first of the shout-outs in Jeff's keynote. It's amazing, amazing, amazing. We have to introduce her. Ladies and gentlemen, please, warm round of applause digitally through the chatroom, for one Ms. Chloe Condon.
Chloe: Hello. Thank you so much for having me. What a wonderful intro.
Corey: Okay, I tried hard. You know, I tried hard not to prep. I wanted this to feel organic.
Chloe: It felt real, thank you.
Corey: I wanted it to feel authentic, so I'm glad to hear that. How are you today?
Chloe: I'm good, I'm so excited. This is honestly, I look forward to this event every year.
Corey: Yeah?
Chloe: I met my best friend, April, who's gonna be on the stream a little bit, at SIGNAL last year.
Corey: Yes.
Chloe: I just look forward to it every year and I'm so excited to give one of my favorite talks at SIGNAL this year.
Corey: That's cool, now wait, what's the talk you're doing?
Chloe: So my talk is pretty similar to what we're gonna be talking about today, which is my fake boyfriend app.
Corey: Ey.
Chloe: It's really, really fun. It's something that I built with a little Flic button, which is just--
Corey: That's amazing.
Chloe: Tiny little button. Just got a little adhesive on the back. It's waterproof.
Corey: Yeah, yeah.
Chloe: And yeah, basically, we can get into it a little later, but we've all been in that awkward social situation where we're just, oh my gosh, I don't wanna talk to this person or get me out of here or this party's going too long, and I use Twilio to click this button and trigger a fake call.
Corey: Oh my God.
Chloe: As well as a fake text.
Corey: Oh my God.
Chloe: Depending on what you want, so.
Corey: That is amazing.
Chloe: Yeah, and it's actually pretty simple to build, surprisingly.
Corey: So this is, I think, why we love kind of having you here to talk about all of the things. Before we get into that, I gotta tell you the chat room is loving your fashion choices.
Chloe: Oh my gosh, thank you. It's a little bit of a Microsoft homage here.
Corey: Yeah, I love the Windows, #Windows. We talked about that earlier.
Chloe: Representing the little AOL here.
Corey: We talked about the AIM pin. Shout-out to EliFace for referencing that AIM pin.
Chloe: It says AIM is the way, 1997 to 2017, rest in peace.
Corey: That is amazing, right? And then we talked about the floppy disk ear rings. Shout-out to CopperBeardy.
Chloe: Oh, thank you, thank you.
Corey: And FralouieHazel for calling those out.
Chloe: I love nostalgic tech fashion. It's my favorite thing. I think I'm gonna wear it tomorrow. Someone mentioned, "Oh my gosh, Chloe's not wearing a hat." I found a hat deal at the thrift store in the Mission and it's yellow, it's like the color of this, and it says Lotus on it.
Corey: That is amazing.
Chloe: Like, it's an original Lotus hat and it was 12 dollars.
Corey: That is amazing.
Chloe: So, if you're looking for reasons to move to SF, Bay Area thrift store finds are very good here.
Corey: I also have to also say a quick shout-out to all of our new followers, so we've got Birdy1992. We've got Mpaarating, who also dropped a really nice bit in the chatroom about why this fake boyfriend app is super cool for those who are introverted. I think that's actually really cool. Thank you for sharing that.
Chloe: Yeah, so, actually the number one comment that I get after this talk isn't what you would expect. It's always, "Today I learned that I'm an ambivert."
Corey: Oh my God.
Chloe: Which, spoiler alert, an ambivert is someone who has a combination of introverted and extroverted features.
Corey: That's exactly right.
Chloe: Which I very much identify with. I will be the life of the party all day at this event and people will say, "You wanna go to karaoke at 10?" And I'm like, absolutely not.
Chloe: I life in San Francisco, but typically I'll be in my hotel room with a blanket over my head, watching Seinfeld, eating Uber Eats, alone from people. I don't really like to be around people. Like, I love and love to be around people in small doses.
Corey: Yeah, yeah.
Chloe: Ambivert.
Corey: I mean, I love that. As an evangelist, I identify with that a lot, and so I love that you're so, like, vocal and comic about that, thank you.
Chloe: The one caveat, however, is after I give this talk, less people come up to me afterwards to chat and say hi because they think, they're scared that I'm a little tapped out of peopling, but always come and say hi after.
Chloe discusses getting into tech
Corey: I gotta read the story. CodeBlue said they had a story specifically for you, about you, and all the fun things. I wanna see if this is a fun story to read. Do you wanna indulge a little bit?
Chloe: Sure, sure.
Corey: So, CodeBlue says they wanted to share a story with you. They used to work with an amazing developer, but she used to be a criminal lawyer who moved into coding later than most after attending the bootcamp, and so they first heard about you because that developer said what an inspiration you were for her. Just wanted to take a chance to say thank you for inspiring amazing people to come to tech.
Chloe: Thank you so much for sharing that story. That's so wonderful to hear.
Corey: What an amazing story.
Chloe: I applaud anybody who comes from a non-traditional background into tech. It's super hard, I did it myself. I come from a theater background, which is very, very different. I guess, you know, there's a lot of cameras and lights, but.
Corey: Yeah, yeah.
Chloe: Not as much JavaScript and expense reports, but thank you so much for sharing that. That's such a great story.
Corey: It is an amazing story. It is part of why we do what we do. Both being evangelists, or in your case a Cloud Developer Advocate, right, at Microsoft. Also, kinda continuing to serve developers in the community. It's phenomenal, and so I'm super glad that people are feeling, one, welcome, two, included, three, inspired.
Chloe: Yeah, and it's super, super easy to get started. I mean, especially with the project that I am talking about today with you and the talk that I'm giving at SIGNAL. We're actually starting to give workshops at the Microsoft Reactor in San Francisco of this very fake boyfriend app.
Corey: That's amazing.
Chloe: We think it's such a great beginner project just specifically for bootcamp grads.
Corey: Yeah.
Chloe: Specifically people who are newer to Twilio, newer to Microsoft.
Corey: Yeah.
Chloe demos her fake boyfriend app to Corey
Chloe: So definitely reach out on Twitter if you're interested in that. I'm excited to have people, we're just gonna have so many fake boyfriends all over the world.
Corey: Let's deploy the fake boyfriends.
Chloe: Or a fake girlfriend or a fake The Rock or a fake Beyonce, it could be whatever you want, a Rick Roll.
Chloe: Or a fake Beyonce or a fake The Rock or a fake Rick Roll, yes.
Chloe: Okay, let's jump into the fake boyfriend app.
Chloe: Yeah, sure.
Corey: We're gonna go ahead and transition over to your screen. We've got your screen kinda set up here, so this is the display that folks can see.
Chloe: Awesome, okay.
Corey: And we may bump up the zoom a little bit, just to make sure folks can see it.
Chloe: Yes, let's do it. There we go, so, I'm just gonna, this is a short link that everyone can use today if you wanna follow along at all or take a look at the repo. It's aka.ms/signalbf, as in--
Chloe: Aka.ms/signalbf.
Chloe: Like your BF from SIGNAL. So, your BF.
Chloe: Oh, I love that. That's awesome.
Chloe: And that will take you to this lovely fake boyfriend workshop which already exists out in the wild. Totally feel free to read through this on your own if you'd like.
Corey: Oh, that's cool.
Chloe: But essentially, this all kind of started from Twitter, surprise, surprise.
Corey: Wait, wait, wait, so what, whoa, hold on, wait. Let's try this one more time, from Twitter?
Chloe: Yes, so a lot of my application ideas and stuff come from like, weird jokes or tweets. I tweet a lot of puns often on Twitter.
Corey: Yeah, yeah, yeah.
Chloe: I have a fake, or I was gonna say, a fake Mario app. I have a fake astrology app that uses Microsoft Cognitive Services to determine what your chosen Mario Kart player says about your personality.
Corey: Oh, this is awesome. This is so awesome.
Chloe: So I analyzed a bunch of, you know, cosplayer images. That's another SIGNAL TV thing for another day. But, um, I was tweeting about how, you know, I'm an ambivert and I share a lot about, you know, my ADHD and my ambivertedness on Twitter, and I kept thinking, you know, I wish I had this button. I could just like, click a button, 'cause I've been in so many situations where I genuinely want to leave. I'm like, I'm ready to go, my time is up. There's a banner on Etsy that says, "Please leave by nine." That's very much how I feel when I throw a party at my house.
Corey: Absolutely.
Chloe: So I built this little app and you can listen to it with sound online, but essentially, this is, I'll kinda--
Chloe: Oh, this is amazing.
Chloe: Talk through what this is.
Chloe: Hey, let's zoom in a little bit. Let's see if folks can find this.
Chloe: So this is on my Twitter if you wanna take a look.
Chloe: Oh, this is amazing.
Chloe: So, basically what I did here, and I'll show you a diagram in a second, is I used Azure, which is a Microsoft product.
Corey: Shout-out to the Microsoft folks over at Azure, yeah.
Chloe: Shout-out to Microsoft. So I used Azure to basically host two different Azure functions that send a call as well as a text, so one of the functions is to send a call with the Twilio API and one is to send a text.
Corey: That's awesome.
Chloe: And the whole, what you're seeing here on the phone, so obviously we're triggering that with a Flic button and what you're seeing on the phone here is I created a contact, which is a Twilio phone number.
Corey: Nice, ey.
Chloe: That I purchased through Twilio.
Corey: Awesome sauce, one dollar a month for in the United States.
Chloe: One dollar a month.
Chloe: Super easy.
Chloe: And then I basically hooked it all together in the back-end. I'll show you the code in a sec. I used my, you know, Twilio authentication code and all my secrets on the back-end and made it so those functions are just waiting to get triggered.
Chloe: To be called.
Chloe: By an HTTP request.
Corey: That is amazing.
Chloe: Yeah.
Corey: Now, wait, wait, wait. So, powered by two functions behind the scenes. I have to ask, this is a community of chatters that have strong opinions on programming languages.
Chloe: Oh, yes.
Corey: Some like Python, some like C#, me included. Some like JavaScript. What is your choice of programming language?
Chloe: You know, I actually play with a lot of different languages 'cause I'm playing with a lot of different tools, but I tend to kind of lean more towards the JavaScript, Python, and React side of things.
Corey: Really? Look at that, friends.
Chloe: I went to Hackbright, we learned Python and JavaScript and my girl--
Corey: That makes sense.
Chloe: My girl April and I got matching patches, not tattoos. That would be cool, though.
Corey: Matching patches. Wait, can we get the patches here? Can she bring the patch tomorrow for her session?
Chloe: I, possibly. She may have it on something. We got it at RuPaul's Drag Con.
Corey: Oh, I love that.
Chloe: Our second favorite conference. Why not?
Chloe: We're into a lot of programmer, techy, Python-y fashion.
Corey: Yes.
Chloe: I'm sure April, if you've seen April today, she's wearing a pink jumpsuit.
Corey: I just saw her.
Chloe: She's looking fabulous, looking great. Maybe we can bring it. I bet she's tweeted it, for sure.
Corey: She's taking over, as well, the Twilio, I just found this out. I ran into April, I was just right outside the booth here. She's taking over the Twilio Instagram stories.
Chloe: Yes.
Corey: I think for like, the next couple of minutes or so.
Chloe: We're both doing that together.
Corey: Are you, oh my God, this is amazing.
Chloe: Here she is.
Corey: This is April.
Chloe: This is with my son, Misty the Robot, which is gonna be at the Microsoft booth.
Corey: Awesome sauce.
Chloe: So excited to meet my new son.
Corey: Yes.
Chloe: I guess she hasn't revealed. There's not been a reveal yet.
Corey: Not the full outfit.
Chloe: So.
Corey: But I saw it and said, "Oh, that's bomb."
Chloe: Yup.
Corey: I love that. That's exactly what I said. Well, April's gonna be here tomorrow, too.
Chloe: Oh, amazing, yay.
Corey: Yeah, so we're gonna have some fun and some time with April, just like we're having fun and time with you. This is cool, we're having a good time.
Chloe: It's a good time.
Corey: All right, cool, so this is built with Azure functions. Can we see some code?
Chloe: Yeah, totally. So, I just wanted to show a diagram real quick because I know I, like--
Corey: Yeah, before we get to the code.
Chloe: Said a bunch of things really quickly.
Chloe: So you do not need a Flic button to do this workshop. You can actually just, it's an HTTP request, so you can trigger it with any sort of IOT device. You can just, you know, have it in your browser on your phone. and click Enter.
Corey: That's cool.
Chloe: So this is just a diagram that I like to show people that shows what exactly is going on in under the hood. So basically, we're clicking the Flic button, which triggers an Azure function.
Corey: Makes sense.
Chloe: Which we've hooked up our Twilio SID and Auth stuff to, and then that sends the call/text/other things from--
Chloe: Out to Twilio.
Corey: Yeah.
Corey: That's a simple, I mean, this is almost as simple as like, a quick start.
Chloe: Yeah, I mean, it's super, super easy out of the box, and I'll walk you through the code. I will say that, for the sake of demoing it, I usually have it send a text and a call to me.
Corey: Perfect.
Chloe: Versus to someone else to save me, like an SOS thing. The reason being, and this is a fun story, is that I had my PM Vanessa help me with this. I just told this story at the Sentry Scouts' tell your favorite debugging story.
Corey: Oh, this is funny, this is funny. I already heard this.
Chloe: So basically, Vanessa was in New York, but before she went to New York, I showed her. I was like, hey, can I test out my fake boyfriend app with her? She said sure and I hard-coded her phone number into my app, and then she went to New York a week later and I went back to, you know, work on it and I kept clicking the button and I'm like--
Corey: Who's, where's it going?
Chloe: Why isn't this working? Like, all the code, it says that it sent. What's going on? Vanessa was in a little play called Sleep No More in New York, which, if you're unfamiliar, is an immersive theatrical experience in New York where they take away your phones, you're not allowed to talk to anybody, and you have masks on and it's a whole thing. That's another story for another day.
Corey: That is hilarious.
Chloe: But she comes back to her phone and is like, "Oh my God, I have like, "75 text messages from Chloe "that just say SOS, trash panda alert." because we had this inside joke about our team being the Trash Pandas.
Corey: Oh, that's amazing, can you all see that?
Chloe: Yeah, let's see.
Corey: The focus gets a little bit weird.
Chloe: It's a sticker that says trash pandas, and yeah, it was pretty funny once we figured out what had happened there.
Corey: Oh, that's funny.
Chloe: I love to tell that story as a never hard-code your credentials story.
Corey: Trash panda.
Chloe: Because we all learn the hard way, some funnier than the others, but.
Corey: Trash panda.
Chloe: Quick preface. Um, yeah, so I figured I'll just kind of show you. So, I have an Azure account already, obviously. I work at Microsoft.
Corey: That's that whole Microsoft Batch thing.
Chloe: Yup, so I am logged into the Azure portal here. You can get here by just searching for--
Corey: Portal.azure.com.
Chloe: Yes, exactly.
Corey: There we go.
Chloe: Or you can go through that short link I gave you earlier to get to my workshop repo. So, I already have some functions here, so I'm gonna go to my resources and so here is my Azure function. I've already built this out for y'all to make it super... This is a little bit more visual. You can also do this in Visual Studio Code. You can do it in ID.
Corey: No, I love this.
Chloe: You can do it however developers work, but I like to do it this way, just to show people what's going on here.
Corey: Yeah, this is great.
Chloe: So here is my HTTP trigger, it's super simple.
Corey: Now, wait, what's this trigger thing?
Chloe: So the trigger is going to be the function. So, our first function that we're gonna call, which, it's really, really simple to make one. You can kinda see I've got it highlighted here in pink.
Corey: Wait, so you've got the steps already lined up here in GitHub?
Chloe: I do, I wanted to be super, you know, as someone who went to a bootcamp, I hate lack of documentation and bad documentation.
Corey: Totally makes sense.
Chloe: Especially for beginners, especially as someone who struggled their way through many a documentation and API. Absolutely.
Chloe: Especially starting out, so this is super, super beginner-friendly, so definitely come walk through here. Come to a workshop, it's very much laid out for you.
Corey: I love that.
Chloe: Honestly, taking a cue from Twilio's documentation.
Corey: Shout-out to the developer education team.
Chloe: Honestly, if any documentation Rick Rolls me, that's a win in itself. Spoiler alert for this app. But their documentation has a Getting Started, Rick Rolled me, and I was like, I'm gonna keep this. If you looked at my Twitter and looked at my pinned tweet and have sound on, you know that that got kept in the end.
Corey: It's funny too because, like, so the life of yours is calling out something interesting, right? Which is terrible documentation that says something like, "Oh, just look at the demo and the test folder."
Chloe: Yeah, yeah.
Corey: Which is horrible! Like, that doesn't get anyone equipped. It doesn't get anyone excited. It just, you're like, "Okay, well, what are we doing?"
Chloe: And I've learned something as a developer advocate, which is, if you don't hand-hold people step by step by step, I recently gave this workshop to a group of very smart, smart, smart senior developers, but I skipped one little tiny step, which I swear was something like click this button.
Corey: Oh no.
Chloe: And if people just see a block of text and not an image, they'll skip through it.
Chloe: Yeah, they're like, what am I supposed to do?
Chloe: So always, the more, there was, an exercise that I do, I always think of this when I'm making documentation. In, when was it? It was in fifth grade. Our teacher said, "Okay, I want you to write "how to make a peanut butter and jelly sandwich."
Corey: Oh my God.
Chloe: And we all wrote it out and we were like, you know, get bread, put, you know, but she wanted to us to be like, take off the twist tie, open the bag.
Chloe: That's exactly right. Put the bread on a plate, and she would do it for us, and you know, she'd get the bread and you know, she'd put the--
Corey: And then just take it off.
Chloe: Someone would say, "Unscrew the lid." And she'd chart it and I really try to do that with my documentation, because it makes a difference.
Corey: I mean, it makes a lot of a difference. MarleBack is saying that's such a common interview question, and I love that you're calling this out because it is about trying to make this accessible. It's about trying to make it easy for folks to follow along. EllieFace is saying she had to do it in the sixth grade, which is fascinating.
Chloe: Yeah, yeah, it's a great way to make sure that you're accounting for all those use cases, because I think as developers, we're all experiencing such different things. Like, you can be an expert at Android. You can be an expert at dev ops, but no one is an expert at everything, and some of the best advice I got, the first company I worked at was a doctor-focused company and I was very intimidated to create beginner content and people said, "Oh, no, no, no. "There'd be live changes all the time."
Corey: Wow.
Chloe: Like, you know, we need beginner content, so never be afraid to, A, consume beginner content, and B, make it, please make it.
Corey: Hey, before we continue going, I wanna give a quick shout-out to a couple of the folks who've now followed the channel. Thank you so much, Vermontsystems, Gold Penguin. Fernando, did I get that right? Fernando DeVal, thank you so much.
Chloe: Fernando DeVal.
Corey: Wave Rider, JC, ooh, I like that speaker. Of course, ClarkIO, who we love, KidKavon, and Birdy1992. I think that's gotten us caught up.
Chloe: Yes.
Corey: We've got a ton of new followers. If you like what you're seeing, if you like what you're hearing, if you wanna be a part of the SIGNAL experience, hit the Follow button. Make sure you stay on. We'll have more amazing stuff with Chloe literally when I finish talking, as well as some amazing other folks who, it's just gonna be a phenomenal time, so now I'm gonna stop talking. We're gonna get back to the amazing with Chloe.
Chloe: I also wanted to share. I was in Florida last week and I had a burrito that came with documentation.
Corey: Oh my God.
Chloe: I have a picture of it. I think I tweeted it.
Corey: Wait a minute.
Chloe: And it literally was like little directions that came with my burrito, and it was like--
Corey: Oh my God.
Chloe: Well, pull down foil and like, how to save it for later, and I'm like, this is good. Maybe we could've made it digital, save the planet, but this is good.
Corey: I love that we're putting documentation in food wrapping.
Chloe: Yeah, it's the age of documentation.
Corey: It's time to save the planet, that's how this goes.
Chloe: And, speaking of which, so this whole workshop that I did, I made it myself, but if you're looking maybe, you know, you're more of a game-ified type person or you really like, you know, a walkthrough and you wanna learn more, Microsoft Docs, so Microsoft Learn, has step-by-step, super amazing, like, as handhold-y as you want it to be walkthroughs, and they give you little badges and stuff for completing different modules and lessons and sections. It's a big part of how I ended up making this app, even as a developer at Microsoft, I use it, so it's part of our docs, so definitely check it out.
Corey: I actually just used it on the stream last Friday or Thursday when I was playing TwilioQuest, and folks were like, "Oh, this is really easy to do. "It's really easy to set up, you know to do this." And I said, "No, we're gonna walk through the documentation. "We're going to go through this experience" This is amazing. Thank you so much, MarleBack, for the love. Twilio, we think, has really good documentation. We hope that you all enjoy it as well.
Chloe: Yeah, I was just gonna say, if I can find him, our mascot for Docs is super cute. It's a little Doc.
Corey: Oh, is it really?
Chloe: I'll find him for us later.
Corey: Oh, we gotta find it.
Chloe: I mean, this bow tie is pretty cute, too.
Corey: Okay, so we're going back to the app.
Chloe: Yes, so the first thing that I did is I created a function app, which again, is in this workshop here, and then I had to fill out a couple things here, so my app name, which has to be unique, what subscription I'm using. If you're using Microsoft Learn, you actually get a sandbox mode that'll give you free Azure credit for like four hours.
Corey: Oh, that's cool.
Chloe: So you can do it that way or you can do it through Fire Workshop. A link in here for a free account. I'm using Windows. Consumption plan for my hosting plan. West US for my location because I'm here in beautiful San Francisco, and I'm using no GS for the runtime stock here.
Corey: Got it.
Chloe: And for the sake of this application, I'm creating new storage, which it just repopulates this.
Corey: That makes sense.
Chloe: This here, so once that's supported, it takes about a minute or two, we have our first resource.
Corey: That's cool.
Chloe: Which is what I will show you... Here.
Corey: Here, yeah.
Chloe: And right out of the box, there's just gonna be a function here where if you append the URL, this is not it, so just pretend you're not seeing this.
Corey: Yeah, let's just pretend you don't see that.
Chloe: So right out of the box, it's gonna look like this. You can create your first function. There's a quick start feature, and we're doing a webhook API, so again, you can do this all on your terminal, all through the S-coded side.
Corey: Wait, hold on, whoa, that's, wait, whoa. Wait, that's a big thing.
Chloe: It's all connected together, so it's really kinda choose your adventure, choose your flavor of how you want to make your fake boyfriend app. Personally, I really like using the portal, just to have a visualization.
Corey: A visual interface, right.
Chloe: But if, you know, if it's more your style to do things a different way, do it in a different way.
Corey: Yeah, because there's the Azure function CLI, right?
Chloe: Yes.
Corey: We are fans of CLIs today, I gotta tell you. Twilio announced their CLI, the chatroom loved it. We talked about the CLI just now to power Azure and all of the things that you can do in Azure, which is super powerful.
Chloe: Yeah.
Corey: I think this is amazing.
Chloe: Yeah, I mean, it's very cool because I think we've now realized as tech companies that people work in so many different ways and computers. I'm working on a Mac at Microsoft and I have friends who work at other companies and use different tools, so I think it's really cool to just see all these things, A, play together really well.
Corey: Right, right.
Chloe: And then, B, like, be able to create these really cool things, just different paths.
Corey: I have to ask because it came up in the chatroom. EllieFace has asked, "Is this really the 952nd time "you've run the fake boyfriend workshop?"
Chloe: I don't think I'm in the hundreds yet. I think I've done the workshop once. Pretty soon, ask me in a couple of months, maybe, after we've done it at the Reactor a couple of times. But no, it's just in my blood. It's choreography. It's like built into my DNA.
Corey: Oh, I love that, oh, I love that. And of course, everyone's coming back to this amazing AIM pin.
Chloe: Oh, yes.
Corey: MarleBack, yes, we talked about this. I think you may have missed the part where we talked about the nostalgia and the love for all the things tech nostalgia.
Chloe: I'll try to tweet who made the pin later. It's a really amazing artist I see at a lot of Pride festivals and drag cons and stuff.
Corey: Oh, that is amazing.
Chloe: That's great.
Corey: Okay, we gotta get back to the app now. We're gonna hop back to the screen. We talked about the webhook, setting up and API, we talked about it being powered by an HTTP request.
Chloe: Yes.
Corey: Which then kicks the thing off.
Chloe: So it's just gonna be a URL that gets spit out to us from that function, and once that's deployed, really what we do, so this is the code that we're looking at earlier.
Corey: Oh, this is the code.
Chloe: Yes, so.
Corey: Oh, this is... Let's see the code, yes.
Chloe: Well, it looks like it's really, really simple.
Corey: Let's bump this up a little bit.
Chloe: Yeah.
Corey: We're gonna see if the folks in the chatroom can see this nice and clearly. Let us know if you need us to bump it up a little bit more. I know we've got the dark background with the white text.
Chloe: Yes, I am a developer after all. I have to have the dark mode.
Corey: It's how these things go.
Chloe: Yeah, so just a quick little tour of this. Obviously, we have all of our navigation over on this side, and we'll just make things a little bit bigger here. I can also look at my logs, and I can also look at my console here, which is really nice. So, even though I'm working in the portal, I can do everything in here, which is great.
Corey: That's amazing.
Chloe: So I skipped over it very quickly, but right out of the box, when you create your first Azure function, the code here will simply give you an HTTP URL, which you can find right here.
Corey: By clicking that thing.
Chloe: And when you put it in your browser and you append your name to it, it'll just say, like, it's basically a hello world app.
Corey: Right.
Chloe: But I came in here, and with the help of Twilio's documentation, set up something actually pretty simple here. So these environmental variables that you see on the screen, so constant accountSid, constant TWILIO_TOKEN. Anything in caps here, I am storing in my... Settings here, so don't worry, there's nothing secret.
Corey: Okay, we're not gonna put anything. I was gonna said, we're not gonna put anything sensitive on the screen.
Chloe: There's not anything sensitive on here.
Corey: Good, good.
Chloe: But, let's see, let me go over here, whoops. Over here. If I go to my configuration settings, I've set all these up ahead of time.
Corey: That's amazing.
Chloe: I have all my secrets stored.
Corey: It's all here in the application settings.
Chloe: And that way, I don't have to necessarily put in my GitHub repo, because I'm scared of doing that because I've been burned before.
Corey: Right, as I think we all have.
Chloe: Yes, it's a badge of honor.
Corey: I know I certainly have.
Chloe: But, yeah, this is the code. So, basically what I am saying is I'm establishing the account SID as well as the Twilio token and I'm saying I wanna require Twilio as well.
Corey: That's amazing.
Chloe: And this function's very simple. So this one is using a TwiML URL, which I'm gonna guess this is the one that I'm using for the call.
Corey: Okay.
Chloe: So this is saying the recipient's number as well as the sender number, which I'm also saving in my variables.
Corey: Okay.
Chloe: Oh, yes, see, there's the call. 'Cause then we're logging if the call was sent versus if there was an error or if the call was successfully sent.
Corey: So, I love this. I mean, the way that I'm looking at this, and I'm, yes, I do a little bit of JavaScript. Not a JavaScript developer, so you know, forgive me if I get things wrong. We literally get a context variable that has a ton of stuff in it that we can use.
Chloe: Mhm.
Chloe: We do with just one function call, client.calls.create. We give it some parameters, it starts a phone call.
Chloe: Yes.
Corey: And then, on the promise, right, that returns back, we get some information about the call, and it kicks off the context logging?
Chloe: Yes, yeah, it's super basic, and then the text is gonna be pretty similar. The only thing that's gonna be different is we won't have this TwiML URL. I'll get into what that is.
Corey: Yeah, what's that TwiML URL?
Chloe: That is hosting a couple things. So you'll notice if you go to Twitter and you watch my video here that there's kind of a robotic voice that goes, "Hello, it is I, your boyfriend, please call me."
Corey: Oh, that sounds fun.
Chloe: And then it plays Rick Astley's Never Gonna Give You Up, because that's what was in the documentation. I kept it in, and there's like, kinda like a two second delay. It kinda throws people off.
Corey: Well, why not?
Chloe: So yeah, the TwiML's, basically, it's hosted by Twilio and it's in my Twilio account, so the same place where my phone number is and my tokens and everything.
Corey: Oh, that's amazing.
Chloe: And I'm hosting the MP3. Well, you guys will use an MP3 because it's in the documentation.
Corey: Right, it's coming from Twilio.
Chloe: But any time that I want the phone call to be, you know, I uploaded a bunch of voices to the GitHub repo of myself pretending to be sisters and bosses and coworkers and stuff like that. But also, you know, I made an ADHD reminder app with Twilio that uses Shia LaBeouf going, "Just do it, do it. "Just do it."
Corey: So, there's so many MP3s that you can upload.
Chloe: You can do so many things.
Chloe: There's so many amazing tools that you can scratch sound off of from YouTube.
Corey: Oh, that is amazing.
Chloe: So yeah, so that's basically hosting that, as well as TwiML is basically Markdown language, and you can use Speak or Play.
Corey: That's exactly right, the TwiML verbs.
Chloe: So play with the different things. So yeah, that's basically what is in that URL, is the information for that, which is on Twilio's side.
Corey: Now, I gotta say, folks here love Cedric. We love Cedric a ton, we keep saying Cedric's voice needs to be the voice to power all the things. So are there any chances that you're gonna get Cedric's voice in now that Cedric's your son?
Chloe: Oh, that would be great.
Corey: That would be fun, wouldn't it?
Chloe: I would love that. I mean, let's do it, let's hook it up. We could do it at the conference.
Corey: Now, I gotta say, so CopperBeardie said this is JavaScript that he could follow. I think CopperBeardie's like me, a fellow .net-er. Love that the JavaScript is super simple, super easy to follow, so shout-out to you for making that simple.
Chloe: Thanks.
Corey: And then the rest of the chatroom really wants to see you make some money on this thing. I mean, it's clear, some of said, you can, you know, share this and get a subscription off of it.
Chloe: I know, I know.
Corey: $1.99 to have an ambivert bail-out button.
Chloe: Well, I do get paid by Microsoft, and--
Corey: Okay, okay, okay.
Chloe: I do share with people how to make this. That's kind of being a developer advocate.
Corey: It is a part of the why.
Chloe: It's teaching the other people how to make it. But, actually, my friend Dianna and I are working on a whole, she's created this whole front-end dashboard interface for it that also has locations, so we'll be posting a blog post about that probably in the next couple weeks.
Corey: Well, that's exciting.
Chloe: That uses all of the same code and functionality but has all sorts of fun, you know, off-zero logging integration and stuff, so keep an eye out for that.
Corey: Well, that's amazing. Shout-out to some of our newest followers, as well. Austin045, SunflowerLOL, Smartaxe. Thank you so much for the follow. If you like what you say, hit the Follow button, come hang out. We're gonna have more content throughout the rest of this day and tomorrow at our SIGNAL Developer Conference, which is happening right now, just outside the fishbowl that we're in.
Chloe: Someone said, "Can I buy that button for LinkedIn?" I wish. Mute, mute. I know I had a friend request. I'm not really sure what you mean, but I think that's funny.
Corey: That is amazing.
Chloe: And just a couple of other fun things that I've built with this, so right out of the box, and this is a big part of it before we get back into the code, so right out of the box, Flic comes with an app that's pre-built.
Corey: Oh, does it?
Chloe: And it's pretty simple. It's almost just like pairing a Bluetooth or something.
Corey: Okay.
Chloe: So you just log into the app, you'll pair your device, but there's all these fun things you can do with zero code.
Corey: With just the app.
Chloe: You could give it to, probably my dad, he wouldn't be able to figure it out, but you could give it to your kid and it can do anything like, it was so funny. I was in a room full of 40 very senior developers, teaching them this workshop, and the first thing everyone did, fart button generator.
Corey: Of course.
Chloe: And it was just 40 engineers just, you know, and some of them had synced with the wrong one on accident because they all tried to pair it at the same time. You know how it goes. You know how it goes when you're in a room full of developers.
Corey: Oh, of course.
Chloe: Anyway, so that's a really fun one. Also, you can upload MP3s or, you know, play music if you want.
Corey: That's amazing.
Chloe: I found a laugh track MP3 and any time I made a joke, I clicked it around my boyfriend.
Corey: Oh, hit the button.
Chloe: He loved that. So yeah, there's a lot of cool things. Also they're waterproof, so you can put them in your shower.
Corey: Oh, that's amazing.
Chloe: They stick to walls. You can probably put magnets on them if you really wanted to.
Corey: Now, the question is, where can we buy this from? Yeah, I can tweet out a link for sure. I think I've linked it in my pinned tweet. Oh, and in the workshop, there's a link to them as well at a discounted rate. I think towards the top.
Corey: That's good.
Chloe: But you can buy them on Amazon. You can also buy them directly from Flic and they just did a Kickstarter for Flic 2.
Corey: Nice.
Chloe: So exciting, and that'll have a lot more features, so.
Corey: Okay, so Amazon, directly from Flic, contribute to the Kickstarter, you possibly get the newest one. That's amazing.
Chloe: Yeah. And they're really great, they're great to travel with. You don't have to charge them. I think the battery lasts about a year or so.
Corey: Nice.
Chloe: So, yeah.
Corey: Cool.
Chloe: They're very accessible and they come in lots of colors, too.
Corey: Oh, so there goes some choice, right?
Chloe: Yeah.
Corey: My daughter would love pink. That's all of the things she wants.
Chloe: Oh, I hope they make pink ones.
Corey: Let's jump back into the code.
Chloe: Yeah, so I showed the call one first. This is actually the code for the text message, which is very, very similar.
Corey: Oh my God, it looks almost the same.
Chloe: It's almost identical, except we have obviously created a body of the message here.
Corey: Oh yeah, I see that.
Chloe: Because we don't have the URL in this case. We could if we wanted to send a picture, but we're not doing that for this particular one, and then, you know, it's doing the same thing. It's logging that the message is sent or if there was an error. What is cool about this is, if you put your credentials, if you hard-code, or not hard-code, if you secure your credentials like I did on the back-end with Azure, if you're testing this, so for example, that story that I told about my PM with trash panda alert, you can just switch these out when you're testing.
Corey: And just drop in the new number.
Chloe: Yeah, the sender is always gonna be your Twilio number.
Corey: From Twilio, right.
Chloe: But for the recipient, you know, you can put your number in it. You don't have to change it on the back-end, is what I'm saying. You can just, you know, you can have like, Chloe's number or like Tyler's number or whoever you wanted to test it with.
Corey: Yeah, this is amazing.
Chloe: So, I wanted to make it as simple as possible.
Corey: I mean, just a couple of lines of code changed, and now you're taking care of both voice and messaging.
Chloe: It's the Twilio documentation, dude, it's--
Corey: Shout-out to Twilio.
Chloe: It's easy-peasy.
Corey: Make that really easy.
Chloe: So yeah, that's basically it. So basically what that looks like kind of on the Azure end is, you know, to make another function, I would go through this same process again.
Corey: And you just pop it in there.
Chloe: Do the same thing, do an HTTP trigger, same kind of deal with making a second one.
Corey: And then it's just there and it's deployed with its own resource group and all things.
Chloe: Yeah, it's just right out of the box.
Corey: Okay, so if you've never worked with Azure before, I mean, I love Azure. Azure makes this really simple, as you can see. We literally just click on this one button and then everything just becomes available to you.
Chloe: And I can integrate here. So, there's a couple ways you can do this as well with--
Corey: Oh, and you can give custom inputs.
Chloe: Yeah, you can even do like, add a Twilio output here if you want. I think I noted in the workshop, but there's a bunch of different ways that you can, you know, you can connect things.
Corey: Oh my goodness.
Chloe: I could run it on Dodger if you want. Lots of ways to do it. So I have a package.json file that I add. That's just to basically tell it what to do to the recipe, so to speak.
Corey: Right, right.
Chloe: Yeah, and it's pretty simple.
Corey: Oh, look at that.
Chloe: Copy-paste, you know, obviously.
Corey: Oh, there's not much there.
Chloe: It's very easy, it's very basic. And then once you install Twilio, which honestly, that's pretty much the final step other than, you know.
Corey: Than running it.
Chloe: You need to securely put your values in Azure.
Corey: We promote security in the highest form since, blank blank blank, whatever that is.
Chloe: Yes, please secure your credentials, as I've noted here. And, yeah, it's pretty easy, but I usually do the text message first when I'm testing it out, and then I try to do the call afterwards, but here's a little screenshot I've included here of what it looks like inside of Twilio.
Corey: Once you upload it to Twilio.
Chloe: So this is the MP3 that I've created. This is either a Rick Roll or it's my voice, pretending to be someone.
Corey: Pretending to be Rick Astley singing.
Chloe: To kind of explain the difference between what a Twilio asset is versus a Twilio bin, so an asset is gonna be anything that you're uploading. So, anything that you would send in a text, that makes a sound, or looks like something. So these are pictures, videos. Yeah, pictures and videos, yeah, not in the call.
Corey: Yes, you can.
Chloe: Not yet, no holograms yet. So I have my MP3 here. Which I'm also, if you remember before in our code, I've included with, I'm just scrolling around now. I've also included the TwiML, which has the Markdown that says here's the robot voice that I want you to include. Oh, it was right down here.
Corey: Okay, there it goes.
Chloe: So, yeah. So here's a little practice one that I made for folks if they wanna just put something in to start with and then kinda go from there. But this is what it looked like when I put it into the...
Corey: And now it's hosted with Twilio.
Chloe: Yeah, it's hosted on Twilio, so I don't have to manage those resources, which is really nice. That's all managed on Twilio's end.
Corey: That's cool.
Chloe: Let me escape.
Corey: Let's get out of there. Come back to us. Come back.
Chloe: Go back.
Corey: There we go.
Chloe: Escape, I'm not sure why, okay. Well, anyway, there we go.
Corey: There we go.
Chloe: So, yeah, it's super easy and basically what I'm doing is I'm wanting it to say in a man's voice, "Hey, congrats, everything's working, "and you are awesome, you did it, yay." And then the MP3 is Rick Astley's Never Gonna Give You Up.
Corey: Of course, here comes Rick Astley.
Chloe: I included this in my app settings, as well. Obviously, you do wanna keep the URL private so people aren't accessing it all the time.
Corey: As much as you can, yes.
Chloe: So I've put that inside in all caps as well. And then, yeah, you've basically--
Corey: And then you just do a test call.
Chloe: You do a test call. This is always my favorite part of doing the workshop because it's a bunch of developers... Being like, oh, somebody's calling me.
Corey: Yes, my phone's ringing.
Chloe: Oh, on speaker.
Corey: Oh no, wait, we just... Oh man, didn't realize. No, this is phenomenal.
Chloe: Yeah, so I should say, these are images from the Android app, so it'll look a little different for iPhone users, but it's pretty simple. You just add a Flic button to your device and pair it, and yeah, the final step. Oh, so you put the HTTP URL.
Corey: For your function.
Chloe: For your function inside and you're pretty much good to go.
Corey: And that's it.
Chloe: That's it, that's the end.
Corey: Oh my God, I love how simple this is.
Chloe: I will say the first couple times that you do it, be patient. Sometimes your boyfriend can take a couple minutes to wake up when you first create your phone number early in the morning.
Corey: All right.
Chloe: But yeah. It's actually a really fun project to kind of debug and play with, too, because...
Corey: Of course.
Chloe: You know, there's the story I told of Vanessa, but then, you know, if you click something four times and it doesn't work, then you get, like, four texts back to back.
Corey: Well, now you get four things. That's exactly right.
Chloe: Four calls. Look, I'm so popular. Yeah, so that's pretty much it.
Corey: Well, I gotta tell you, the chatroom loves this README that you've put together.
Chloe: Oh yay, I'm so glad.
Corey: I mean, shout-out to Lily Hazel, who's just said that they love the documentation.
Chloe: I tried to add little bathroom breaks in here, too. There's a couple moments where you'll need to get things up and running or hosted, so I've added these little pizza bathroom snack breaks throughout.
Corey: That is awesome.
Chloe: Also, someone is calling me and I swear it's not my Twilio.
Corey: It's not the Flic button, it's not the Flic button. Well, I gotta tell you, this is an amazing app, and you shared this on Twitter, right? That you built this app.
Chloe: Yes, yes.
Corey: What was the response like when you shared it?
Chloe: Oh my goodness, it's one of my more viral tweets. RIP my most viral tweet, I accidentally deleted it. But this is the tweet and it really, you know, people really, it blew up. People really got inspired by it. It kind of surprised me honestly that nobody had built anything like this before.
Corey: Really?
Chloe: And I think it really, you know, it picked up a bunch, Vice did an article on it, which was really cool, and people seem really excited to be able to, I hope it inspires a lot of people. I really intentionally didn't make it a fully-fledged app, because I really wanted people to build it on their own.
Corey: To just do a thing.
Chloe: And to play with, you know, different tools and technologies, and yeah. It's been really fun to see what people are contributing to it and changing it and altering it and it's good.
Corey: No, I mean, what I love about it, as someone who legitimately has just seen you obviously walk through it, I've seen this now, I'm a developer evangelist with Twilio, so I know how to tell the Twilio story. It tells a story of, like, the why Twilio exists in a way that's super compelling.
Chloe: As someone who is newer, like, who came into tech in the last five years, a lot of the projects that I do, I really try to like, A, have them be useful, but, B, have them have a sense of humor.
Corey: Right.
Chloe: And I think, like, the beauty of this app is it's deeply technical, but it's not too deep for too many people.
Corey: Right.
Chloe: Like, it's accessible for newbies as well, but also it just makes people smile, and that makes me happy.
Corey: Which is fun and exciting and I love that that excitement is just kind of exuding out of you.
Chloe: And there's a lot of folks who've said, you know, they've kind of tried to repurpose it for their kids when they're walking home from school or like, you know, if they're on a bad date or if they're at a conference or like, there's so many different use cases for it, so.
Corey: Yeah, yeah, you could just go have fun with it.
Chloe: My favorite is someone was like, I wanna do a notification on my phone, so I could be like, I gotta take this. Everything's on fire.
Corey: Oh, that is hilarious. Okay, so I have to ask a question.
Chloe: Yeah?
Chloe discusses being a Twilio Champion
You can find out more about the program on the Twilio Champions page, and read Chloe's Champion post here.
Corey: And it's somewhat related but not exactly related, but it is about all the things Twilio, because I heard a rumor that is that you are a Twilio Champion.
Chloe: I am!
Corey: Now, why are you a Twilio Champion? Like, what is it that made you feel like, you know what, this is a thing that I feel like I wanna be a part of?
Chloe: I would say, you know, Twilio was the first. We were talking earlier about documentation and sort of like, ease of use. Twilio is the first product that I worked on and I really felt like I knew what I was doing. Awesome.
Chloe: I think part of that, honestly, was the documentation, but another part of, I love game-ified things. I used to run a meet-up at Sentry that was game-ified. We had little patches and stickers for it. Microsoft Learn has these fun little patches and I loved Twilio Quest. I'm so excited for the new one, oh my God, so exciting. But yeah, I think, like, I feel like I wanted to be a Twilio Champion just because I enjoy every app that I make with Twilio.
Corey: That is cool.
Chloe: And I have like, five in my stockpile of side projects that I'm like, waiting to do. I'm like, I don't wanna overload everyone with Twilio. But it's just such, it's great to teach people. So much of our job as evangelists and advocates is teaching people, and Twilio, any time I demo something with Twilio or share something about Twilio at a talk, there's just such a smile on people's faces, because maybe part of it's that I'm making probably unusual, quirky apps, but I think another part of it is people are kinda shocked at how easy it is to use.
Corey: Well, it does make me curious. Like, have you connected up with some of the other Champions? So like, hear of some the things they're building and some of the things they're doing?
Chloe: Oh yes, there's a whole secret illuminati Slack channel. Just kidding. I'm friends with a lot of the Champions already. It was super cool that April was one of the first ones, as well.
Corey: She was.
Chloe: It was like, ugh, so many anniversaries happening over our friendship here, and it's like, aw. And, yeah, I try to keep kind of in touch with the community and see what's happening out there and encourage other folks to become Champions and to play more with it and
Corey: I mean, it's amazing. I will say, if you all are hanging out in the chatroom and you wanna, you think that you yourself could be a Twilio Champion, hit the website. Twilio.com/Champions.
Chloe: Yes.
Corey: We have the forum there for you to apply. We've got some details over like, what the criteria is, such that you could become a Champion. But we legitimately do wanna celebrate those developers who are out building, doing, amazing things with Twilio and sharing that with the rest of the world.
Chloe: And you don't have to, like, be like me and be on camera or like, give a talk or anything like that. You can write. There's so many different ways you can contribute as a developer Like, host a meet-up, host an event. Like, so many ways to be a Champion without having to do a little song and dance like we're doing.
Corey: Yeah, which is fun.
Chloe: Yeah, I love it.
Corey: And it's exciting. I mean, I love seeing what Champions are doing, right? Because as an evangelist, it's helping me realize that, you know, the work that we're doing is connecting with folks.
Chloe: Oh yeah, totally.
Corey: And that's super exciting.
Chloe: Yeah.
Corey and Chloe discuss SIGNAL
Corey: Well, listen, Chloe, I love that you came and hung out with us. I'm so excited that you're here at SIGNAL. Is there anything that you are looking forward to out of the next two days that we haven't talked about?
Chloe: Ooh, that we haven't talked about. Well, I'm super excited to take over Instagram with April. I think that's, you guys are very brave. To allow us to do that. Yeah, honestly, I'm pretty excited to walk the expo floor.
Corey: Yeah.
Chloe: Every year, well, this is my second time at SIGNAL, but I consistently get very, very good practical swag. Actually, I've been using this charger for a year now.
Corey: Which is a Twilio charger.
Chloe: I got it last year. But also, just meeting with other folks and seeing how other people are using Twilio out and about. I like to call it in the trenches of the conference, you know?
Corey: Oh, I love that.
Chloe: It's kind of behind the scenes.
Corey: Yeah, and the party. I'm excited for the party.
Chloe: Of course, yes, bash.
Corey: That'll be fun.
Chloe: It is one of the more amazing host conference after-parties I've experienced. I'm so excited to be here this year. I'm so excited you'll be here this year.
Corey: Yay!
Chloe: I think it's gonna be a lot of fun. I wanna say a big thank-you for hanging out with me.
Corey: Thank you.
Chloe: For the last, I think 45 minutes now.
Corey: Wow.
Chloe: We've been hanging out for 45, has it felt like that?
Corey: No, it's felt like a minute.
Chloe: Yeah, I feel like it's not anything close to that, but thank you.
Corey: Thank you.
Corey's talk with Chloe
Hope you enjoyed the transcipt of Chloe and Corey's streaming session! Be sure to check out our Twitch and YouTube channel for more great content.
Join 4,000+ of your peers for at SIGNAL 2020 for 2 days filled with 185+ talks. Transform your business and level-up your development skills. At SIGNAL, the world’s best companies join thousands of developers, business leaders, and innovators for learning, networking, and fun. Experience new product releases and in depth sessions led by innovative companies.
Limited time: register now for SIGNAL 2020 for the best pricing
Related Posts
Related Resources
Twilio Docs
From APIs to SDKs to sample apps
API reference documentation, SDKs, helper libraries, quickstarts, and tutorials for your language and platform.
Resource Center
The latest ebooks, industry reports, and webinars
Learn from customer engagement experts to improve your own communication.
Ahoy
Twilio's developer community hub
Best practices, code samples, and inspiration to build communications and digital engagement experiences.