Audio file iRel8.final.mp3 Transcript 00:00:10 Welcome back everyone to the Xamarin podcast, keeping you up to date with the latest and greatest in mobile development programmer developers. Covering the world of xamarin.net Azure and more. And today we're featuring another customer story, this time an important app called I re late. I'm Matt Soucoup. 00:00:30 And today I'm joined by Dion Gozalez Jeff Dorchester from the iRel8 team and Ken Shobomb for Microsoft. 00:00:37 So let's give our listeners some background on the I related app itself, Deon. Let's hear the elevator pitch for I relate. 00:00:46 Hi Matt, sure, thanks for having us on. I relate is. 00:00:51 One of the world's. 00:00:52 Only Anonymous patented multi channel peer empowerment platforms for mental Wellness. Our mission is pretty simple. 00:01:01 Although it's very hard to accomplish, we were out there to stop the stigma with mental health and allow people to chat confidentially the same way they would chat about depression and lasik surgery. As an example, and also to gain access to help in healing from peers 24/7 365 in the place where they're at. And we know that. 00:01:22 Everybody's are everybody is on their smartphones. 00:01:26 It's a super interesting app and we'll dive a little bit deeper into it coming up, but I want to get into really a little bit about all our all our guests here, and so Jeff tell her listeners just a little bit about yourself. What got you into development and transition into mobile development and cloud development, and just a little bit about yourself. 00:01:47 Yeah hey, thanks for having me on Matt. It's a pleasure to be here so my history around development really started in and the website of things and I've always been a front end developer and. 00:02:00 An but never really tackled the back end of things many years ago. 00:02:07 When I was working on another company that I built with the D on, we decided to get into the mobile realm and being a front end developer and not really knowing you know native things. It was very easy for me to jump into Phonegap at the time and learn, you know, hybrid apps and Cordova and all that stuff. So over the years we've built. 00:02:28 A number of apps. 00:02:31 And in 2017, when when Dan and I came up with this concept, we said, hey, let's let's do this again and this time around I figured it was time to figure out how to do the back end. So really jumped on YouTube and started looking at videos on. 00:02:50 On how to create a chat app and of course I knew how to do all the front end stuff, but the real challenge there was figuring out how do I connect this? 00:02:58 This app to to the back end of things and so we decided to originally make our MVP all pointed to fire base. There were lots of tutorials and things out there and I knew I could quickly get this thing out to market so we could at least validate if it was a good project to go after or not. You know, in our hearts and minds we really thought it was but. 00:03:21 You got to see what the public thinks about things as well, so that's really the Genesis of where we started after we launched. 00:03:30 Things started to get really fun with, with Microsoft finding out what we were doing and they wrote a story about us and next thing you know we we got an engagement with a team over at Microsoft to pull us away from fire base and put us on to Azure and actually build a Web API for us and do a whole bunch of things the right way so that we could scale properly. 00:03:51 And sort of enter the enterprise level of things versus. 00:03:54 Uh, the the garage project, so to speak. 00:03:57 So Deion same question to you. I was as we were talking before before we started recording the show. You mentioned that you have a bit of development experience, but you're also the the product, the product person. So really, just give us a little bit background about yourself and. 00:04:12 Tell our listeners what what, what you're thinking, your background. 00:04:16 Yeah well thanks ma'am. To clarify, I don't have development background in terms of coding, but have been in product. 00:04:24 For most of my career, which actually started out in marketing automation and payments built a marketing automation platform and sold at a couple of different times via a couple of companies and then Jeff and I met in 2010 and we then partnered in 2012 to build another iteration of that. 00:04:45 But yeah, so my background is primarily in product and business development, so product strategy and obviously working with large clients in channel capacities to deliver the product that we're creating and been very fortunate over my career to see success, both domestic and internationally with the. 00:05:05 Previous marketing automation platform that we had was called loyal Me which was in six countries 18 different languages. 00:05:13 Throughout the world. 00:05:15 But that was a much different type of app. It was essentially analyzing customer buying patterns to then receive targeted marketing communications from small and medium sized businesses. So there's a lot of those out there today. But when we first started building that out and then, as I mentioned, Jeff and I built that out further in 2015 that company, or in 2012 that company was acquired in 2015. 00:05:39 There weren't a lot at the inception of that that we're doing it the way we were doing it, so this is a totally new realm within the mental space, but something that is vastly needed and our backgrounds Jeff and eyes backgrounds Blend very really well because he is more on that front end development side. And then we work together on the marketing pieces. 00:05:59 And then I'm mostly on the product side in business development. 00:06:03 Cool and as we were talking before the before that podcast hit record, you were giving me the rundown of the app and I was kind of digging in already and we had actually stopped talking about it. So we can actually save some of that conversation for this. But can I do not want to leave you out of this? I told you you're going to go last because you're the Microsoft. 00:06:21 Employee and all this. I mean we kind of get the back seat but tell me about yourself. You focus on back end working with a team called NET. 00:06:30 Cat, which I had never heard of before, but that's not unusual working for Microsoft so they'll fill all of us in. 00:06:38 Sure thing, thanks for having me. I'm software engineer with the Microsoft Developer Division and I'm part of the customer engagement team we call ourselves Netcat. 00:06:49 And that means I work alongside our customers to help guide them to success on their projects. And we we work directly with them in their environments and their timelines and their code base. And we learn to walk in their shoes. 00:07:03 So we use opportunities like this one with I relate to learn how developers actually experience our products and our team has been working with the ireally team across several iterations of their of their product here. And we're back at it again. 00:07:18 So that's what brings me here today. I'm here to help the Ireally team tell their story. 00:07:25 Very good and it's all right, so let's dig deeper now into I relate. 00:07:31 It's at its heart and I'm going to short sell it here. It's really kind of like a chat room app, but it's so, so much more sodium let's let's dive deep into this. It's really pure related personal Wellness, but I think you mentioned it's it's really. It's meant or not. It does more. It helps stop the stigma of mental health. 00:07:53 But so let's let's really get into it. What's the founding idea that how you how you came about it? And so let's dive deeper into it. You mentioned it has rooms. Focus based on issues and so on, so. 00:08:06 Let's go into it. 00:08:07 OK, and as we get into, I think the Genesis of the app. 00:08:13 Jeff, you want to start with that and then I will transition because it all happened. Jeff and I as I mentioned. 00:08:21 Have been working together in a bit friends for a decade since 2010. 00:08:27 And really, it was Jeff reaching out to me, which. 00:08:30 I think it's better if he describes Matt sharing his vulnerability that was that became the Genesis and how he had also helped a guy that were in a Facebook car group with as well. But Jeff, you want to give the intro on that and then I'm happy to talk about the structure and. 00:08:50 How it came into play and was so relevant to my life situation and I think many others out there in the world. 00:08:56 Yeah, sure, so so really it it started about four years ago there. 00:09:00 This weekend that was not fun for me. I ended up in the hospital a few times and I was having a heart condition and finally on. On Monday I was still alive somehow and ended up code Red in the ER an they ended up shocking me and get my heart back into a normal rhythm and. 00:09:20 Anne, every doctor was saying I can't believe you haven't had a stroke already. 00:09:25 So they said now time to go go find a cardiologist and I did, and then the doctor started pumping me full of pills and saying there was no way out of my current situation that this is just the way that life was going to be. So get used to it buddy type thing so. 00:09:41 What basically happened was is every day. 00:09:44 I take a step and my heart would start going crazy again, and if I take more steps then it would start making me think am I going to die? And so when you when you keep doing this every day thinking you're going to die thing you start to get this little thing called anxiety and then the longer that that happens I got this little thing called depression. 00:10:04 Yeah, so before that you know I always thought that was a different set of the population that that was dealing with those things, but. 00:10:12 I all of a sudden found myself struggling and. 00:10:19 What I found was, as I felt more and more alone every day as I tried to hide things because I didn't want my wife to think I was weak or my coworkers like beyond to think something was going on. So basically you just hide things and internalize, and that's a bad place to be because things just tend to get darker and darker and darker each day. 00:10:38 Um and all I needed to have was someone to talk to and to sort of figure things out, but when you're telling your wife every day how bad things are in your head, you start to feel like you're running out of emotional capital as well as risking someone looking at you that you even love in the wrong way. So Fast forward a year. 00:10:58 Um, I I was in Facebook one night and there was a guy in this car group I was in and he was posting things that weren't car related. It was all. 00:11:06 Mental health related. And finally he put a post up it said see all finding the next life type thing. And so I said oh this is someone's someone's throat in trouble over there. I know that feeling so I called him, got him on Messenger and we chatted for about an hour and I I talked him off the ledge so to speak. He said, you know? 00:11:27 Thank you for saving my life tonight. 00:11:29 Um? 00:11:30 Miss Chap really helped, you know, he said. I was going to kill myself again tonight and that was when I said what do you mean again? And he told me a story of. 00:11:38 Him having another night where things were bad and he figured he would call the suicide helpline but he didn't like the scripted responses from this young punk on the other end of the phone is what he said an he despite the guy he set the phone down shot himself in the head. 00:11:56 His wife had heard the shot Ann called the paramedic. 00:12:00 And they revived him a few minutes later, but. 00:12:02 It goes to show that that will basically what happened was that night I was able to talk to somebody because he related to me. He understood this stuff. I was going through. I understood the stuff he was going through an and we were able to to work something out. You know, work out his little. 00:12:21 Mind frame that night you know. So I talked to him every day morning, noon and night for about the next two weeks. 00:12:28 Until he was out, and I say. 00:12:30 A place where he said alright buddy, you know I'm good now you totally you know shepherded me through the the Start Valley and. 00:12:39 That's when I started thinking, you know, hey, there should be a chat app out there where people can honestly talk to one another. I didn't have any fear of stigma with that gentleman at night, or that that two week session he had No Fear of talking to me because the two of us shared an experience. 00:13:00 I wasn't there to downplay him or give him any stigma or any of that stuff. We were just there as peers able to talk about something. Our struggles are shared struggles. I had walked a mile in and his shoes, and he walked a mile in mind basically. So that's when I said to myself it's time to actually come clean. With deon. You know who I've been working with? 00:13:20 Sharing an office with during this this time where you know we would go to lunch and he could see me physically not being able to walk all the way back in the office without taking a break. 00:13:30 But he didn't see my mind going crazy and I knew that there were some things going on in his life that he wasn't talking to me about. So one night I just said, hey, it's it's time to let me know about this product idea and what we can go do next and. 00:13:43 Tell him I you know what I was dealing with in my head. 00:13:46 So I called him one night and yeah, Dion, you you take it from here. 00:13:49 Sure, yeah. So Jeff gives me a call one night around 10 ish or so. We normally text each other right? So it was unusual that he called me but. 00:14:00 I was dealing with a a bit of a family crisis and what was going on at the same time that Jeff was dealing with his A-fib and the depression, which as he mentioned, I could see the physical impacts 'cause we'd go to lunch every day and you would walk 10 feet and we'd have to stop and I could see that I just didn't understand what was happening within his mind, and honestly, he hit it so well that I had no clue that he was. 00:14:21 Struggling. 00:14:22 And at the same time that he was going through that, we had a suicide attempt in our house. We have 4 kids and one of them was struggling and doing fine now. So you know, thank goodness for that. But. 00:14:35 It sent us an entire family into this state of anxiety and depression and things that we still still deal with today. 00:14:43 But I certainly wasn't sharing that with Jeff, so. 00:14:47 It's interesting that both of us were dealing with the mental challenges of different things. Physically, I was doing fine mentally. I certainly wasn't, but we weren't talking about it as friends and business partners. Or, you know, work colleagues at that particular at that particular time. 00:15:03 So when Jeff called me, I was going dealing with a little bit of a family crisis. At that point they just said I can't talk to you right now. I've gotta deal with this and he said, well call me back. I think we might have might have an idea for something that would help with that. And I said, sure. 00:15:17 So I called Jeff. 00:15:18 Back got everything settled and he just said he asked me if I remember this guy in the Facebook car group and I I knew who he was and he then he told me the story that he just told everybody. I said well that's incredible. And then Jeff just opened up and said. And by the way I don't know this but I've been living with depression. 00:15:36 And my first response was why don't you just tell me? You know, you can tell me anything. I'm not going to judge you if you're you're in a safe zone with me kind of thing. 00:15:47 And it was all the classic answers that Jeff just went through. It's not easy to talk about, you only have so much emotional capital. People don't want to continually hear. I'm, you know, depressed today, you just suck it up and fight it every single day and every minute. And sometimes it's a massive struggle. 00:16:03 And so then, Jeff really flipped the script on me and just said why? 00:16:07 I know you're dealing with some things to have. You told me everything and I said no and he said well, why not? And it was the exact same thing. So the lightbulb moment happens and you realize that this stigma with mental health is so powerful that. 00:16:23 Close friends and business partners don't even talk about this amongst themselves. They just harbored inside and that's gotta change. 00:16:30 Right, so Jeff said, what if we, you know go build something like this and it's completely different Matt than anything that we had ever done before. As I mentioned, we were working on marketing automation and payments and we were thinking about going and building some new data analytics products out there to drive customer buying patterns and things of that nature. We had no intention prior to. 00:16:53 This epiphany of going into the mental health space so. 00:16:58 I said, let me sleep on. It was one of those where you're not sleeping real well because you're the wheels are just turning in your mind of all the different ways that this could be impactful in the world. And so I was training at my MMA gym the next morning and my favorite trainer, nice good friend of mine. He asked me what I was going to do next and I shared the idea just the conceptual idea of what we're doing and he said, oh, wow. 00:17:21 Good friend of mine is the executive director for the Green Beret Association, which is now the Special Forces Foundation. They they changed their name and you. 00:17:30 So talk with him and so I did and it was immediate. He just said you have no idea how bad we need this. My guys, you know these are Navy seals, green Berets, Rangers that are both active and retired. The toughest of the tough mentally physically. 00:17:50 They come home and after about two years of after retirement, they can't relate to their tribe anymore. There are people that they will have worked with. 00:18:00 And so the subsequent issues you know start happening mentale and taking the form of depression and suicide, which we know is highly prevalent in that population. In many populations, much too high. 00:18:15 But Long story short, they said, yeah, let's let's get this going and then then it really just started. 00:18:21 Taking hold and realizing that. 00:18:24 Everybody in the world has mental health. There's statistic out there which Jeff and I don't. 00:18:30 Right, but it forms the frame of this where we believe it does provide some impact. That one in five people globally will face a mental health challenge in any given year. 00:18:40 And that's somewhat exclusionary because it's easy to say I'm not the one out of the five. I'm not that 20%. I'm in the 80% right, but the real truth of the matter is that five and five people are impacted. 00:18:53 When we were having the suicide scare in our house, we have six members in our house. Six and six of us were impacted. It wasn't just the one that was struggling at that particular time so. 00:19:04 We said hey, let's go build this app, let's try to transform the personal challenges that we have lived with and we still live with collectively and as cliche as it sounds, build something for good and try to make the world a better place. But that was the whole Genesis of viral 8. 00:19:24 Those are. 00:19:26 Amazingly powerful stories. And so I was sitting here. I put myself on mute because I didn't want to just say like a cursor is like, oh. 00:19:34 You know, but. 00:19:35 Alright, so one thing I was thinking though during it is that these stories are can be literally life or death and we're talking about an app which just seems kind of. 00:19:47 Trivial compared to it, but it's not because this app can literally help people save A life or just or help people get better and feel better about themselves so. 00:19:58 Tell me a little bit more about this app and how it works based on helping people feel better. I mean so when I login, tell me a little bit more on how it's going to work better, Jeff. 00:20:10 Yeah, so so. The idea is if you think about it in general we're like a social network. The big difference is the anonymity and the topics of conversation. So many of these social networks today have such a filtered view of everyone. 00:20:30 Lives that are on them. You know it's everything from a camera that changes the way someone looks to people, not even sharing the real truth about their lives. 00:20:44 You see this this other version of somebody you know, some of them. It's like the hey, let me show my old high school buddies. You know who's the best guy out here now? And that's not life. You know that's not really what's going on, we know. 00:21:00 People. 00:21:01 Struggle in all forms of ways and and don't have an outlet to go and really talk to people about their struggles that they face. So we really talk about what we do and we say we're a peer empowerment platform for mental Wellness. One of the big keys there is Wellness, right? So at the beginning we. 00:21:22 Said hey, let's look at. 00:21:23 Topics of mental health and let's create rooms in the app so that people who have these struggles can go and talk to their peers who have the same struggles to figure out. You know, hey, can you help guide me through my troubles, you know, make me feel like I'm not alone here let me learn more about these things as I was presented with my challenges. 00:21:45 I did feel alone. 00:21:47 I went and saw a clinician an it it made things almost worse for me. It made me not not not feel like I wasn't alone. I felt more and more alone. But the idea here is we have also talks around Wellness things so that things like. 00:22:08 You know having a bad day I'm I'm having financial troubles rooms for people like caregivers who may not be struggling with a mental health challenge themselves but are now. 00:22:21 Facing challenges all around caregiving an and all the burden of what that brings right? So it's a great place for people to go in and actually be on topic and so we have a whole number of rooms that are these different topics that people can go in and just talk to their peers like Dion said earlier. We are not a clinical app. 00:22:44 And we're not a crisis app. We do have ways to do that, hand off to give people over to the clinical side of things if need be. 00:22:53 But we also know that there's a huge gap between somebody internalising things and maybe never seeking help of any form. And then that huge step over to the clinical side of things. So what we want to do is we want to have people at least begin that conversation, begin, start talking about. 00:23:13 What what they're facing as far as their mental health and mental Wellness struggles? 00:23:19 So yeah, users go in the app. They're presented with a whole bunch of rooms and you can join rooms at that will. 00:23:28 An and see which ones work best for you. Along those lines of social network standards, we have the ability to make friends within the app an we also have the ability for friends to create groups. So if you find a bunch of people that are like minded with you and share the same struggles, you can create your own group and and take the conversation. 00:23:48 Off to the side, so to speak, but. 00:23:52 We also make it so that no users have to say who they really are, and that's the key to making sure that. 00:24:00 This anonymity piece allows somebody to open up. We've had many users jump in the app and say, you know, in in a global room, for instance. Hey, you know, I've never told anybody this in my entire life, but. 00:24:14 Here's my struggle an after they say that they're like, Oh my gosh, that felt good to finally let that out an and we're seeing that more and more is that that people when you at least start talking about the struggles you have. 00:24:27 You start to heal and sometimes it's. 00:24:30 Letting it out and getting it off your mind an knowing you're not alone, right? So we've built this app too to support people in that way. 00:24:40 It's going to say amazing and I use that word too often, but yeah, that's well, it's it's. It's amazing and. 00:24:47 I'm gonna Jeff, I'm gonna ask or not Ken, I'm gonna ask you about some of the API's that you built to support this app. So Jeff was mentioning that was it's organized into rooms and there's like a man. 00:25:00 In room, and folks can actually spin off into subgroups for like a better word. So I'm going to go off and guess that there's API's to support all of this, and so could you give me a little bit of a breakdown of what you did to some services in Azure that support this and kind of look at a little bit of an architecture overview of. 00:25:21 Sure, sure. 00:25:24 I I like the way you described it at first, because when you think about a chat app, it might sound like something that's kind of simple or something that you might see in a demo. 00:25:35 But when we started building this when we started looking at everything that we're doing in the app, we find that we're actually using quite a lot of Azure services. 00:25:46 There is. 00:25:47 Ofcourse key balton Azure app service. We we do have a web APIs you were just thinking and you know we're managing our connection strings in there. So some common things that people are probably thinking of an and then the next thing that probably people are going to guess is, you know we're doing chat, so we're doing real time communication and we're using signal R we're using. 00:26:07 Azure Signalr for that. 00:26:09 Um, but then you get further and you start to think, OK, well, people aren't always in the app. 00:26:15 OK, so the next thing I'm going to need is to keep the conversation going to to keep people aware that you know their story is being heard and these conversations are ongoing and evolving. We keep them engaged through deep notifications with Notification Hub. 00:26:31 Uh, and you know that this this room, this context that history will be there when they come back. So we're using Cosmos to store the the conversations. 00:26:40 And you know, there's this concept of identity, even though it's anonymous, we still need to know that when you come back, you know who are your friends. Who are your the groups that you're joined to. We've got Azure B to C for that, and so it becomes this suite of services that we've used just formed this just all that actually solves this problem that we're. 00:27:01 That we're working towards working on. 00:27:05 So it really sounds like you're using half of Azure there an. 00:27:09 So yeah, what was the so? 00:27:13 Are you using any offline data sync like so? I'd imagine that you still can view the conversations while you're offline, so let's say you're traveling on a plane or something like that. So is there offline? 00:27:26 Capabilities to this app or not? 00:27:31 So it's a little bit of offline context. I mean, when you've joined a room when you've got access to the history, you will be able to see all that, but everything there is still very live your room memberships, your different rooms that are available, that stuff is there, but a lot of the power of the platform is alive. 00:27:51 OK, very good. An Jeff. I'm going to go to you so you all said that when you were I guess. 00:27:59 Proof of concept ING. At prototyping this app you started out in fire base, but then with the help of the Netcat team. 00:28:08 Moved over to Azure. So what were some of the things that you liked best about Azure when you're moving over? What were some of the things that you found most helpful when performing that? I'm going to call it a lift and shift over to it. 00:28:24 Yeah, so it was really an interesting challenge that we faced at the start. So we created the app with the connection to fire base and we were using fire base for user authentication. We were using Firebase for document storage an for some cloud functions, right and so. 00:28:43 The the app was very much a smart app at the time, right? It was doing all the calculations and it was just telling the cloud what to do and so we're actually running into some difficulties. Still with the setup over there an when we met the team at Microsoft and they said, you know, we do think about coming over to Azure and we said. 00:29:03 Well, that sounds great, you know. 00:29:06 This is a a much better way to to scale things and to grow things and and actually make this an enterprise application. So the first challenge I think really was is how do we mimic? 00:29:17 What was going on at fire base over at Azure right? And that's everything you know, like? 00:29:25 How do we set this up? You know? How do we get the right services in play? And so we. 00:29:30 Start looking at things you know, sort of on a one to one level you we said, Alright, Cosmos DB is this great document storage right? This is it's the same similar type thing. Now how do we make sure that we let everyone's app know that there's a change to that? Well, let's invoke signal R, right? Let's start saying, hey, if there's an update here, we gotta let everyone know about it. And that's creating our chat feed. 00:29:52 When we said, hey, let's let's build an API and we said, you know, let's let's builda.net core Web API and. 00:30:00 And make this thing actually function like a an app should. We started building that out as well, so the more and more we kept growing this and we kept looking at the services that Azure would allow it made it a single stack application for the back end which was glorious because we weren't. 00:30:21 You know, jumping around and using a little bit over here and a little bit over there and and trying to find out you know, how do you connect all the pieces? 00:30:28 Azure actually had all the pieces in place and it was just saying you know, how do we arrange them to get this thing to work the way we want to? And I'd say right now you know with all the services we are using, it's working great and not only in a live fashion, but also in a staging fashion and the way that we also work with DevOps and. 00:30:49 An our pipelines and an an or backlog and and the way that that this huge stack really plays together creates. 00:31:00 Amazing efficiencies across the Board for Development and release cycles. 00:31:06 So I'm going to dive into something that Ken said, and then something that you said Jeff. So the first thing I wanted to talk about, Ken, is that we're using identity, which is going to be Azure ADB to C. And the second thing is, is that we have. 00:31:23 You're only gonna be seeing that things that you signed up for when I see say things is like the various rooms. So you see that initially and so that's gonna be like personalized to you. 00:31:34 And. 00:31:36 So I guess how do you control that within Cosmos? Are you doing like partitions? So you see that or how? How is that? How? How are you doing that to make sure that users are? 00:31:47 I guess are you using any anything like that bipartitions ING or. 00:31:52 How do users see what they should be seeing? Yeah. 00:31:57 I think Jeff actually might be able to handle this more than I can, but I'll take my first stab at it. The first thing that we do is we try to actually keep two sources of data, and so when we have, when we say we're using Azure BC, that's one data source and we say we're using Cosmos. That's our second. Anything that needs to be persisted. That's not necessarily about the user. 00:32:18 That's where Cosmos kicks in. That's what we're using that data store for. So history about a room, or the fact that a room exists or the relationship between the room and some of our. 00:32:30 Their business partners. That's that's being stored in Cosmos. Information about the user, things that are personally identifiable, things that are managed by their account. Those are things that we're using SBDC for to be able to tighten it and secure the information on that that's protected for that user. 00:32:49 To create the relationship between that and the rooms that the people are able to see. 00:32:56 We use security groups inside of Azure BC. 00:32:59 And as you're signed up, you're joining in. You've got multiple different paths to join in, and there's kind of a few different models there. But as part of that registration, you get joined into those groups. Jeff, do you wanna talk about that? 00:33:14 Yeah, I mean that's that's really the. 00:33:18 The core of it, and it's also really nice because there's a separation of of data, right? We want to have PII user data stored in Active Directory, and that's just only in the form of an email address. We don't ask for anymore than that. 00:33:33 And then over on the the Cosmos side of things is all the other data. So we'd like to have that separation layer there, but. 00:33:43 By using the different document types, we can just run some quick queries to say Alright, if this you know what room collections does this user belong to, what rooms do they belong to? And so forth. Who are their friends? And we store those in different types of documents in Cosmos, but. 00:34:03 It's very easy and fast to do those look ups and an have this thing running like a like a well oiled chip so. 00:34:14 Oh, very cool. And now I'm going to let the secret slip that. So far this is not a Xamarin app. 00:34:22 It's coming as as I understand, but it's not a Xamarin app so far so. 00:34:28 Like the Cosmos SDK is going to be, you're using that from the cloud, probably using it in an app service or or a.net core Web API. Would that be correct, Ken? 00:34:41 Yeah, we were using that from the Web API. 00:34:43 OK, very good and. 00:34:45 Yes. 00:34:47 So how are you using key Vault then to connect with that are using like a managed identityfromthe.net core app service or some other means? I guess. Where does key vault fit into this overall structure? 00:35:01 Yep, you know that. 00:35:03 So rather than keeping any secrets in code, we try to do is make sure that all of our connection strings for. 00:35:09 The several different services that we mentioned are stored inside of key vault. 00:35:14 And to connect key Vault where we read basically our our app settings right? We're using a system assigned managed identity. 00:35:23 Alright, very cool and so can I want to stick with you on this one. What was the most challenging part of any of the architecture that you helped put together here? What was the one thing that you are most proud about when you worked through this solution? 00:35:44 I think that's two things you know. The thing that was. 00:35:48 Most challenging for me is just that sometimes you encounter things while you're working with services that aren't documented yet, or you know there's things that people have asked for help for. For on GitHub issues, and we know that the answers there and sometimes we didn't make the next step to get into the docs. 00:36:07 So one of the little hiccups or challenges that I've faced recently is. 00:36:12 Related to signal R, There's a four kilobyte limit on some information about the claims about the user that's limiting some of the access that you would do there. 00:36:23 So that's just a little hiccup. You know we update the docs. Make sure that that's fixed, and then adjust the code accordingly. But as far as things that we're most proud of. 00:36:34 I would say the ability to migrate from ASP net core 2.1 to 3.1. 00:36:39 That went pretty smoothly, I would say. 00:36:42 The ability to transition from 1 version to another version to walk through the existing migration path that's out in our public docs just apply it and make the shift and see that everything continues working. That seems pretty pretty awesome. 00:36:57 And I love that you mentioned the docs because that's one. 00:37:00 That we, as I'm sure you know, working with web dev is something that we always try to make sure is our first class experience, because that's where folks turn to immediately to learn how to use our products, and so those need to be up to date and they need to be easy to follow and need to be great. And when or not we try to fix them immediately and everybody can raise issues on 'em as well. 'cause they're all hosted in GitHub. 00:37:24 And those issues get triaged right away. There's people looking at 'em every single day, so. 00:37:30 Docs are important to us. 00:37:33 Raise issues on him. They get looked at and they get assigned right away. I've written docs and I've gotten issues assigned to him. When I when I make a mistake to him. So yeah, we look at him. They're important to us, so Jeff, I wanted to talk a little bit about the DevOps portion that you mentioned before. Can you walk me through what we're using? 00:37:54 For DevOps and I relate. 00:37:57 Yeah, so we're. 00:38:00 Using just almost all of it right now, DevOps project. Basically you know we we have our our boards that we run our you know our work items through our backlogs, our sprints. 00:38:12 It's really easy to do planning sessions and grooming and really keep track of what's going on and really figure out what we need to to either fix or or enhance. You know an it's really nice to even have those tight into the test plans. 00:38:30 Right now, since we are not on Xamarin yet, we do a lot of the test plans in a manual fashion. 00:38:37 Um, so when we do our QA and and go through the app pre release and we can actually document. 00:38:47 From there you know exactly which bug is associated with it or. 00:38:53 You know which which app version is having an issue, and it's really nice to do that tracking and it's. 00:39:00 East are easy to replicate, that each time we do it, we also use the repose for for everything that we're doing over there and really easy to to do. PR's an have that communication path for all those PR's as well. 00:39:20 So that you can really track what's going on and have have other team members jump in and and then do code reviews and and so forth and then pipe. 00:39:30 Things have been real fun as of late, you know, we used to use the regular. I forget what they're called, but it was the the old pipelines where you use the UI to to put together. Basically your steps, but when Ken came over here he started saying, hey. 00:39:50 You know they're gonna slowly get rid of that functionality, and we need to move over to YAML pipelines. 00:39:57 An so now we're we're fully on Yammer pipelines and it's really, I think, a cool. 00:40:03 Thing to see how those are set up in comparison and also see the efficiencies and and the speed of the builds of the pipelines with them. 00:40:13 And also how we release our code, right? How do we? How do we get things into staging? How do we get things in production and so it's it's amazing that all of this is in one spot an talk about efficiencies. Yet again, this DevOps really really brings efficiencies to the table. 00:40:33 You might have been the first person ever to mention efficiency. An yamel in the same sentence. I always have issues editor. It might be one too many spaces in my XAML file and the whole thing blows up, but you could check it into source control. So there's that. But no, I always love the graphical user interface version of DevOps. 00:40:54 The I always have issues with the animal though, but it is super powerful and it's really really nice. 00:41:00 So. 00:41:02 I also wanted to touch on Jeff as you move over to Xamarin. What are you most excited about going going into this Xamarin? 00:41:12 I'm most excited about. 00:41:14 Finally, being on one stack, you know having one Microsoft solution for this whole project? We've worked on one of the things and challenges that we've been facing with the hybrid app route. 00:41:28 Um has been, obviously, you know, the NPM updates and and all these packages that you have to. 00:41:36 Worry about and then the dependencies within those packages on other packages and keeping everything up to date is is a full time job, you know and and I feel like a lot of the struggle with development is about fixing stuff instead of building stuff right. 00:41:54 An what we want to do is we want to release software more often. That's better and. 00:42:00 And I feel like the move to Xamarin is going to give us the ability to not have to worry about managing all those things all the time and give us a much, much better native experience in the app. And knowing that that we're not going to run into some package. 00:42:20 You know either being out of date or being unsupported, or even being pulled. I remember a time a few months back where there was an MPM package that was pulled and you know all my pipelines are not working. You know there's just. 00:42:34 And builds are getting failures left and right an. The more you dig in you can't really figure out what's going on until you realize oh this is out of my control. You know what am I going to do here that just went away so I know what Xamarin we're not going to be having those issues anymore and we're going to actually will focus on on what it is that we do. 00:42:55 Which is help people with our software. 00:42:59 And I I'm just beyond excited to begin this project here very shortly. 00:43:05 And that's one of the things that we talk about when I go out and do an introduction to Xamarin. Talk at conferences is that we say that it's. 00:43:14 You can focus on your core business when you're using Xamarin then a lot of the pieces are taken care of for you like, especially when you're using Xamarin forms. So you can spend more time focusing on making your app great for your customers and for your core. 00:43:30 Business and so that's exactly what we like to hear and so perfect it's odeion I wanted to ask you as we as we kind of wrap up here is that you mentioned one of the upcoming features that you have is you're going to put some artificial intelligence into the app using. 00:43:50 Some bots and some sentiment analysis so you can fill me in on a little bit of what you're hoping to accomplish with that. 00:43:58 Yeah, so right now the app is very much human oversight and we love the community that is there to help and heal one another. That being said, as we continue to grow and scale and create white label apps out there for various partners, we know that there's going to be a need to make the app a little more intelligent. 00:44:19 All from an engagement standpoint, as well as moderation and prevention. 00:44:26 So the key components of that will be things like implementing the sentiment analysis to understand what the conversational tone is in each room in groups and between friend conversations, and that really will serve the function of driving engagement so that users feel more and more engaged through the app. 00:44:46 Moderation if somebody violates our terms of use and privacy policy, which we've been very fortunate to not really have those types of issues, and then prevention. So if somebody and this is obviously near and dear to our heart and we. 00:45:00 Seen it in the app quite frequently, Matt, where somebody is spiraling, a user reaches out and says hey what's going on? Or somebody says I'm I'm struggling with a particular issue. Can you please help me? 00:45:15 We see the community responding, but we want to be a lot more responsive with that. So part of the foundational elements that we've started implementing with Microsoft. 00:45:25 Our cognitive services. So the app is in 54 languages all. 00:45:30 Already using the translation Services API, and that's really the precursor for us to start training the language models we've already got. Had that data analysis done on the infrastructure and so now we're formulating the capability to analyze sentiment to then interject so the use case will be. 00:45:51 If somebody is spiraling, say in the suicide room or in the app in general and says much like this, how the app got started? 00:46:00 See you later world. I'm out of here, having that be recognized on the system and then interject and intervene with an Azure bot service that says, hey, it looks like you're struggling. Would you like some help and that help conserve the, you know, be by way of 911 if that's where the user wants to go, it could be. 00:46:20 Tapping the button to get access to one of the 5500 clinicians that we provide access to through the app. Or it could be tap here to send a push notification to a friend. 00:46:30 To you know, engage in conversation, but really, putting in meaningful ways of using the artificial intelligence and the sentiment analysis to really help people, which again, is the whole reason why we built the app. So those are some of the things that we have on the road map. 00:46:47 And that we will you know we're saving for the new move to xamarin which have Jeff mentioned we could not be more excited about and as soon as we have that framework there. We're already starting to you know move down. 00:47:00 The path of the requirements and everything for these features, which I think will be incredibly impactful to our users. 00:47:07 So that's it sounds great at an incredible app. Just getting more and more incredible with the with the AI being added to it. And so yeah, I'm blown away. But what this all app can do and one of the things I was thinking as we were doing this podcast is what we do as app developers. Sometimes it kind of does. As I mentioned before, sometimes it seems trivial. 00:47:28 But it really is super. 00:47:30 Important and it makes a difference and a lot of people's lives. I mean, this really kind of drives at home. So as I wrap up the podcast here, I wanted to. 00:47:40 We do a pic of the pod at the end of it and one thing I did want to ask you all is one thing that you're especially into right now. What is the one thing that you're digging right now and that you just want to let everybody know about Jeff? 00:47:55 Um, yeah, I guess the the biggest thing for me right now is is I guess driven from this whole kovit issue, which is finding a new release right? And so I've been looking at all forms of of things to do outside again, you know, it seems like. 00:48:15 Uh. 00:48:17 Exercise is more important than ever and I've been looking at things like kayaks and figuring out how can I get out there and explore the world in new ways. 00:48:25 Yeah, if it wasn't for the outdoors, the kovid would have been. Yeah, incredibly more difficult to get through than what it was. And Deion same question over to you. 00:48:38 Wow, how do I pick just one? Yeah, I think the priorities have shifted quite a bit. Obviously with with Kovid, but some of the things that are still that I'm really passionate about as a coach, competitive soccer and we're underway with our season so I'm very happy about that. But when I'm not outside, which I love outdoors, Jeff and I often work from our Home Office outside. 00:48:57 I mean, is it backyard me on my patio? But is it a TV show called Yellowstone which my nephew turned me on to? And it's? 00:49:06 When when your day is done and you just want to watch some TV, this is a pretty good series to get involved in. So Yellowstone is the one that we're looking forward to on a nightly basis right now. 00:49:20 And kid, what are you digging? 00:49:24 I'm with ya. I think it's hard to pick just one thing I don't know. 00:49:30 I think a lot of the updates that were pushing recently are very intriguing. You know, I've been watching the net 5 previews that are coming out looking at some of the new features that are in there. I think Blazers definitely interesting thing just to see the way that the web continues to evolve and there's different options to do all the different things. 00:49:52 It's been really fun. 00:49:54 Great well everybody. I really really appreciate it and be on where can. 00:50:00 We find more about the app. Where can people go to find about this? 00:50:03 Yeah, well, you know we're everywhere. So obviously you can find us at irelate.org that's IRL but number 8.org you can also find us on Facebook, Twitter, LinkedIn, Instagram. All under. I relate org. 00:50:21 Or.org one of the two. You can search both an again. That's IREL the number 8. So I relate. 00:50:30 Dot org, but we're pretty much everywhere out there and we're on numerous podcasts as well. We've also been very fortunate to be keynote speakers in Microsoft Ignite a couple of years ago and Cheddar TV as well, by way of Microsoft and the relationship we have there. So if they if your listeners Google some of that, they might find some. 00:50:51 Pretty funny moments with those interviews as well. 00:50:54 He told me about it before and I'll I'll let our listeners find it. I'll link to him in the show notes, but. 00:51:00 I won't ruin the surprise. 00:51:02 That's great. Alright everybody, I really appreciate it. This was a great podcast and thank you so much for coming on and I relate a great, great, very powerful app an this has been.