Please ignore my hair like I know I look crazy, but I want to get this video done Yet, I do need to wash my hair. So I just had to go with the flow Not everything is glitzing them when it comes to motherhood. Okay, so ignore my hair Okay, let's focus on the video focus on what I'm talking about ignore ignore what's going on up here Hey gems, welcome back to my channel. So in today's video, I'll be sharing with you guys All of the natural products that I use on my son. He is now eight months. No He's actually seven months making eight months soon. However These are products that I either used to use on him Still use on him or maybe products I've bought but and tried and maybe stopped using cuz I didn't like how it worked however, he has a very sensitive skin, so I'm very particular about what I use on his skin and These are just some of the products that I've been trying so far I'm gonna be sharing with you guys everything from what I actually put on his skin in his hair What I wash his clothes with what I wash out his bottle with everything natural or at least as toxic free as possible and if you are Are Expecting or if you are a new mom or already a mother and wants to go that natural route These may be some of the products that you can look into However, if you are already a mother and already use the natural products and want to share what you use with me Be sure to list that in the comments below. I love to try new things So let's get right into this video before we get into this video Please please please take a moment to hit that subscribe button and also hit that bell so that you'll be notified every time I upload a video so the first product I'm sharing with you guys is first bees baby shampoo and wash This is actually not the main Body wash and shampoo I use on him from the time he was born. I've been using Shea moisture Argan oil and chamomile is actually the shea moisture body wash for this lotion That's what I usually use on him. However, I am out and When I went to buy more for some reason my local Walmart and Walgreens was completely out of it And I needed something right away and this was the next best thing on the shelf So I decided to try this out. I do like it. However, I do prefer the shea moisture Shampoo and baby wash. So once this finish, I'm going right back to that and Yeah, this does say it's natural and it doesn't have out no toxin toxic It does not have any toxic ingredients and I do like how it smells However, I just personally prefer the shea moisture Argan oil and chamomile baby shampoo and wash so so When he first when he was a newborn all I use on his skin in terms of after I give him a bath was coconut oil and that was 100% Co-pressed handmade coconut oil. This is actually a bottle that came in I got this My fiance friend actually sent us like four bottles of four bottles of these From Nevis and that's all I use on his skin and his hair when he was first born However, as he got older, this just wasn't enough being that we do live in Florida and the water here is way harder It's also, you know, we live in air-condition and you know, sometimes you get cold or whatever So it was just too much for his skin So he needed something a little bit more than just the coconut oil as he got older now I use this alone for like I'll say at least the first Four months of his life and that's just an estimate. I can't I honestly can't remember but when I needed to use something more I started using my DIY here and body butter and Because this was thicker it It was better for his skin. So I would use this as well as The Shea Moisture Argan oil and chamomile baby lotion and I would pair these two together by like Once once he finishes bath I would put this on his skin and then put this on his skin and that really helped moisturize his skin because After a while I and I noticed the water and that's why I had to get a shower head filter But if he would get like little dry patches on his skin So when I combine these two that really helped clear up his skin as well as getting a Shower head filter so that you know the water isn't as harsh This is almost done and I don't well. I didn't really plan on repurchasing It has more in here, but it doesn't come through the pump anymore. I actually have to open it and like Try and shake it out. So Recently I actually made a different body butter that actually has aloe vera gel and Glisser in so this is way more moisturizing by itself than this and now this is all I use on his skin I don't even have to pair it with a lotion. This leaves his skin so smooth So for right now, this is all I'm using again. I made this by myself So I know everything in it is natural and it's been working great on his skin at one point I did purchase this baby lotion by Era organic is lavender and vanilla baby lotion. It says it's extra soothing and moisturizing However, when I got it, I use it on his skin once first of all, I didn't really like the smell It smells okay, but I don't really care for it It smells like a old lavender if that makes sense And then the reason why I didn't use it on his skin is because it squeeze out too much. That's how it looks But When I would put it on his skin It gave this like beady residue and I'm gonna show you because it used to happen when I Did it on my own skin too. He gave like this beady sticky residue on it And I didn't like how that felt on his skin So I just basically stopped using it. It's already showing up and I don't think the camera is gonna pick it up But I get like these little beady You know how like when you put glue on your hand and rub your hand together It's happening. I don't think the camera is gonna pick it up. But you see that That's from the lotion and that would be all over his skin after I lotion him down. So I stopped using this I don't use it anymore and nor do I recommend it. So yeah, that's that Moving right along Then I have this Is the California baby Calendula cream I actually bought this by mistake I thought it was a diaper cream, but it's not it's actually a moisturizing cream for sensitive skin and Although it works great and I like it and I do keep this in his bag to put on his skin or whatever if we're out I wouldn't buy it again because this little draw was like $15 from Target And that's not worth it to me for this when I can achieve the same moisturizing results with my own body butter So if you are looking for alternative, I do recommend it, but it is expensive and Yeah, but it's the ingredients are great Again, it's great for sensitive skin and you can use it on yourself as well But I've had this for a while which shows you I barely use it because it's just so expensive Next are diaper creams So when he was born about 10 days in he got his first diaper rash and if you watch my New mom video The first three months was hard or something. I think that's what his title I talk about, you know him getting a diaper rash or something But anyways if you watch that video, I didn't mention it So he got a diaper rash and if you know a newborn with a diaper rash It's horrible. They are uncomfortable. They scream. They cry and I just needed something to clear it out of as fast as possible But the first thing I bought was this one by Burt's and bees and it was working It was helping to dry it out But it wasn't drying it out as fast as I wanted it to so my pediatrician recommended getting one with a higher concentration of the Zinc oxide So I went and I bought this because somebody recommended this to me and I did use it on him And it did dry up their diaper rash quick But I didn't read the ingredients like I normally do before I purchased something So I stopped using it on him because it had stuff in it that I did not really want to put on his skin Which was like petroleum and You know some other stuff so I Don't use this anymore. I did at the beginning. He got his first diaper rash It cleared it up and after that I just made sure that he never got a next one Or if I ever saw one coming up that I I used this right away to make sure it cleared up right away So that's that then after a while I think one day I was in the store and instead of purchasing another one of this because this is actually empty I Went and I bought this is Babel Botanicals is a sensitive baby fragrance free diaper cream It helps protect the skin against moisture So it's the baby delicate bottom and it says it's 25% Non-nano zinc oxide. So this has been helping me prevent Him from getting a horrible diaper rash that he did at the first time when he first got his first diaper Rash, I thought it was because I wasn't using powder on him. So I went and I bought this So this is a dusting powder that is talc free and a hundred percent natural it worked however I'm not gonna say no, I'm not gonna say it worked It did not work for me putting it in his pamper because it had fragrance in it and again He has really sensitive skin. So I had to keep everything fragrance free so I Stopped using this in his diaper and I just started using it like on his body around his neck or whatever So that's what I use for that But um For his diaper, I just use a hundred percent Cornstarch numb GMO cornstarch. That's it. Either cornstarch or arugula powder I have a little like powder dispenser that I would fill up with the arugula powder and I use that I would keep it in his baby bag to walk around with this one stays in our room and Is either a hundred percent cornstarch or a hundred percent arugula powder? That's all I use on his bottom in terms of powder now for wipes. My favorite natural baby wipes is by honest brand so I've used initially Pampers pure I still regret using pamper pure anything because that is what caused his initial diaper rash, but ever ever since I started using this I Didn't have that issue the the material of honest baby wipes are so much more sturdy and better And it's not too wet is wet enough to clean your baby's bottom But it's not like what where you can wring it out and Pampers pure it was like almost dripping So this is my go-to wipes. They are the most expensive wipes I've seen so far, but it's so worth it. So I buy it for him I've actually tried seven generation wipes, but I don't like it even though it's natural I don't like it because the material it almost like Sheds when you're wiping it on your on your skin. So I don't use seven generation. I bought it once and never bought it again a new wife that I'm now trying is by diaper diaper as in D Y P E R and this is like the next best thing to honest so far and It's bamboo is a hundred percent natural bamboo baby wipes Vagrants free and the ingredients are simple and straight to the point like how I like it There is no alcohol no animal testing no chemicals. It's like It's just bamboo reverse osmosis purified water glycerin and aloe extract That's it and the material is so soft and silky This is the material here. This is a little dry white, but this is from the pack. It's so soft and silky so This will be my go-to wipe other than this whenever I can get this, but these two I Definitely recommend if you're looking for natural baby wipes. Let's move right along to Pampers Okay, so Pampers I should probably make a video in itself about Pampers because oh my gosh I've been on a roller coaster ride when it comes to Pampers Let me okay After my roller coaster of all the Pampers I've tried I mean all the diapers I've tried These are two I finally decided on and I'm sticking to the next best thing to these I would think is cloth diapers and I like I shared on a previous video. I did want to do cloth diapering, but andy-pandy This is my go-to disposable diaper it is Bamboo the material is so soft and silky. Oh my gosh It is literally and don't get me wrong. We have other natural Pampers They have other natural diapers out there that work for example, I did try honest brand diapers for a while However, he used to get a lot of blowouts when I use those diapers. So I kind of stopped No, I didn't kind of stop. I did stop once I found found these so And the other okay the other natural diapers I've used I stopped using it for one reason or the other So far this is what I'm using because one he has not been getting any blowouts with these they're durable However, they are some cons to using these and I'm going to tell you guys what they are one Because the material is made out of bamboo and it's so soft and silky on the outside When he's wearing the diaper without no pants and the ones you on they get like linty like beady and linty and You know, there's just an aesthetic thing like it just don't look nice Kind of make it look like dirty or whatever. That's like one downfall to it, but it's very rare So I'm gonna show you guys how it looks It's literally the material is so soft There is literally no chemicals in this pamper and it's diaper Oh my god, there's no perfumes or lotions no alcohol or preservative no latex PVC TBT Or antioxidant 100% chlorine-free That is very important. So in December when I went home I actually ordered one of these packs to ship straight to synchro because I know I was gonna be there for a while However, they had a delay in my order and I end up running out of diapers before my order came And I have to go to Kmart and buy some huggies diapers for him and guess what happened He got a diaper rash. I saw it coming So I started to use the diaper cream to try and prevent it every commercial diaper I've used so far has given my son a diaper rash So even though these diapers are mad more expensive Happily dishing out those coins because it's for his best interest. This brand here is actually by this company diaper dyker and You don't see a label on here because it actually comes in a big box but again, these are also bamboo and Also perfume and latex free and all of that 100% chlorine free and they actually look Exactly like Andy Pandey. So this is Andy Pandey and this is diaper They look the same they feel the same the only way I could tell them apart is by the pattern at the top So you see this pattern by Andy Pandey is kind of like straight lines and this pattern up here is like Little waves or the reason why I purchased this is because it works out cheaper So what this company is a subscription? They're both subscriptions However with any kind you can get it on Amazon So that's a plus and that today delivery comes in clutch You can subscribe straight on your website and get like 5% off and that's what I do I found this company diaper who would who sends you like a big box of diapers every month for I think 64 dollars a month and You get to return whatever you don't need or if you run out They send you more at no additional cost. So this works out cheaper because I've been buying like two packs of these a month and One pack is like thirty five dollars. So this is slightly cheaper and a better deal And I still get the great quality of a natural diaper Yes, if you're you're a baby not wearing a pants or onesie this part here gets kind of beady and linty and The flat pair you have to be careful with and also I don't know if this happens to anybody else that uses but for me my son when he pees Most of his pee stays in the front of the diaper He doesn't like he never feels like so cold anything by realize that it takes longer for him to fill up the back of his stomach So sometimes I would change him because I know he needs to change But back here would be very very dry and up here would be full of all the pee So I mean for some that would be like a counterweather But I don't mind because this is not gonna my son a diaper rash and it's natural so that's all I really care about My son and I talked about this in my previous video about life as a new mom My son suffered with gas and colic for the first three four months of his life It was it was pretty bad. So of course I use great water. So the first great water I ever purchased was this It didn't work the way I needed it to work because it like it will affect him really bad I think my cousin recommended this one to me and So I went and tried this one because they had like organic ginger and fennel in it. It had no dye or paraben Is a hundred percent vegan like it was natural And I was willing to try just about anything and once it wasn't once it was toxic free vegan and natural so I tried this and It actually didn't work for him. It worked for her daughter, which was great, but it didn't work for him the only thing that worked for him and My aunt and my friend and Eva's actually recommended this To me because they both had sons who had who suffered with gas and colic really bad And they told me this is the only one that worked for their sons So I went ahead and try it and this is literally the only thing that worked for my son as well And it's by colic calm So it's colic calm gripe water is a homeopathic medicine It is a hundred percent natural do your research on this like do your own research Like don't even take my word for it Do your own research because I didn't I did my research as well And this is not the original one I used to get this one is colic calm plus But just the regular colic calm is what I actually used to use you don't even use this no more You don't need it, but let me tell you and the liquid is black It's actually black in here and that might turn certain people off But like I said do your own research and you realize why it's black and why people still buy it and read about it and It's like I said a hundred percent natural The ingredients are great and it literally helped him so much This is what helped me get through that whole colic and gassy phase The only downfall is this is mad expensive. This little two ounce bottle. It's like twenty two dollars twenty four dollars Depending on where you get it. I think it's a little cheaper on Amazon, but in your local Walgreens This shit is like twenty four dollars It is expensive But let me tell you I bought bottle after bottle after bottle because that is what worked and I just needed my son To have a little bit of relief Again This video is gonna be long y'all I've mentioned in previous videos that he was one with a minor case of cradle cap So of course I washed his hair and I would have to oil it and make sure I get all the cradle cap out Sorry, my camera died. So my camera stopped recording Before it died and I had no idea so I'm kind of picking picking up where I thought I left off I didn't realize it until now that I'm editing However, everything I'm talking about will be in the description box below. So be sure to check that out Yeah, so I actually bought this While I still had some of this just to try something different and this is not what's up, okay? This is literally has no slip to it to this to detangle anybody's hair It could not it's not a good detangler for my son here I still use it just as a like a moisturizer like a little light moisturizer But it's not a good detangler and I'm not even a lie. I'm not gonna repurchase it once it's finished However, I do I do recommend this it works. So once this finished I needed something else. So I went and I purchased this since this just was not working enough and Again, this did not it's not a great detangler like is a great moisturizer But it wasn't the best detangler per se So I I don't even use it anymore. I haven't used this in like about two months, honestly And I'm gonna tell you why in a little bit, but I'm probably gonna use it till it's finished and but for right now I've found what worked for him and That is This is by babu botanicals is a smoothing detangling spray and This detangles is here better than both of these and This as well as moisturizes here better than all three of those previous products so this for sure is gonna be my go-to and again, it's all natural it is toxic free cruelty free and It's what's been working so far Now besides that I recently decided to make my own detangler Slash moisturizer using aloe vera So if you haven't watched my DIY video doing that be sure to go and check that out But this is what I've been using now to detangle his here And this is what I've been using to moisturize this here So this the tangles is here better than everything else. I've been trying so this is my go-to detangler This is literally aloe vera gel straight out of the aloe leaf that I made my hand And I do keep this in the fridge but Definitely these two are my go-to products for his here right now along with this Jamaican black cast oil. I Put this mainly on his scalp. So this is all I'm using in his hair right now Oh, I did forget to mention. I just thought this this is empty But this is one of the diaper creams that I started using to maintain That maintain but basically prevent him from getting Any additional diaper rashes because after he got his first one.  It didn't have any of the Oxide zinc oxide in it and I just wanted something to maintain You know what I had going on so he don't get another diaper So you don't get another diaper rash and this worked wonders. I've actually bought like a good three four jars of this but it's very expensive so Not that he's older. See this is empty so I'm Not that he's older Like I don't use any of it. I don't use any diaper cream on him I just use the corn starch or our root powder, but if I ever have to use that for cream again These two would be my go-to Just went now Let's go to what I wash his clothes with I'm don't worry. I'm wrapping this up. So The first baby detergent I purchased was by honest and That lasted me a long-ass time because come on his baby clothes. However when I went to repurchase They didn't have any so I went ahead and I bought this by 7th generation and It works just as great Again, it's for sensitive skin There's no fragrances dyes or artificial brighteners and like I said my son has sensitive skin So this is what I wash his clothes with in terms of stains and odors I do use this by Baby Gannick, I just Basically opened this and poured into the detergent dispenser along with the detergent Just to give it a little boost, but I've never really had to use this I have I've used this to take out to wash out stains before like when he have a blowout in his diaper Or whatever and it doesn't work. However, I just right now I just use it as a boost because I only have stains to wash out of his clothes right now So this is what I wash his clothes with right now, but the honest baby Detergent works well works pretty well, too. I I'll actually repurchase that if I needed to last but not least I Wash his bottles or His passi or whatever I'm washing for him. I do use the honest baby dish soap This is literally the one bottle. I've bought since he's been born and right now is down here So I probably would never have to really repurchase this but this is what I use for his bottles his passis Whatever, I'm washing or rinsing out for him. I think I covered everything In terms of natural products that I use on his skin anything that touches his skin or go inside his body I think I covered everything and I do hope you guys enjoyed this video Give it a thumbs up if you like videos like this about motherhood and babies and whatever I'll be sure to share more videos like this and Don't forget to like comment subscribe hit that bell so you're notified every time I upload a video and you guys will see me in my next one. Peace And you deserve it. Oh, this is perfect It's the magic and every thing you do is enough nerds Profited and it's the sun is missing and everything


What's happening guys it's Shane here and in today's video I'm going to be going over five money mistakes that I personally made in college. Now some of these will be mistakes that just about everybody makes and you'll probably learn a lot from this. You may even recognize some of these habits in yourself but hopefully you can either not do these in the first place or if you are doing them you can recognize them in yourself and stop. I'm going to jump right into it right after you gently boop the like button for the YouTube algorithm but the first one on the list is going to be a very common one and that is eating out too much. This happens to almost everybody.   This is exactly what happened to me as well during college and it is crazy when you break down how much it actually costs how much you're spending on eating out. There was one time there was especially stressful where I started calculating how much I was spending on food and you know coffee and etc and it was over a thousand dollars a month. Now if you've been following this channel for a long time I've made videos showing you that with a thousand dollars a month you can literally invest that for a few decades and retire. So this is a significant amount of money and especially when you're young you have the power of compound interest on your side. Now I actually love food I consider myself a foodie. I have friends and we go out and try all kinds of new restaurants but I'm definitely not going out every single day to the same restaurant again and again and spending money there. This is something that you can definitely do in moderation and I think one of the best investments I ever made was buying a crock pot. Buying a crock pot you know you can just put stuff in there there's lots of recipes out there on the internet it's extremely inexpensive you throw stuff in there at the beginning of the day you come back at the end of the day and it's done or you can throw stuff in there fall asleep you know sleep for eight hours wake up in the morning and you've got an entire meal. In fact a lot more than an entire meal if you get one of the bigger crock pots sometimes it'll last you three to five days.  The second mistake that I made is I didn't start investing early enough. People put off investing because they think that they don't have enough money or a significant amount of money that's going to actually make a difference. But the truth is even if you just start investing like $20 a month $50 a month $100 a month it's going to make a huge difference not only directly because of the fact that you have the power of compound interest on your side but I think indirectly it makes a huge psychological difference. It's almost like getting yourself to go to the gym right so if you try to make yourself go to the gym you see this every single year on January 1st people are like oh I'm going to go to the gym five times a week and then they last maybe like two or three days and then they give up but a much more effective strategy is if you want to develop a habit you start off with very small steps right so instead of going to the gym every day maybe you do 30 push-ups a day you do that for about a week or so and then maybe you start going to the gym once or twice a week and then it just becomes more and more of a habit and all of a sudden you find yourself turning into one of those weird crossfit people who can't stop talking about it just kidding but I think you get my point here but something that you can do right now is get down on the floor and do some push-ups and it's the same thing with investing even if you have a tiny amount to invest you need to start investing right away because it's going to build that habit and even more important than the money itself that you're investing it's more of like a psychological thing where you're building a habit that's going to help you out tremendously later on in life because the truth is most people don't start investing until they're in their 30s and that's why I really love a lot of these apps that they have out there these days you know you've got like acorns for instance that's an app where you know you can set it to where let's say something costs 50 cents or 75 cents it'll round that up to a dollar and invest the additional 25 cents I also have a link to Weebol down in the description I talk about that every once in a while Weebol is a super easy app to use you also get like four free stocks valued at up to $1,800 I think that's the latest one that they're offering so investing is incredibly important I think I did it relatively early you know compared to most people but I could have done it even earlier you know opening up a Roth IRA when you're 18 years old is probably one of the best decisions you could ever make the third big mistake that I made is not getting work experience early enough now I actually did get work experience as a teenager I worked for a nonprofit and I worked in various different positions but I think specifically what I'm referring to here is doing things during college that don't actually matter right so I spent I can't even tell you how many hundreds maybe even thousands of hours doing these different positions for instance I was like at one point during college I was the liaison for one organization I was the chair of like several other organizations I was the vice president of one organization I was the president of the class I had all these different positions I spent a ridiculous amount of time in those positions and I can tell you that it didn't impress anybody it would have been so much better if I just had maybe one or two positions max all throughout that time and I did something really cool in those positions something that I could talk about something that I was passionate about versus having all these different positions where I wasn't really accomplishing very much in them I was kind of just going through the motions and the reason for that is because I was just dividing my attention in way too many directions what would have been much better is if I just got work experience that's what employers actually care about that's also where you're going to learn the majority of the things that actually matter and even if you end up having a super crappy job which most people are going to have at least one crappy job throughout their lifetime the way you can think about it is it's going to make you appreciate the good jobs that you have in the future even more so yeah work experience is super super important I think that anybody honestly even if you're in high school you should try to get some work experience but definitely if you're in college get yourself a part-time job I cannot emphasize enough how important that is at this point in my life I've trained so many new hires and the difference is night and day between the people who had work experience versus the people who didn't have any even if the work experience they had was completely unrelated to the actual job they're doing just the fact that they have that work experience they have that basic level of professionalism they know how to use a phone they know how to use a fax machine it just makes a huge difference I know this uh recruiters know this hiring managers know this bosses know this it's just a fact the fourth mistake that I made is something that I see a lot of people making this is probably the most common thing and that is this thing called lifestyle creep now I grew up kind of poor and I learned to basically just live off of a tiny amount of money I really didn't need very much in order to survive but as I went to college I was kind of a round a bunch of people from different you know socioeconomic backgrounds some people were really well off some people were not that well off but I saw other people oh they had a really nice laptop for instance and so I'm like you know what I have this scholarship or I have these student loans maybe I'll get myself a really nice laptop and I saw oh other people have the newest iPhone and so what did I do I went out and I got the newest iPhone and that's what lifestyle creep is all about basically the higher up you get the more money you start making or the more money that you have available to you the more you start spending and this can get absolutely ridiculous to the point where you're making millions of dollars a year but you're not actually able to save and invest that money because you're out there buying Lamborghinis and yachts and lifestyle creep is the reason that 80% of lottery winners end up filing bankruptcy and 70% of professional athletes after they retire also end up filing bankruptcy lottery winners are people who won tens of millions sometimes even hundreds of millions of dollars professional athletes usually earn tens of millions of dollars throughout their career right so if you don't understand lifestyle creep and you don't get it under control it doesn't matter how much money you make you're just going to end up spending it in the game of money it's almost like you have to learn how to play offense which is making money but you also want to learn how to play defense which is saving and investing your money and you can do that by budgeting but that kind of rolls into the last mistake that I want to talk about which is I think I focused way too much on these small things and not enough on big things so when it comes to budgeting I think this is a really good thing that everybody should do at some point during their lifetime basically you want to just keep track of every single cent that you spend and there was a point in my life where I got very serious about budgeting and I truly was tracking like every cent that I spent but I realized it's not that big of a deal if I buy like a coffee from Starbucks like once a week this is not something that I need to stress about it really isn't that big of a deal at all especially if it's something that I truly enjoy it's also not that big of a deal for me to go out with my friends a few times a week and get a nice dinner and this is actually a psychological phenomena where people will freak out about like 20 off on a ten dollar item right like they'll freak out about oh my gosh I need to have 20 off on this ten dollar item so I can save two dollars like people might even not purchase the product if it's not 20 off so if you have like a 20 off coupon you bring it to the store for some reason it doesn't work anymore you might decide to not buy the product and you're doing all that just to save two dollars but when it comes to buying a car you think you want to get it for you know 19 or 18 thousand dollars but the salesman won't budge and you end up spending 20,000 but they don't think it's that big of a deal if they want to buy a car for 19 thousand dollars but the salesman ends up selling it to them for 20,000 so in one of those cases you would have saved a thousand dollars which is a significant amount of money in the other case it's only two dollars but people don't understand just because of the fact that it's relative it's not worth it for you to obsess over these small little things here and there the two dollars here and there not only from a money perspective but also from a time and energy perspective so the way I track my money now is I basically just use automated apps like personal capital that keeps track of my money and keeps track of my spending and if something looks like it's a little bit out of line I'll kind of cut back on it a little bit but I'm not tracking every single penny anymore I used to do that and I think it's a great phase for everyone to go through but at the end of the day you probably want to focus more on making money than tracking every penny if you're spending like five to ten hours every single week budgeting imagine if you just worked five to ten extra hours per week and see how much more money you would make all right so that's all I have for you in this video hope you enjoyed it check out my other videos right here I made them just for you go ahead hit that like button hit the subscribe button ring the notification bell and comment down below any thoughts comments criticisms etc that you have on the video and I will see you next time


Ascent vs. Ascent This is another set of words that are easily confused in English. Let's take a closer look. Ascent describes an agreement or an approval. So we could say, he nodded his ascent and she continued explaining. Ascent, on the other hand, describes the action of rising or climbing up. For example, my legs retired after I took the ascent to the cabin on the ridge. I'm sure you'll never confuse the two words again. That's it for today. See you next time.


Hi, everyone. It's amazing to be having these in-person events after such a, such a long time. And just the energy and people taking selfies. So hope everyone is making the most of these connections. I am very, very thrilled to be here. At the same time, I'm pretty nervous doing this in-person after just being virtual behind the computer.  So let's see how it goes for today. First of all, I wanted to talk about, you know, Cruise, where I'm right now VP of Product Engineering at Cruise. And Cruise is a self-driving car company in San Francisco. It's a pioneer, and we launched it this year. They've safe, shared, and all electric. And I was talking to some of the colleagues here and some of the other attendees. They were like, is it real? Do we have driverless cars on the San Francisco roads? Yes, it is. And you can take a ride. And if you want to find out more, you can go to getcruise.com and join the world of transforming the future together. Today's topic is very much along the similar themes that you've been listening to in the morning, which is customer-centric and hypothesis-driven innovation. This topic is something that I'm very passionate about and very close to my heart. What is a good product? A good products are researched extensively, and they are tested extensively as well. But what differentiates the best products? And that is where they are built in a culture that values experimentation. It values empowerment and risk-taking. It values the piece around data-driven insights, and last but not the least, customer-driven insights. So with that, there is no one magic formula that's going to transform the organization to get to that end state. And you saw today morning talks. There are so many different examples, and I'm sure each and every one of you is championing it in some way or the other. And today, I want to share some of those experiences and insights that I have seen have helped to transform and bring about this culture change. So with that, today, I'm going to focus on four areas that are touching different product development lifecycle phases. One, being honing the problem and scoping your hypothesis. The second is going to be experimentation and ways to validate the hypothesis in the shortest time. The third is going to be MVP and seamless collaboration with everyone wearing a product hat. And the fourth one, completing the circle, being in the trenches with the customer and how to go about doing customer shadowing. So with that, let's jump into the first one, honing the problem. Not having the clarity of the problem and purpose can result in getting pulled in multiple directions. And I'm sure that's happened to each and every one of us in some way or the other. And then how do you bring back to the guiding principle or to the goalpost? I often tell people, don't tell a solution to an engineer, but rather, take the problem to the engineer. And we all have fallen traps to that. For example, if you tell an engineer, build me a wheel, they will build you one. But if you tell them the problem that you're trying to steer a boat or a sail, they will surprise you with the solution. So with that, how are some of the ways to hone in the problem? I love this golden circle that's described by Simon Sinek in his book, Starting with the why. Every org knows what they are building and how. But very few organizations know why they do what they do. And why is the purpose, the cause, the belief that brings and binds the people together? And this concept of why and the purpose is not just high up at the organization level. It is to be weaved into every aspect of your product, your feature. And this is how you bring in the muscle memory. So let's look at some of the examples of organizations that have defined this purpose or this why. One of them we'll start with is crews. At crews, we've driven to safely connect people with places and things and experiences that they care about. The sense of purpose and mission to save lives and reshape our physical environment and restore freedom is what binds and brings the cruisers together. And that is what we often talk about and have that shared bond. Let's look at some other known examples, Microsoft, to enable people and businesses throughout the world to realize their full potential. Another similar brand name, Apple, to create products that enrich people's lives. So you need to look at what is that why and purpose for you, for your organization, as well as for your product and feature. Let's talk about how to scope the problem and frame your hypothesis. People are familiar with the build, measure, and the learn model. But many times, I see people fall into a trap. They start with the build. But rather, first, start with the learn. What do we need to learn to validate or invalidate the riskiest hypothesis? Then you go into the measure. What data will allow us to measure the learning? And then the third step is when you get into the build, which is what do we build to generate the data that we can measure? And this is really important to be able to answer our questions. There are two common types of hypotheses. One is the value hypothesis, where the metrics that you're optimizing for is around retaining your target audience. The second hypothesis is around growth hypothesis. And the metrics there that you're optimizing for is referral rate, NPS, et cetera. Now when you're trying to hone in all these different hypotheses, you want to ask the questions that's going to help you narrow it down. Do your target audience recognize that this is a problem? And if you build a solution, will they use it, pay for it, and will they use it from you? This is where we all have seen the reverse happen quite often times. I have an example where we were biased by some of the buzzwords and some of the solutions at one of the companies. And we were like, we want to build a community. Well, we all have seen different communities and the flavors of it, so we all know what that end thing looks like. But that's where we were biased and not seeking truth on the problem and how the community would internalize for our customers, for our problem space. And we jumped into solution too quickly. And we had a six to nine month, fully perfect community building going on. And that's when we realized that we were just too invested in it and we were trying to find the problem that would use that as a solution, rather than other way around. One of the ways to help hone this in is by investing in training and learnings and frameworks that can equip the team for templatizing some of these hypothesis and assumptions statements. To wrap this section, what is the impact once we have honed in this purpose and the problem? It inspires and bonds people together. And this bonding is not just at the organizational level. It continues and creates this bonding across partners, across your customers, through your products. This in turn lays out a foundation that becomes the not star to drive the alignment by having everyone draw in the same direction. Let's go into the second section to talk about experimentation and how do we remove the biases and get answers and confidence quickly. Doing big investments without having the conviction leads to self-fulfilling prophecy. I'm sure we all have run into some variation of this. How might we mitigate this group think and biases? Example, we all have biases from our experiences and we all have strong opinions. But without validating, you don't realize how quickly we can get into a black hole. The example I was talking to you about earlier, where we invested in building this community functionality, we realized that we were just bought into it and were hesitant to pull the plug because of the investment we made. And on hindsight, we could have got the answers much more quickly with shorter investment rather than being stuck to know it all attitude. This is where we need to go broad and then to go narrow. Get all the perspectives and cross-function representation to make sure we have a well-represented ideas. First, you need to hear from a diverse set of voices, both in the room and outside the room. At Cruise, we encourage this culture of psychological safety, empowerment, and ideation. You want to have debates. You want to have curious questions. And that is how you create these respectful environments that fosters psychological safety. And you want to have this comfort of people voicing their thoughts, because we all know the strongest ideas could come from anywhere in the room. And at the end, to avoid the group think, how do you agree to disagree and come it forward? This is where when we push beyond our conventional thinking, we discover unique solutions that delight our customers. Now, how do we get to these ideation, right? When we start with the ideas, we all know the first one might not be the right one or might not be the one that makes it. But it is the stretch of ideas that put something together which is beyond and much more greater. And now, how do we narrow these ideas down to know which one we can test to not spread ourselves too thin? So for that, we need to have a well-defined experiment. What is the goal of a good experiment? It is to build confidence that we are on the right track in the quickest way at the same time with the least investment. And what are these ways to define this good experiment? It consists of a really narrowed down hypothesis that we want to validate with quantitative and qualitative data that can give us customer insights to validate or invalidate our assumptions. Now, we all know time is the essence. So how do we get these experiments turned around in the most quickest way? We want to avoid waste, and we want to learn quickly. Here are some of the ways. These are just some of them. I'm sure there are other opportunities and experiments that people have tested that have worked and that can be done in the most fastest way. One, being for cycle sketch. Just doing sketches and validating those. Second one, more visual walkthroughs. Both of these have least investment. At the same time, it gets the point across. And trust me, we all have seen where sometimes we've skipped these steps. It's bringing that discipline. The third one is demand test. Just even putting a button and seeing if the users are clicking it, even if it means the functionality is still to come. But it helps you to demand test that whether the customers are going to be needing this or where they're going to be needing it. The last but not the least, hack to market test. At Cruise, we do a lot of these with our operations workflows where we have used a mix of spreadsheets, collaborative tools, forms, et cetera to simulate these operational ways to automate. We ideate. We are able to quickly adjust those things. And then once we have confidence, we are able to integrate that into our product, into our functionality. And that model is helping us to do least work, as well as least throw away. Now, one of the ways to keep this in mind is to make sure that we are not stuck in one particular aspect and are able to leverage different things based on what's working and what's not working. We know that at Cruise, when we tried out some of these things, our learning time went drastically down. And what does that mean? It's not only that we can cater better products, but it helped motivate our employees because who doesn't love shipping? Who doesn't love learning? Who doesn't like faster iterations? And it was a great motivator. What is the impact from some of this? With the experimentation and speedy hypothesis, we are able to ideate quickly. We are able to rule out the noise and bias with the least investment. More so, it creates this culture of risk-taking. It removes guesswork and know-it-all mindset, and instead fosters a framework for decision-making. Because even if your experiment showed that it's not, the result shows that it's invalidated, it's not a failure. It's a learning that's helping you have more information to equip the next steps in your life cycle. Doing this is significantly helpful and it should just become a way and normalize it and make it a day-to-day thing. Let's go into the third section, which is MVPs and seamless collaboration. As the product matures, it's vital to get end-to-end perspective by honing the product instincts in every role. Why is this important? We all have seen it, whether it is a product that you're just trying to get product market fit, or it's a well-established product that you're enhancing and taking it to the next level. Perfection can be your enemy and bias how you break down the problem or you scope the MVP, because that is really, really critical. Being siloed in role boundaries can result in gaps and end-to-end thinking and flows can be jeopardized. Let's look into how to mitigate some of this. One of the ways to do that is through dog-fooding. I'm sure everyone is well-versed with this term. Don't let your customers be your first testers. One of the ways to validate is understand and walk through the functionality yourself. It forces you to think like a customer and understand what might be the gaps. Getting different perspectives as part of validation is really critical, and this is where, how does everyone put on a product hat? This is where some of the things that have worked is doing dog-fooding and validations, bugbashes together as a team with PM, design, engineer, everyone. And how do we make it a fun activity? Prizes always goes a long way. Small things like gift cards or recognitions of who found the most trickiest situation or who had the most polished bugs or who had the most number of bugs discovered. But this brings about a shared understanding across all of the functions and brings about this product hat for everyone and this ownership of product instincts. There's a fabulous example that I learned the hard way. At Microsoft, I was working on Azure Management Services which used to have all these different compute data security services that people could manage or onboard to. And we used to release every two weeks and our VP at that time would actually, before in the pre-production environment, before it goes live, he would dog-food it and he would catch issues or patterns or extra steps or missteps that can cause into customer friction. This actually helped rein in that culture at every level and across the whole company. And it was very, very powerful, very insightful at the same time. The last one is about metrics and stats sake. How do we make sure that data and metrics is not an afterthought? It's easy to say, but we have fallen, pray to some of this. For example, we had a metrics, we had an experiment and MVP that we launched and after launching, there was confusion around which metric, what is that metric supposed to do? Was it the right metrics? Is the data that can be trusted? And that is too late because now you've missed the boat, you have to now spend the time fixing it and redoing the experiment. So make sure as part of your validation, you are also looking at validating the data and clarifying the ownership across whether it's a data analyst, whether it's the PM, whether it's the engineer and making sure that the definitions and the outcomes are well understood. At the same time, what are the goals that we are looking at for the metrics to hit? Doing these MVPs as well as the seamless workflow and dogfooding helps to have a better ownership. Not only that, it avoids building a Frankenstein product. It is just amazing to see how products and functionality as they evolve, you can make out the organizational boundaries that start surfacing in that and the ways to mitigate that is with this dogfooding and everyone wearing a product hat. It also builds repeatable and continuous MVPs and last but not the least, builds the data-driven decision-making muscle that is so critical in the organization. That brings me to my last section, be a customer. Walk in the customer's shoes to empathize and understand the problem. Why is this important? Teens can't work in a vacuum. They need to hear from the customer's voices that will be everywhere and teams need to strengthen these relationships. Completing the circle, being in the trenches with the customer to celebrate the impact of our work and understand if it's solving the customer problem is key. It is super motivating when you see how your customer is using your technology and how it's saving them time.  So how do you learn from it at the same time celebrate? Here are some of the ways to ingrain this customer-centric view through customer shadowing. We regularly integrate user research and data into both the early stages and the later stages of the workflows. When our teams have this data in front of them, it helps to tap down biases and helps drive clear decision-making. At the same time, the second aspect which is a theme over here is the customer shadow also called the Gemba Walk. Gemba is a Japanese term for the real place. And Cruz does this really well and it's a culture that's instilled by our CEO Kyle who actually takes weekly rides in the driverless car and shares the experiences and learnings, both the wins as well as areas of improvement. Now, given today's day and age of remote work, we can't expect everyone to be able to travel and shadow and do everything in the same place. That's where we have made this an explicit and early on investment to bring customer shadowing to our organization in a repeated fashion. We have repeated meetings set up virtually that shows the customer shadowing. Whether it is demoing the actual car rides at the all hands to having repeated meetings that are sharing what our operations are doing to launch our fleet as well as to service it and while keeping safety at the number one step. This is where we have virtual ways for people to see the end to end functionality. At the same time, ask questions and understand where the pain points are. We also encourage in-person, so whenever we have off-site and in-person meetups, we usually have it with a shadowing exercise as well. This is where it makes it easy for everyone to see but also share their observations. One of the things I really am proud of at cruise that it does is we have recently added be a customer as a value to our top six values. And we use the hashtag be a customer to be able to share these experiences and learn from it. And making a connection with the customer and building this relationship means removing just the word persona or customer, giving it a name and making it more real human. It goes a long way. As we wrap up this final section, you can see the profound impact that this Gemba walk has. It builds deeper relationships and empathy for our customers. It helps drive better products that are catering to the customer needs rather than just the buzzwords in the industry. Last but not the least, it helps speedy turnaround on friction. There have been numerous cases where engineers have come back from their shadowing and they've gone and fixed bugs without anyone telling them. Why? Because now they understand how their products and their features are being used. What is the friction that they are having and to course correct and adjust very quickly? This is how we empower people with the information at their fingertips to do their best and make the best decisions. And how do you drive this DNA and build this customer-centric innovation across the company is through these connections with customer and customer shadowing. To close on, hope you start with the why and find the purpose. I love this quote from Antoine. If you want to build a ship, don't drum up the people to gather wood and give orders. Instead, teach the people to yarn for the vast and endless sea. It was a pleasure to be here, to learn from all of you, to connect with this amazing product community and thanks to Product School and have a great rest of the day, everyone. Thank you.


Because the user sent in bad data, the application can error before it even gets to the database, possibly tell the user something a little bit more useful in terms of what they did wrong if they're using an API. And then there's a lot of simple patterns that just come with the RM that make it easy to build out an application quickly. That's why things like Django and Rails and stuff are so popular because you can type a few things in and you get like an application really fast and that's definitely really cool. But there are other ways to get at this. So composition is, I wrote functional composition here, but I mean even object composition is good generally better than inheritance, not always, but generally. Being able to compose things makes things more flexible and also lets you hide things. So if instead of a subclass, you contain a class, you can hide that class from the external world and you can trust that I've got my model class, but only my model class can talk to the database, nobody else can talk to the database, and I don't have to worry about queries leaking in somewhere I wasn't expecting or things like that. So composition is a great tool for abstracting away complexity that you don't need to know about in the function you're writing or in the module you're writing. There's a lot of built-in data structures in Python that provide a lot of these, have a lot of power to them. You can also, like I said, you can just write a class, you can build your own class hierarchy, et cetera. There's one more thing which is going to be the main focus of my talk that you can use, and that is MyPy. So it talks about MyPy, it talks about RMS, what do they have to do with each other? They actually have nothing to do with each other. MyPy has nothing to do with databases. MyPy is a static type checker. Has anybody used MyPy? Mostly on that side of the room, okay, a few people like that. So it's a static type checker. You can use it to tell, it will tell you if you're doing something wrong in your Python code without actually running your Python code. And it uses type annotations if you're using a version of Python that supports type annotations in the syntax, alternatively you can run it against old code, you can run it against Python 2 code and you do your type annotations in comments and it can parse the comments out and figure out the types. So let's show off a little bit of what it's going to look like. So I'm going to open up a file here, sure, oops, nope, hitting the wrong character. So I'm going to write a function and I'm going to annotate its type. So this is just from the MyPy example but just so we see what it is, I've got greeting, it's going to take some name, we're going to give it a type which is a string, the colon means this is its type and then the function has a return type and that's what the arrow means, this is what it's going to return, it's also going to return a string. And there we go. So right now, there's no errors because the function isn't actually doing anything. Even though if you call this function it would return none, MyPy is saying that's okay. You haven't actually written anything yet. If I return an integer it will tell me incompatible return type, I expected a string but I got an integer, you're doing something wrong. I can say okay, well how about just saying hello and it says okay, cool. One thing to note here is that I'm taking the name, I'm not doing anything with the name, that's probably not what I intended. MyPy is good at checking to make sure that you're handling conditions, that you're not accessing things that aren't there, stuff like that. What it can't do is tell you if you're doing the right thing because it doesn't know what the right thing is. So there's a lot of discussion about types and tests and which is better. You really kind of need both if you want to be really confident that your code is working correctly. It's not a replacement for writing unit tests but I do find that it's helpful for guiding you saying hey, you forgot about this case, maybe you need to handle this case. Probably want to test to say that the right thing happens in that case but it will at least tell you that you handle the case, you don't handle the case. So here, similarly if I say hello plus five it's going to say I can't do that because you can't add strings and numbers but if I say hello plus name it's totally fine. So down here I just have my editor telling me what's wrong with the current file I'm working on. So let's start using MyPy instead of an OR app. So the very first thing we want to do is define sort of our model. I'm going to use something called a typed dictionary. Comes from MyPy type extensions. I think at some point in the future this is going to be merged into the standard typing module but for now it's in an extension while they're sort of solidifying the API. And I want to, I'm going to define, let's say we're building an application for dealing with books because books are, you know, really cool and modern and etc. So I'm going to use a typed dictionary. A typed dictionary is just, it says look, at runtime represent this object as just a dictionary but I want to say what attributes it has to have and what types those attributes are. And so books have authors, sure, and they've got titles. So there we go. I should probably type out the code correctly every time. Okay. So that's useful maybe. Haven't done anything with it yet. Let's write a function that can take a dictionary. Maybe it's coming from the user json request somewhere else and return one of these things. So we get a dictionary coming in, call it request. It's a dictionary but we want to get a book back out. So we can return a book, not a book, and it has an author, okay. So it says that's, okay. So we've eliminated all of our typos and it says everything's cool. Now one thing you'll notice here is that this function won't always run to completion. If I pass a dictionary in that doesn't have these arguments, it will raise an exception and won't return anything. It won't return a book, it won't return anything. Maybe that's fine. Maybe we want to do something a different way. We can talk about other ways to do it at the end of the talk if I get that far. But just sort of be aware that static type checking works great on functions that return values. It doesn't work great on things that raise exceptions. It can't tell you that you mutated state necessarily. It's really about pure functions or what it handles best. So we've got this function. We can give it a dictionary, a generic dictionary. We have no idea what's in it and it will either return a book or it will raise an exception. Okay. So let's say we want to be able to save this book into our database.  So I'm going to, I want a function that saves a book, takes a book to save. The book has to be a book, not a book. And it doesn't return anything. And then I'm going to insert the book into my database.  It's got a, I want to save the title and I want to save the author in the database. Everything's good. Cool. Authors are good and all, but the publisher is where the money is. So we really need to keep track of the publisher because they are the people with the money. So we are going to, first let's pretend like, you know what, we need to remember to save the publisher. Oh, that's interesting. It's actually telling me that I can't do that because books don't have publishers. So I can come up here and I can say, okay, books have publishers now. Oh, but now it's saying, I can't create a book without a publisher because I said books have to have publishers. So now, so you can see what it's doing here is it's kind of guiding my refactoring. It's letting, it's sort of telling me, you forgot about this, you forgot about that. It's keeping track of what you can and can't do with the values that are passing through your, your code and it's telling you if you're doing something that will potentially fail at runtime. So that's kind of cool. So let's add something else. So some books come in series. Not all books come in series, but some books are a book in a series. So let's try to model that. So we're going to start out by just defining a new class, book in series, and it's kind of book. You can inherit from it. It's not really inheritance because remember at runtime these are just dictionaries, but it's sort of a hint to the type checker. By inheriting from book it gets all of the attributes of book, and then it can have new attributes. So I can say I also have a series. It's just the name of the series, the ID, whatever. I'm just going to store it as a string. Okay, that is cool, but it's not really doing anything useful right now. But we can use it to add a new feature. Let's say our website, we want to be able to find things, books related to books. Recommendations and engines were a really big deal 15 years ago, still are probably. People don't brag about them as much because they all just bought them. So we're going to write a function called find related, and it's going to find one related book, or it's going to tell me that there aren't any related books. So it's going to take a book. This type is book, and we want to return, we want it to return a book. Makes sense, right? But I don't really know how to implement it yet, so I'm just going to pretend, I don't know. I'm going to figure something out. Okay, so how could we go about finding a related book? Well, if the book is in a series, then we can just find another book in the same series, right? They're presumably related. So we're going to write a function, find in series. That's going to take a book, but that book has to have a series, so book in series. And it's going to return a book in series. Okay. So we want to somehow do this. I've got this database class, it has the select function, or not class, module has a find, I actually call it find. And see, I want to say, again, sort of pretending like we're writing against Mongo. Mongo is interesting in this case, because it doesn't enforce anything, so you really need to enforce things at the application level if you want anything enforced at all. So I'm going to find a book here. Okay. Got to return the thing I find. Okay. This is interesting. So the find implementation I wrote says, I'm not always going to find the thing you're asking for. Maybe that thing doesn't exist in the database, so it uses something called optional. So I'm going to go import optional here, because I'm going to need it, optional. Okay. And this is returning an optional book in series. Still not right, because I'm trying to return an optional, let me, if you look at the very bottom here, I'll tell you the whole problem. It got an optional dictionary of anything to anything, but I told it I was going to return an optional book in series. So that's because I need something similar to a parsed book, but for a book that has a series attached to it. So just copy paste. That's a good programming practice. So I'm going to do this book in series, and I want it to return a book in series. Okay. I'm probably done right. No, I'm not. Okay. So we need to return. It says I need to, I said I would give it a book in series, but I gave it a book, so book with a series. Okay. And then I'm going to also break this up, because it's starting to get a little long. So I should be good, right? No. Okay. So a book in series needs a series. I told it it needed a series. It's telling me that. It's saying key series missing from type-dick, dicked-booked-in series. So let's do that. Okay. So now parse-book-in-series is written correctly, but this still isn't written correctly. So what I'm going to do is I'm going to say, well, I'm going to parse-book-in-series, and that will turn my JSON object thing, dictionary, into a book in a series. It seems like it should be a good idea. Still won't let me do it, because I typed it wrong, because I typed a book twice. Book book. Okay. But it really wasn't supposed to let me do it anyway, because parse-book-in-series expects to get a dictionary, but the database may not return a dictionary. It may just return none. Optional means you're either going to return this, or you're going to return none. This is sort of a subclass of another type called union, which is one or the other. The other is always none. So here, again, it's telling me, hey, you forgot that sometimes the thing you're looking for isn't in the database, and you don't get anything back.  Very annoying error. So let's save this off. Save off what we get. And then we can say if row is not none, return parse-book-in-series row, otherwise we'll return none. Okay. Cool. So we can actually go to the database and say, hey, find a book in the same series. If you don't find it, return nothing. You do find it, turn it into this book-in-series thing, and return it back to me. Okay. That sounds cool, but we still haven't implemented this find-related thing. So let's figure out how to implement that. So what we want to do is be able to say, hey, look, when you ask me to find a related book, if the book belongs to a series, I know how to do that. I can just find another book in the same series and tell you to buy that book. If it's not in a series, I haven't figured it out yet. We've got to do some machine learning thing or something, and I don't know. Whatever. We'll just say nothing. So I am going to here say, let's try this. Let's just say find-in-series, okay, there's a couple of things wrong with that. So we're trying to return the wrong thing, but also find-in-series wants a book that has a series attached to it. We're not sure if the series is attached to it, because we haven't checked. So let's try this. If series in book, let's do that, none, because we didn't find anything. Okay. So the first thing is, sometimes we return none, and we said we'll always return a book, but we actually know that we're not always going to return a book. Sometimes there is nothing related to the book. It's just like a magical unicorn book. It's genre-defining, and nobody has caught on to the hot new genre. Okay. So find-related has to be optional. We can't always find something related to it. There's still a problem. The problem is that find-in-series wants a book in series, a book with a series attached to it, but we only have a book. So this is actually one of the places that MyPie kind of has trouble. We know, by looking at this code, that at this line here, the book has a series attribute, but MyPie doesn't. It's gotten confused. Fortunately, there's a way around that, which is cast. So if you've ever written any C++ code or Java code, you know what that does, and we have to import it. Okay. So we've told MyPie, look, trust me, I checked. I'm very certain that book-in-series is the right type. One thing we didn't have to tell it, though, is that a book-in-series is a book because we inherited the types from each other, even though here I'm saying I want to return a book, and here I'm saying I'm going to return a book with a series attached to it. MyPie knows that a book with a series attached to it is also a book. So let's us do it. So that is that. And then one last thing that we need to do, we need to be able to save the book. So I want to save the book. I want to save the book-in-series. And I should probably save the series, huh? Right? No, because I forgot to update the type. So there we go. So the type-checker is kind of assisting me as I'm refactoring my code, and it's saying, hey, you forgot about this. You need to check for this attribute. This attribute doesn't exist. But the other thing it does is it says you can trust that this attribute exists. If this was some whole very complicated sub-module that dealt with books that belonged to a series and it needed to find an image that's the series image instead of the book's cover image or give you a listing of all the books in order, you can trust, no matter how many other functions you call, that the book has that attribute. And if you make a mistake, as I did many times up here, the checker will check it for you. So that is it. And I don't know if there's time for any questions or not. That seems sort of backwards from the normal workflow, I don't know. I'm not going to add a field, I'm typically going to go to the class. Is there a way if I add a field to the class? It's not going to complain, it's not going to have to go find all the things manually. Yeah, so if you go add a field manually, any code that doesn't access the field, MyPy doesn't know you're supposed to be accessing the field. This is a little hand-wavy here. I think that what you would probably want to do is build out that interface layer between your code and your database. You want to unit test that, right? And so you're kind of doing this in conjunction with writing tests. So at some point you'd have a test that says, hey, look, if the user gives me a book that has a series attached to it, I better save the series attached to it in the database. You're going to have to go update the database saving code to write the series out. At that point, that sort of drives you to go start adding the type annotation and then MyPy helps you find all the places that you might have broken and go in and sort of fix them up. So it's not, it can't do everything for you, but it can help guide you and show you places where maybe you forgot that you did something over here or whatever. So that's what it's really good at is discovering those things. Okay? I think that's time.