One of the most common questions I get asked is, you know, how do I start day trading? So what me and my mentor about it for our viewers on YouTube is create a free mentorship course that reveals our 12 secrets that every single brand new day trader should know before they get started. But please take note that there is limited seating every single week. So please reserve your spot at myinvestingclub.co. Link is in the... What's up, guys? It's Serios here. And today I'm just going to be going over another typical kind of weekly recap I'm going to talk about last week. What I think about is...or what I think is going to happen this week. And yeah, so without further ado, I'm just going to get right into it. So some of the current patterns that I've been seeing in this market, and this is what's kind of been happening a lot, is that we haven't really had a dead pre-market. Currently, we've been having kind of like these really strong pre-markets. We're having like six, seven stocks running in the pre-market. You know, things are just going crazy. So what we've really been seeing is like a really, really strong pre-market. Then I find like...and it didn't happen with VCNX on Friday, but what I have been finding is that by the time we get to the open, these stocks have already exhausted themselves so much that when we do get that first sign of weakness, we just move completely to the downside because everyone just starts to sell, people start to panic, we get that kind of excess supply, and then we just kind of go back to where the stock came from, right? So we've been seeing a stronger pre-market. We have definitely been seeing two times where stocks are really, really, really strong. And number one is around nine o'clock, closer to the open, when we get brokerages like Robinhood open up, but I mean, I'm not really sure now, like before Robinhood was like very, very insane, at nine o'clock we get all this volume. Now I find that's been kind of slowing down a little bit, but again, we've been getting a lot of volume closer to the open, and we've also been getting a lot of volume in the early, early morning at like seven o'clock in the morning market time. So nine market time and seven market time are two times where we have been getting a lot of kind of strength. Another thing is that the volume is still there.  It's so volatile, things are going all over the place, but volume is your friend if you're a long trader because the more volume we have, the more demand we have. But that being said, if we get a massive death candle, then I'm probably not going to be interested in the stock because even though the stock is doing volume, you know, the technicals just aren't there for that stock to rip, right? You know, and another thing, it's very, very easy to over trade in this market.  And it's one of those things where if you don't make enough on XYZ, then you try to make more on another and another and another. You can really end up kind of blowing up and not really sticking to your strategy. And it's really, really easy to over trade because there's so many things just running, right?   That can be a really, really toxic, toxic thing to do. And especially when you're up in the morning and I've talked about this in my other videos too, but if you're up a lot in the morning and you feel like you really don't want to give any of that back, then you probably shouldn't put that at risk, right? And for me as a long trader, what I've been finding is that if we have a very, very slow pre-market, that's that's a time where maybe at the open, I'll say to myself, OK, you know, this really, this really might be able to start to move or maybe because shorts have been kind of shorts have been kind of like having an active pre-market that we might we might have the longs kind of step in greedy shorts are forced to cover and we might get that move higher.  And I think it's just just really, really important that like you just make sure that you're that you're just getting in at the at the best entries and the best possible prices, because if you're not. Then you're you're just putting yourself at risk for for bad habits. When this market kind of starts to slow down. So for me, it's very, very easy to give back games. It's very, very easy to over trade. So every day you just need to just stick to your risk, not over trade.  You know, that's the best thing. And another thing that I've been seeing is that if you're a short seller, you know, the these moves have been going like insane to the upside, but also insane to the to the downside, right? And that's just kind of basic market fundamentals, right? The more people, the more over exaggerated the moves are going to be, the more crazy the moves are going to be, the more volume, the more abnormal it's going to be.  If you're a long trader, you just can't, you must avoid the backside. If you see a death candle, any sign of weakness, you just can't, you can't be trying to go along that because there's been so many guys who are like, oh man, but I like to long bounce backside bounces. That's like, no, man, like the odds are just not in your favor there. Like, like it, the market is such a trap where like when things aren't doing volume, you're always thinking like, oh man, like this is going to be the one, right?  This could be the next one. This could be the next one. But the thing is, is that we need a lot of volume to move these stocks. So on these low volume takers and on these ones, where longs are are are stuck, you just got to avoid them and you just got to say, all right, this isn't this isn't my ticker. I got to move on, right? Hey, guys, my name is Tosh Bradley. I'm one of the head mentors and monitors at my investing club. If you have any questions about getting started in trading, getting started in MIC, MIC in general, text me at<PHONE_NUMBER>. This is not a robot. It is me directly on the other end of my business line. And we'll get you in the club. We also have special promotions going on that I can get to you depending on your trading needs. Hit me up. Back to the video. OK, these are just some quotes I had that I really wanted to share real quick.  You get in a trade at five bucks and the stock goes to 590 and you're like, ah, proper risk management would dictate that you should just get out at your risk, right? But you have to remember from the perspective of someone who is under PDT, from the perspective of someone who only has like those three day trades a week. I live in Canada, so like maybe I screwed that up, but I believe it is three. Like, I mean, I should know this, but I believe it is three. But, you know, someone who has like a little amount of trades each week, right?  Like, man, I don't want to sell.  But when we reach a max pain level on every side, where every side is just, you know, exhausted and just is forced to cover out a particular area or to sell at a particular area, that's usually when the stock is going to move up again. And that's usually when we've kind of like either cleaned out all the shorts and now we can move lower because all our natural bidders are gone. We've cleaned out the long so we can move higher because all our natural sellers are gone. You know, those are what are kind of dictating the moves, right? When all shorts have covered and when all shorts are exhausted, there's no reason for you to be long anymore. And when all and again, like this this goes again, when when all longs are kind of washed out or all longs are kind of forced to forced to sell, then maybe that is a time where you want to get long. And again, I'm always a little bit more cautious on the long piece because we could be backside and really, really far away from the WAP for that to happen. In my opinion, I would just rather, you know, and again, I've talked about this in previous videos as well. When we get that kind of volume, maybe over a level and you know that a lot of shorts were forced to cover and you know that you do need to kind of sell into that excitement and sell into that momentum in those particular scenarios. I think that's where that kind of works very, very good and works and works best, right?  You could tell a lot of shorts had covered and then all of a sudden we got that backside move, right? So, you know, and I said like that move was clearly super emotional. So I wonder if most shorts have covered and now we will get backside. And again, I'm not saying that that is a clear top indicator. You always wait for the backside, but we're always just going about it, painting the picture, trying to collect as much information as possible. And again, I just pointed out that the best longs were on the hot check, you know? And I said, I woke up late. I saw everyone talking about this stock. I was able to make money just purely based off of lines and just identifying the right stock that I should be longing, right? And again, this is another thing that I just wanted to talk about briefly, is that you can have an epic support line, a great support line. But if it's not a high volume stock and if it's not a hot check stock, you have to leave it alone, right? Because more volume, more demand, stocks should go higher. But if you have a great support line and we're really not doing a lot of volume and it's not a stock, people want to be long and it's at kind of like maybe, maybe near the lows or it's a support line that no one really cares about. And we're not doing much volume. You should really, really just avoid that stock, right? Because the lines work, but again, like, yes, the lines work, but we want to paint the picture with them as well, right? You can't be trying to to buy a support line on an illiquid kind of low volume stock. You need to be buying the support line on the hot check, the strong stocks, the ones that shorts are trapped, right? Again, you know, those are the type of stocks that we want to be that we want to be longing, right? And a good way to gather information is the reaction on pops or dips. On the front side, we usually see dips bought up quick, telling us shorts are in trouble.  So and it's really, really funny. And I talked about this a video ago or so as well, where it's so funny how we never get that pullback that we want as a long trader on the front side, because shorts are so stuck and our natural bidders are doing their job. Bidding on the way up, right? Same thing as long by the time you get that backside dip, you know, it's not really, it's not really along anymore, right? So that's something that I also wanted to say as well. VWAP has been a massive indicator of the past few months because of the amount of volume. When longs get trapped, the move to the downside has been crazy. When shorts get trapped, the move to the upside has been insane. VWAP can help sniff out who is trapped. And Bao has mentioned this several times. I know Alex has talked about VWAP a lot as well, Tosh, all the mods. So again, you can use VWAP as a guide. The more volume, the more VWAP is going to help you because you know that there are a ton of participants and you know that once we're under VWAP, you know that one side is feeling the pain. Once we're over VWAP, you know, another side is feeling the pain. So that's just like one thing you want to do. Again, our job is to collect information, you know, and again, like we knew the, on SCKT, we knew the majority of volume was long by us. So what happened when they got trapped? We got our natural sellers. We got our panics. We got those people on every single pop, just selling. And again, the key to successful trading as a long trader is not to blow up on the backside. The key to successful trading is not to blow up and fight on the backside. And the key to trading as a short trader is not to blow up and fight on the front side, right?  I want to get that top tick. And then on the backside, every long is like, oh, this should bounce. This should bounce. This should bounce.   And so like, if you just did the reverse and did the opposite and say, okay, I think shorts are really trapped here. I'm just going to go long. I think longs are really trapped here. I'm just going to go short. You know, you have that kind of already, that kind of supply and demand in your favor. And if you just kind of stop out over high day or even as a long trader on that front side risk underneath that dip, then you're great, right? So thanks for watching guys. I hope that kind of helps, you know, go over my kind of thought process. And yeah, I'll see you for the next one. Thank you so much for watching our video. If you want to see more of our videos, please subscribe to our YouTube channel by clicking the button here. We do our best to post a new video every single day. If you have any questions about MIC or any general trading questions, please text Tosh using the number here. Also stay up to date by watching some of our most recent videos right over here.


Hey y'all welcome to what Chelsea eats. Thank you so much for joining me today. In this video I'm going to be sharing with you this cleansing fruit smoothie recipe for detoxification. If you're new here, welcome I'm so glad you're here. If you like what you see, please consider subscribing and hitting that notification bell So you never miss an episode and by the way I will be putting all the ingredients and the amounts of this recipe down in the description box below Let's get into the recipe As you can see for this recipe, I'm using very simple ingredients did that on purpose. So first we have a medjool date We're using that for extra sweetness. You don't have to use it if you don't want to the next ingredient is Pineapple, it's a citrus. So it's very detoxifying Citrus fruits are detoxifying I added the banana just for a bit of creaminess to make the Smoothie full bodied and then I added strawberries because strawberries are very detoxifying fruits So you can easily get all of these ingredients in your local supermarket at a reasonable price And last but not least is the water and if you want to leave it out, you can it just depends on what Texture or consistency you like your smoothie The next step is just to add all of your fruit to your blender. And as you can see I'm using Fresh fruit. It's not frozen. So it's easily Blendable so you can use whatever kind of blender you have on hand. You don't have to worry about having a high speed blender I put the water in this smoothie But you can also use fresh coconut water as well and that'll make it even more detoxifying And hydrating for your body. Look how beautiful that looks It's nice and creamy. And again, you can leave the water out if you like your smoothies a lot thicker There you have it the cleansing fruit smoothie recipe for detoxification If you like this video, please give it a thumbs up share it with everybody, you know And don't forget to subscribe to my channel if you like what you see and hit that notification bell So you never miss an episode if no one told you they love you today Chelsea in North Carolina loves you very much and thank you so much for joining me. Take care


Tilapia at the surface. Welcome back to the channel everybody and welcome to another tangle in Mexico baby in the Sinaloa Mountains on Lake Comedero. If you guys checked out the last video you know what Lake Comedero is all about and this is my third time down there. If you guys want to check out the lake and go visit those fishing adventures down there I'll link Ron Speeds Lodge down below but today we're out in the afternoon and tilapias are all the surface things were getting heated up kind of crazy and caught something I'd never caught before. It was super strange caught me off guard so I hope you guys enjoy it. Oh yeah and you may notice I'm standing next to a new boat here that's for another video but anyway it kind of looks like my last boat but just way better more awesome and we'll get to that in another video but anyway here's the crazy footage from today. We're doing an afternoon dangle right now trying to go after the big fish just having some fun first day first video where I fish with you guys figured out something that has been working throwing a swim bait throwing a spinnerbait out on the main points and secondary points right now we have a little bit of wind so I think a spinnerbait might be better but that's how the big fish are being caught. A lot of the small fish are the backs of the creeks they're close to the bank but the big ones they're like 12 to 15 feet of water and you got a chunk in wind slow very similar to the one we were here December switching it up this year with that swim bait it's been really good so hoping for a true giant a double ditch so let's get to winding cranking they're getting scarred down there oh they were just sitting right under them yeah there's a sorry little one came back oh that's a big it is a big it's either big or he's foul hooked oh he come off oh there's a lot of weight on there I don't know how many oh there's bite very very big bigger than anything I've ever felt out here what you're growing oh it's a carpa the carpa holy moly well that got me excited oh yeah I'll make a photo here let me get real in this marlin here oh my gosh it's a mirror carp okay hey come on Darren Mondo carps baby oh my goodness that got me pumped it felt so big so big that's my first mirror carp ever it's kind of kind of unique I guess well look at those soft little lips I would sniff you but you're just not the same gosh oh my gosh my heart got to the racing dude racing that's crazy crazy this I think these are rare right yeah mirror carp yeah she's beautiful man what is it is that rare have you ever seen that it's a little kid log on Jake whoa dangerous position right now this baby's baby's gonna flop these are good to eat you say is that I never felt anything I was like holy okay carp my first mirror carp crazy I don't know these are rare back in the States but I'm not sure they might be stacked down here in Mexico I don't that power in a carp it makes me want to fish for more yeah that was insane so when you say it was a big one I was like oh it's a big one and then when you say oh I never felt anything I did then my heart went from here to like my stomach the biggest fish I've hooked out here was like was like that for I hooked it and then it swam out and then it went under the boat and then I went like this and it bent the rod under the boat and I just got like a a peek of it it pulled out like the jig pulled out okay I think we need to try those points I've never caught one of those carp a mirror carp is what they're called I think it's a super cool catch got some great photos thanks to Stephen but I still want a huge bass that was actually on a jig I was flipping on a point and slammed my jig and then it bent the rod over and I just thought oh boy oh boy this is a giant we're moving out more main lake big spinner bait big swim bait just going big this is like a kind of a have fun day we already filmed a bunch of good stuff this morning and we're uh we're just trying to catch a a PB we're all out here trying to just catch a big fish fishing with Juan Carlos aka senior bass and Stephen it's been a good dangle we've had a good dangle together I lost about a seven earlier kind of made me sour that's big search your favorite curse word here I need a beer my heart rate got real high there and then it went down so fast man it was an emotional moment nope did you get a bite too let me get a bite that's where the big one should be but not him a big old chandelier they were sitting in like they were suspended in 12 and where the point was was like 18 oh my gosh knocked slack of my line rather tough dangle here this afternoon caught small fish but nothing big it's just the beer and carp man our last few uh we're gonna go to some point that uh our guy he basically said I should probably just take you home because the big fish are not biting right that's never a good sign see huge rock island right here I've got my little vlog camera out it doesn't do it justice the mountains and now you get to really see like the cool clouds and everything it's going to be an awesome sunset I think we're at a new spot it's probably where we're going to end our dangle for the day and I'm going to throw a top order water 73 actually and they haven't even really started spawning yet like big time spawning so I've got a big point behind us I remember last year I did catch a good one right there spinner bait and a jig so I'm going to give it a name deep well for all y'all that are wondering what's going on right now or new to the channel that is called Spanish and that is senior bass right there yes he'll be linked down below he does the Spanish speaking vigis on the bass internet he's the biggest there is so it's been really nice to have him in the boat so I can talk to the guy and share compare notes oh there's a little one didn't want to eat it Stephen come on Stephen be an eight pounder yeah is he pulling good now oh my gosh Stephen got a good one out here giving it a dangle I'm going Stephen heck yeah son heck yeah son see now now's my turn to take your picture all I've had you know what we gotta give it a oh yeah baby lando I'm no more here we go we're about to get a sexy photo Stephen first it was 523 and that was 423 the last one that works nice fish 423 awesome Stephen beautiful that was awesome dude that's awesome on the monde worm heck yeah thank you how about it let's end on that let's end on Stephen catching his first dandy out here on Commodero he's been working hard out here filming I love it all right let's go in boys that's a good way to end the day yeah agreed I agree agreed thank you we're done bueno trabajo also I'm the only one that does not speak Spanish in this boat so uh kind of the third wheel correction make that fourth wheel I know you guys were gonna call me out on that ridiculous beauty out here y'all forgot I mean it was a tough bass fishing day you can't complain you can't complain with the views sorry you do you're just not you're not fun you're not a fun person to be around and there we have it another beautiful sunset down in Mexico some of the most beautiful scenery I've ever seen on the face of this earth so far in my travels great way to end the day too with Stephen catching his first good bass down there in Mexico camera guys were working their butts off down there filming then we got a little chance to just have some fun camera guys got to fish a little bit and catch the fish so it was all good and I still want to know how rare is it to catch one of these mirror carp I just randomly caught one down in Mexico and this is my first one ever probably only caught like 20 carp in my life so I want to know from you guys have you ever caught a mirror carp how rare are they to catch and I want to say thanks to everyone that came out to the fun and sun meet up the other day I'm going to be featuring that video soon but thank you guys so many of you awesome fishing freaks out there I love meeting all of you guys okay one more video left on the Mexico series and then we're moving on to a completely different direction I've already gone on another adventure and it's just total opposite and it was a lot of fun too so stay tuned guys subscribe right here to the channel and I'll see you soon first and foremost I want to thank the legend himself the guy holding the camera the guy that needs no introduction for the emergency I had an emergency thank you super orange yeah I think too much sun and not enough big fish will make you sick this makes limping back to the lodge feel a lot better there's nothing like just a bunch of lures mixed in with nachos and some marks and they actually are good the trees are actually behind Peric over there they picked the limes and stuff


Welcome folks, this is Tom O'Brien of TFNN. We have five days a week, we go seven hours a day, we go 24 hours a day on the internet at tfnn.com. I always remember folks, whatever you think about, you bring about whatever you focus on gross, hope everyone's having a great day, safe day. It's making a great night, folks. Serve the one you love. Once you decide to be a couple, you're there to serve the one you love, to serve your love to your lover. And every kiss and every touch, you feel you're there to please the one you love without expecting anything back. Mugger the wise, let's take a look at it out here. We have the Dow Industries down 429, Nasdaq off 231, S&Ps off 67, gold. Gold contract up $3.20, traded at a price point of $17.84 an ounce. It's silver down 3 cents, $22.38 an ounce. Light sweet crude down 267, $74.26 a barrel. Notes and bonds, you get the 10-year note, trading up 16 ticks at 114, 11, the 30-year up a full point, plus 18 ticks at 130, 12, and King dollar. King dollars up 273 ticks, trading 105, 561, euros at 104, yen is at 136, the British pound, is at 121 to one US dollar. Sorry about that, folks. Our phone number's<PHONE_NUMBER>. It was Carl Folks. I know it's going on in your world. In the world of the S&Ps, let's take a look at them, what do you have? Well, we're going to have volume out here today, folks. So the steam engine is starting to go in a big way. So we have $54 million in the spy. It did 72 yesterday. That's only going to come in at 72, whatever it's going to come in at. You're coming into 74. It might take this gaps wide open. That's where we're going after. That's going to be 381. Right now you're at 392. We go to the NDX 100, the three queues that's getting closer to that gap. The gap inside the three queues, first we got inside the lower range at 293. Now what has happened is that now you're inside the range of 284. So it does two different things. So the way a gap works, folks, is this. A gap is the same as a swing point. So if this gap wasn't here, I would be saying that, okay, we're going to go down to 259. But the gap's there. So what you have there is that I suspect it's going to go fill that gap and that gap is at 268. Now we start accelerating with volume. We know, let me go back to the spy again, because what's happening, we know we have a much larger ABC structure on the way down. So we take a look at this. You're going to see how this was set up. So here, I'll leave this one here first. Because you remember, we had the ABC going up and that number, well, first we had the ABC down, which is still in place. We had the interday interweek ABC up, which was 411.03 and we hit 410. I suspect that's it, man. That's all she wrote. Now you go back to the ABC down. And now if you take a look at this, what you're going to see, we put this on a monthly, what you're going to see out here. Now let me put on a weekly first and see what this looks like. So on the weekly, we know that when we talked to our man, Mr. Steve Rhodes yesterday, this is about as clear as you can get, man. That trend line that's coming down. I mean, it's like, you know, I'm at Bob Rolfe's. It's like, okay, bottom line. This is the fourth, third time I came up to the trend line, gave it up, okay? So bottom line, we're going after the lows, but then if you take a look at the monthly, the monthly is a very large ABC structure on the way down. So, you know, we'll see where this shakes out. The first leg, I suspect that we are not going to go break the bottom. And the reason for that is that, and we go over to the weeklies again, is that because we did, and this is where Fibonacci is so cool, man, because the bottom line is that we did over a 0.618 retracement of, not that one, one second, of the last move down. So not the full move of the last move down. So if we take a look at this, let's just the last move down, what you're going to see, there it is. You're going to see that we basically got by the 618. So the cool thing about Fibonacci folks, expansion contraction theory is the aspect that when you understand the probabilities with the expansion contraction, it's like, okay, so picture we come all the way down. If you come all the way down and the volume starts dying on the vine, guess what, man, that's going to be the buy. If the volume doesn't die in the vine, what that is saying is that, guess what, man, you are going topside once again, it'll stay in a consolidation, it will build more cars for that larger ABC structure down. Let's go take a look at the gold market. So this is really tricky in the gold market. And, you know, with it in the gold market, trading actively in the gold market for 21 years now. So this is what the danger is. This is, you know, all you tigers and tigers is the ones that own gold stocks, you're going to know this upside down, man. And it's dangerous right now. Anyway, here's the danger pot. This is what it is. So picture, today we're up 350 and you have 120,000 contracts. Well, we came down yesterday with 170. Now that being said, all these gold stocks, right, acting great, but we know what happens with the gold stocks folks is this, is that they can act great, act great as the markets go on lower and then all of a sudden, the bottom falls out.  It's like, okay, we've come down dramatically, but yet the gold stocks have held really well. Well, that says to me, like I'm looking at them saying, man, I want to buy more gold stocks. I'll tell you just what's going on in my head. It's like, okay, hold it, I like this. I mean, the first inkling that I think this market could go up at all, I really want to go like crazy. That being said, I've been doing this long enough that I know that, okay, man, you know, we just right around the corner of a, boom. And guess what? I don't know, that's the bottom line.  You know, so then I go to the dollar and as I go to the dollar, the dollar's saying to me, man, this thing wants higher price. So we stopped putting that together. It's like, okay, if the dollar's going to want higher price, it's just going to be a matter of when that, you know, you get a downdraft in it. I know that institutions are coming in the gold market, for sure, okay, with 13 Fs have been filing, you know, they're accumulating right now. You know, you can see on some of these downdrafts, you know, then they're staying right where they are, man. You know, so bottom line, we'll see where it shakes out. Dow, Dow industries right now down at 462, Nasdaq off at 254, S&Ps are off 37. If we take a look at the volume characteristics inside the indices, that is also going to have volume. Right now you're at 511 on the NYSE. We take a look at the Nasdaq composite. The Nasdaq composite is 3.6. So the Nasdaq composite will end up doing like five billion. Stay right there, folks. Come back with our M.A. Mr. Basil Chapman. Dow, Dow's down 458, Nasdaq's down 252, S&Ps are off 72, we'll come right back.


Hello, everyone. Thank you for taking the time this afternoon to listen to me and learn about preparing for the product management interview. So, in today's session, I want to focus on how you go about preparing for the interview and including what you do before the interview, what you do, what you get a call. And I want to talk about aspects that may be obvious to you all. But I've seen in my experience that interviewers, you know, like when we share feedback, when we are interviewing people, I've seen these common mistakes. And those are like low-hanging fruits, I feel anyone can kind of improve on. So we'll start from there and we'll get into details. So, yeah, excited to be here. This is my first session. So please feel free to whatever feedback you have. I've shared my email in the end. So send your feedback or your questions, et cetera. So we can kind of keep on improving right now. Cool. Again, so thanks. And let us start. Let me get my presentation going. All right. Yeah, most importantly, right, like look at the disclaimer. This is, again, no way it should be considered as an official response from any of the companies that I've worked for in the past. This is purely based on my experience and whatever I have seen during my product management career in the last 10 years. And kind of a list that I have maintained by myself where I have either I have made these mistakes or I've seen others, you know, come at these mistakes, right? So it's just purely personal experience. And please do not take it as an official response of any of these companies that I mentioned. All right. So about today's agenda, right? So quickly talking about the background, we'll talk about what is product management like a quick one-on-one. I want to make sure kind of your level setting on what does product, what do product managers do. We'll talk about pre-work.  Like obviously that is, there's work that you would have to do in order to nail it. So I'll talk briefly about that. Then we'll talk about once you get the interview call, you know, what are the next steps and how do you use the pre-work in that. And then number five and six, honestly, nowadays, because it's pretty much like virtual rounds, right? Unless once like things open up, I don't know when that will be, maybe sometime next year where you'll have the on-site interviews in person, right? So but I think whatever we talk for number five will also be applicable to number six. So I hope and again, like if there's any deltas, we can feel free to reach out to me and then we can talk about that as well. Then we'll also briefly talk about the writing assessment. I know some companies do it. And again, it's kind of what you learn from all the points above, right? But it's just about succinctly conveying the points. So we'll talk about that as well. All right. So quickly, what is my background, right? And why am I here? So I have been in product management for the last 10 years and on consumer as well as enterprise products.  Enterprise is B2B, where often that I'm currently working on is a business-to-business offering. Even at Amazon, I was in teams where we offer, we were helping businesses. Similarly, so that's what I mean by that statement. So I have an undergrad in computer science and MBA in marketing for product management. Right now they said, I'm a group product manager at BACTA, which is into identity access management on the cloud. And I recently started, this is very recent. It's been a month so far. So I'm still learning identities, kind of a new space for me. Amazon, I was for almost four and a half years and I worked across various teams. Amazon identity, like that's the retail identity team. So every time basically you use your username and password on Amazon or any third parties like where you have social login, blogging with Amazon, blogging with Facebook, kind of a thing. So I used to do that for Amazon. I also worked on Alexa Shopping, which is voice-based shopping. So how do you reduce false positives? Because through voice checkouts, a lot of times orders were placed that the customer did not intend to. And for whatever reason, it could be the background noise or the kids are playing with it. So I was on the team, the PM for risk production on that. And again, the Amazon business is, I was the PM for acquisition and registration for Amazon business, which is nothing but a marketplace for businesses. It's Amazon, but only businesses can shop there. Prior to that, I was at CVS Health, I was the PM for personalization. They have a 70 million personalized members in their loyalty program called extra care. And I was the PM for personalizing their experience through your mobile apps, on-site websites, through coupons, et cetera. So throughout your shopping journey pretty much. And prior to that, I was in Sears and came out both because the platform, I was the post-order product manager. So anything you do after the order is placed, that journey, I used to own that. Prior to that, I was at a startup in Philly. So yeah, that's about me. So let me quickly talk about what does a product manager do, right? And why is that important? I think because lately, every company has a product manager and I've seen the definition change and different companies define product management role in a different way. So it's very important for anyone who's applying for a product manager role to understand what is the typical role of a product manager at that target company. And is it mostly execution or is it strategic? You hear that a lot throughout my career, I heard that. And it's actually tactical versus strategic. And I should be like, what does that really mean? So that's why those three questions are there. But pretty much it's like, if you're like a first-time PM or your junior PM, most of your work would be around execution. So the strategy is kind of being defined and then you're driving the execution. Not that that execution may have a strategy of its own, but at a high level company level or product level strategy, it may be not, you may not get as much exposure there early on. Again, like that star just says unless you're at a startup where you can do everything pretty much right. Then the other question I've seen people ask is how technical do I need to be, right? Do I really need an undergrad degree in computer science to be a product manager? So the plain answer is no, but it also depends on what kind of company that you're applying for. For example, let's say you have a role in obviously AWS. Your customers are developers. So you need to understand technology at a deeper level. But let's say you are in product manager for soft lines or for checkout page or things which are more business. Again, like don't get me wrong. It doesn't mean that you don't need technical expertise. It's just that you don't need as much like you don't need to code. You don't need to know how to code, etc. Even I don't think even for AWS you actually need to code. But because your customers are developers, it's better you understand what are their traits and what are their pain points, etc. For example, when to use an API versus an SDK, should you have, should you support that functionality? What SDK should you build for all OSs or only the OS that has majority of the population uses, etc., So yeah, and then that's, so you need to be technical depending on the kind of and then you have, as I was mentioning, consumers, businesses, enterprises and developers. So typically consumer facing products and even the products used by developers are very fast based and so AWS is an example for consumers. Facebook is an example, Amazon is an example, because you have to keep moving fast. There are certain hypotheses that you will come up with, you test those and you have to keep moving fast. And again, like the last point, just to reiterate that, like there's a lot of experimentation data analysis that's required to be successful in those roles. So just kind of an overview of what you need to look at when you're applying for that role and how do you do your research on what aspects are there. All right, so here what I've done and again, like I know I have a bias, you'll see that the sum of language overlaps with the way Amazon, you know, conducts its interviews or the leadership principles, etc. But I think I've learned a lot in my role there and then through the interviews I've taken and what I've tried to do here is kind of highlight what are the top traits that I personally feel a product manager needs to excel in to be successful. And I just list those down here. So the number one is ownership, right? Like there's no clear job description. You will do it all. Anything that no one else does, you should be willing to do it. There is no boundary of like, hey, that's not what I would do or that's not my role. It will be your role, right? From testing the software to talking to the salespeople, talking to end customers, talking to the PI teams to get data, everything like so you will need strong ownership. Secondly, it's a very highly cross functional role. And again, like the bigger or the larger the company, the larger the span of your impact. So you definitely need leadership qualities and empathy as well. And I say empathy because a lot of times you would want to drive product decisions and get stuff done. But there are genuine constraints. So it's not like one of the stakeholders is being difficult, but you need to understand what is that? What are those constraints and kind of go from there, right? Secondly, again, number three and number four are kind of related. Every time you start a new role, like for example, I started off right now. I don't know so much about the identity space. So I'm that's where I am right now, right? Just number three, I'm asking a lot of questions. And I've seen people have this fear of being judged because they think it's a sweet question or, you know, everyone else knows the acronyms that are being used in meetings and you try to take notes and follow up, but it's just a lot. So like use your judgment, but definitely ask a lot of questions to learn about, you know, what is it that everyone's trying to do? Why why you're doing sort of, etc. And I've seen like not many people do that. I mean, I used to be scared of asking those questions early on when I started, but I've realized that it's super important. And sometimes you asking that question kind of reiterates it for the others as well, right? And similarly, number four, like the five eyes is like deep, like you have to get really deep into why we are trying to solve this and like, so it could be like, Hey, let's say increase conversion, like why? Because then more customers will, you know, finish their journey. Then what? Why? Why is that important?  Then why is that important? Similarly, like, you know, you ask those five eyes and you get to the bottom of it for every question. The other, I think the other four are as, as you get seasoned and as you start blending into your own, you will see why those are important as well. But once you get one to four, you know, you kind of start when you ask a lot of questions, you understand the tech so you can stand your ground. You understand the tradeouts because you understand why we are doing something and what is the most important problem to solve? Similarly, how do you define success and how do you measure it? That also comes back to why we are doing this, like who's affected and what's the short term goal? What's the long term goal, etc. So always keep that in mind. And it's okay to be wrong. It's okay to fail. And it's okay to be critical, like be vulnerable about it and talk about it. Like, hey, I learned this, I failed in my experiment. This was my most important learning and how you apply that in the future. So, so make sure that and why am I spending so much time on this slide is as you think about your examples and your interviews, you should kind of try and talk about these aspects in your examples and, and then, you know, pick up like the top four. I mean, it obviously needs to be there, but you should definitely try and quantify these and say how you demonstrated these in your interviews. So let's talk about the pre-work a little and what I mean by that. So don't I've seen a lot of people stress about, hey, no, I'm not getting any calls. I keep applying and I keep getting the Jags and these automated emails, etc. So I mean, it's natural. I have faced that door in my B school as I was applying for internships and I kept getting rejected. But you kind of have to be persistent there. And honestly, it's not only for PM, it's generally in life, right? Like keep trying. And you do what you can do and don't worry about the things you cannot. So you can apply, but you can't be, you can't control when you get the call, right? But in the meantime, right, the pre-work is make sure you have a schedule so that once you get the call, you are like, you're not running around like, oh, what do I do now? Like, I have only like a couple of weeks and I have so much to cover. How can I, you know, it's impossible for me to do everything. And in that quest, you will not end up doing any of it correctly. So make sure that you have a schedule and you've done your pre-work so that when you get the call, you're ready. Third bullet is important too, as I was saying, depending on the type of company that you're applying for, they may ask different questions, right? So it's very important for you to know what are those questions? What are the types of interviews? And how are you going to be evaluated? And, you know, how to be successful in those interviews, et cetera. So for example, like Facebook, Google, Dorda, et cetera, they do focus a lot on case-based questions, at least early on, right? Where you last, you know, like, hey, how will you design a I don't know, washing machine or I'll think like that. Or how do you measure success of Instagram or things like that? They will ask you. But in my experience, I've seen Amazon would focus on behavioral questions. And that is the crux of the interview, like on the leadership principles. I mean, there are case questions, but they're not as frequent or they're not as many in that interview. So unless that role specific, like if you're, let's say, applying for a role for new initiatives, then yes, then it becomes super important how do you design stuff. So, but I'll say following the 80-20 rule, 80%, you just, if you get your behavioral questions right, I think you have a fairly good chance to get through. And in this session, I think we'll focus mostly on the behavioral part just because there's so many variations of the design questions and maybe we can do like another session or something. So this is again part of the pre-work I was mentioning, right? So make sure that you have a schedule. For example, let's take a developer, right? Like when developers are applying for interviews, it's not like they start preparing when they get the call. They do all their work beforehand, right? Most of it, at least they'll find time, they'll practice their algorithms, they'll practice their pseudo codes and, you know, the speed at which they're solving questions, everything. So it's not like by chance that they would crack that interview. Similarly, for product management, it's, you would be surprised how many people actually don't do this, right? And it's seen in your, when you give the interview that even though you may have like great background and a lot of passion, but just that you haven't spent enough time on preparing and so make sure you don't do that. Use your time wisely. How like, you know, again, this is just a sample of what something I would do, but feel free to kind of take this and tweak it and follow something similar. Again, I've highlighted the behavioral questions are just because we will focus on that. But again, you need to come up with a schedule and it's, it'll easily take a couple of months for you. So even if you're not getting the call right now, make sure you're practicing. Cool. Now what happens once you get the call, right? Yeah, you're all happy and you're like, Hey, yes, I can, I can crack it. So what do we do now? First, let's start with the first round of interviews. And typically in the earlier days, it was telephonic, now it's virtual.  So how do you prepare for that? So yeah, I can tell you how important these two questions are. I think a lot of people in my opinion that I've seen do not prepare well enough for these questions. And that also tells me that, you know, you're not very serious about your past experiences, or you've not thought seriously about what you've done and why you want, where do you want to go? So that's why I kind of listed this here. And no matter which company that you're applying to, right? Like it could be any of those companies mentioned before, or it could be any of the companies that are not in the list, but everyone will ask you, Hey, why don't you introduce yourself or walk me through your background or tell me about yourself, things like that. So make sure and we talk briefly about what I mean by this. And secondly, why do you want to join X company, right? Like Facebook, don't ask Amazon, why do you want to join that? And I've seen very generic answers here too, right? So I think the meta point being that spend enough time on these questions as well. It's super important. Yeah, as I was saying, that don't bring these questions. These answers also should have a structure. And that also applies to any other casual question, right? I think it's even more so important if you are a fresh college graduate, or if this is your first job that you're applying for as a PM, right? So you need to be, you need to convey that structure in every answer and how you've thought about, you know, your past experiences, how we were thinking about your future. And you just practice these two questions again and again, because they are, you'll be surprised, right? Because that's if that's the first question I asked you, and if you answer it in a very casual manner versus in a structured manner, you're kind of setting the tone for the interview, right? Like then I am going to be like, wow, this person is all prepared.  So make sure you don't win these. Let's take an example here, right? So tell me about yourself, right? Typically, people start reciting their resumes. And I think that's a blunder because they already have your resume, they've seen your resume. So you don't really have to go point by point about what you've done. So I would say that you should have a one line summary that talks about your career so far. Like you have x year or any years of product management experience, as I started off in the earlier slides, right? Yeah, you talk about your undergrad, talk about your preschool or your postgrad if you have that. If you think that, you know, let's say you're not an undergrad, your undergrad is not in computers or you've not in the master's, don't worry, you don't have to talk about it. But use your background to highlight things that matter in the job. Then talk about the last, latest role that you are in and any achievement that you have in that role. So as I was saying, I would say like, hey, I am a product manager for Lexa shopping, task with the role to reduce accidental voice orders. And then I would give an interesting fact about it or an achievement, like for example, Super Bowl commercials that have the word Alexa in it. Earlier, they used to kind of activate all the Alexa's of audiences that listening, then we had to come up with a design of how to, you know, stop that. So basically, how do you define intended versus unintended calls to Alexa, right? So that's something that that's super interesting. I get like, it doesn't have to be as fancy or something, but I'm sure if you dive deep enough into your background, you come up with some significant achievement, it could be like, hey, conversion from X to Y percent or, you know, a million dollar impact by the project, etc. Then other companies that if you have more than one company's talk about those roles, but don't spend too much time, again, I would just keep it short. And I would definitely talk about what motivates you. Like, you know, are you driven by enterprise products? Are you driven by consumer products? Are you driven by fast based environment? Are you driven by healthcare space, right? It could be anything. So find what really drives you and use it here, right? And don't say without meaning what you're saying, right? Because then it comes across as practiced and something that you're not serious about. So make sure and this is really to introspect and spend that time on understanding why it matters. Let's talk about the other question. Why are you joining this company? So I always break this into two parts, right? First, I'll talk about why am I looking for a job right now? So that means, you know, whatever I'm doing right now, why is changed so much important to me? And, you know, maybe because my growth has stagnated, I've learned enough, I want to try a new tech, I want to try a new space, blah, blah, blah, right? So that's the first part. The second part would be why am I joining this company? And then again, give a personal example that like, for example, if it's Amazon, you can talk about like how every time you place an order and the order shows up at your doorstep, like, everyone's like, I feel it, right? Like it's like, as if you're opening a gift, or you can talk about like how people in your life, they're everyone just so impressed by Amazon or they use Amazon similarly for Facebook or whatever company that is, I would try and use a personal anecdote, it kind of comes across as genuine. So yeah, so basically, if you see, right, like you need to spend time on these questions, you can't be not prepared on just core things like because you're making this world a better place or some generic answer, you make sure you talk specifically about why you are interested in that company. So let's look at what are the some, again, I think we touched upon this, but let's quickly look at this, what are some of the questions, right? Like depending on the company and the type of questions would change. So Amazon is going to focus more on behavioral questions or leadership principles. Facebook would be initial rounds at least would be product design, product metrics or goal setting. But however, no matter what company you interview with eventually in the later round, or some part of the interview will always be behavioral questions. And again, the tell me about yourself and why this company that actually that is, that is outside of this, that is always being asked. Like that's the first thing they'll ask you. So forget that. But even for the other types of questions, behavioral questions will come into play eventually, if not upfront, right? So again, we'll focus on the behavioral aspects. So what does that behavioral question look like? It's typically, hey, tell me about a time when you had to deliver a project, when you had no resources, you're dealing with it, or tell me about a time, you had a difficult colleague or you had to deep dive, you had to look at data to make a decision or you had no data to make a decision, etc. So you get the feeling, I think if you look at Amazon's leadership principles, you'll see, like, you know, what these kind of questions map to those. So there's a, it could be any of these are, so there's so many more questions than this, but the essence and the flavor is the same, right? So, so make sure you first understand what that question is. And there's also a lot of follow up questions that typically you hear that, hey, so like, for example, let's take the first bullet, right? Tell me about a time when you had to deliver a project with limited resources. So what did you learn from that? And what would you do differently? Things like that. So there will be follow up questions. So make sure you're listening to that. And again, how do you prepare for these examples, right? Like, so this is where even the pre-work, when you, if you've done your pre-work, well, this is more of a vision, right? So you should think about your past projects, like, and it could be if you're like, from a fresh out of college, you can talk about your internship. So you could talk about any other pieces of projects that you've done. And make sure that you take the time to literally write down everything. And so I personally follow this approach even today, right? If I'm interviewing, I will go through all my important projects and understand, write it down saying, hey, why was this done? Why was this project important? And I just start from there. And then you just start with, hey, well, what were you trying to solve? You know, why was, how was the project identified? Was it identified by the management or was it, did I identify it or the team identified using like customer feedback or data, et cetera? What was my role in that? So I start, I recommend that you do the same way. Think about your past experiences and just write them down. Like, why are those important? And sometimes I've also seen you may think that the examples are not that great, but the more you start thinking about the more you start writing about it, you realize, wow, you know what that problem that you saw was a really interesting problem. So make sure don't, don't ignore any examples. Yeah, let's talk about the framework, right? Like, I've seen so many frameworks out there, all the star circles, and I'm sure they're like 10 more. Honestly, it does not matter what framework you select, because it's not like your own answer saying, hey, let me talk about the star framework, and then you want to start your answer, right? I think what matters is that you pick the framework that it could be a mix of these, it could be something that you're comfortable with. And so pick that and be consistent. So make sure all your answers are like you follow the same framework. So make sure that your answer is complete. Again, irrespective of the framework, so you're talking about problem statement, and I have a special slide on problem statement, so we'll talk about that, but problem statement data, how you define success, learning, tradeoffs, etc. So no, irrespective of the framework, make sure you're talking about these. Now, this is so important. I cannot, like, if I had to emphasize one thing today, right, if the top three takeaways, this would be one of that, that if when I ask a question to be as an interviewer, I've seen so many times that the people are so anxious to answer it, and like they just write or you start answering it even before listening to that entire question, right? Especially at Amazon, you'll see that the question is pretty long, like there's a first part, there's a second part, etc. So make sure that you write down the question. And if you didn't understand it or you missed part of it, say it out loud again, summarize the question, and also write every follow up question, right? As I said, like, tell me about a time when you did XX, whatever, and then what was the learning and how did you measure success, and whatever, right? So what are the challenges? So write all of that down. And what that does, actually, that's two important things. One is you actually start, you make sure that when you're answering, even if you emphasize on one part of the question more than the other, you don't lose track of the other question. So you can come back and answer those, the remaining questions. And that is a big mistake, which can cost you, right? Because if I asked you what were your learnings, and you just forgot about that question, sub question, then obviously it's not a good impression. Secondly, I think that more importantly, when you write down the question, it also gives you a time to think about your answer and think about which example you want to talk about, right? Like, so you may have like five, six examples that you want to talk about. And you realize, let's say this question is about data, like tell me about a time when you had to deep dive in data to make a decision. So then you can think about, hey, yes, this is my answer that I want to talk about while you're writing this down, right? So make sure you use your time. And it's okay to tell the interviewer that, hey, let me take two minutes, let me write this down. So I don't forget. It's completely fine to do that. Again, like make sure your answer covers, we kind of spoke about this a little in the framework, but make sure you cover all of these aspects, right? The problem statement. I mean, it is one of the most important things that you will talk about. And again, like we'll talk about it for a little bit more depth, but talk about the problem statement, why the problem was important. What was your role? Like, were you the PM, were your data analysts, blah, blah, blah? Who were the stakeholders internal as well as external? What was the approach taken, your trade off challenges? You learned something, then you had to change direction, et cetera. So state all of that. And what was the outcome? So again, this is the data, talk about how you measured it and how were you tracking it. And then any learnings or any interesting anecdotes that you can talk about. So you can back up your story that way. Yeah, that's our problem statement. So yeah, this is one of the most important aspect of the interview. And I've seen, I've seen kind of contradictory advice here outside, where people say, hey, don't try to hold too much on the problem. Make sure you're talking about the solution. But I actually do not agree with that, right? Because let's say if your interview is 45 minutes long and the meat of that conversation is going to be in like 35 minutes, with the first five minutes for introduction, last five for your questions, et cetera. So you have enough time, right? So you don't have haste and 30 minutes is a lot. So make sure that you level set and you give the proper introduction of what was this company that you're part of, especially if it's not a well-known company. Like how big is it? How many customers? What is your title? And then talk about why that problem was important. Like how did it affect the company? How did it affect your team? How did it affect the customers? And I think it's okay to spend time on clarifying that, especially if you are in a space which is slightly initial, let's say identity, right? So I'm going to talk about identity access management, let's say in my interview on Facebook in two years from now, whatever, I'm just making this up. But I can just start talking about like here, how the token exchange happens or where is it stored on the cloud, blah, blah, blah. I have to make sure that I level set and I talk about like what happens behind the scene, why is identity important, and why the technicalities that I'm getting into are important, et cetera. So make sure you spend time on that. And whenever possible, talk about data, talk about numbers, talk about conversion, et cetera. And again, be mindful that the data that you're quoting or any information that you use is not confidential, right? Because that again is a big red flag. You want to make sure it's not confidential. If you're unsure, just treat it as confidential. I don't say, you could just say that increase conversion by double digits because I'm not sure that data is public. So I don't say anything. Just say that out loud. The interviewer would appreciate the fact that you are cognizant of it. Then again, the other part of your answer, right? Like you talk about, sorry, there's a typo here, forgive me for that, but clearly save your role versus the role of the team, the eye versus retrap. So you can talk about, I've seen this again, like this is something I've seen so many times and certain cultures, especially, can't, you know, there's this, we have seen especially on the East Asian side, a lot of times I've seen candidates use we instead of I, even though they may have single handedly done that, right? So make sure you don't fall into that trap. Wherever it was you, be very clear that it was you. Wherever it was a team, tell about the team, even then you should talk about what was the distinction between you and what the team did, et cetera. And again, talk about, you know, these are things I've seen people ignore. For example, if you know someone left from the team, like your development manager left or your manager changed or things like that, right? Personal changes happen all the time. And people don't seem to talk about those in the interviews because that does, it's a factor, right? As a leadership and empathy, it's definitely a factor. So talk about that. And then talk about your hypothesis as how you came up with it, again, role of data, wherever possible. There are cases where there's no data, like, for example, Alexa shopping, I was mentioning it had no data because there's no competitor out there, or we haven't done that for the, for a long time. So there's no data. So that's purely hypothesis, your test and you kind of move forward. So make sure you state that if there's no data, why there isn't. And then talk about trade-offs, talk about how you learned what you learned. And it's okay to be vulnerable and say, you know what, I maybe assume things which I shouldn't have, or I did not involve a stakeholder, but I should have involved a stakeholder that would have helped me prepare my hypothesis is a hypothesis in a better way. So show that vulnerability. You don't have to be like, hey, you're like, the best, you know, you can fix all problems, like, because no one's that way. So make sure it's all natural and you talk about your mistakes. And in the end, obviously, summarize your answers and make sure you answer all the parts of the question. So that's where that writing comes into play. Mark interviews. This is so important. Again, I think a lot of people just take it for granted and don't do enough of these. Take written feedback, practice with friends, your fellow applicants, or whoever can help you. Take written notes. Don't write all your answers. Even if you do that, I'll make sure you anchor it back to the main question that was asked. I'm sharing my email. I definitely want to help. But again, it's time permitting between my job and other duties, but happy to help. Quickly, let's talk about the writing assessment. Sometimes you'll get the writing assignment and it's very similar, like, tell me about the time when you had to work on a project that was X or Y or whatever. So it's, again, you'll cover everything that we spoke about, but keep your sentences short and clear. And there's so much, like, if you Google, I'm sure there's this article that's vital right now that talks about Amazon's style of writing. But it's super important that, you know, you keep it short and clear so that you don't lose the reader, add data wherever possible. Don't add graphs, pictures, even if they're important, not the appendix. Use direct speech. Don't use indirect. And all last point to multiple iterations. Like you see, I have typo, even if I did, I have done two iterations. I wish I could have done a third, but I didn't. Anyway, so you will see that there's always a scope for improvement. So make sure you catch all typos and do multiple iterations. Well, in the end, I'm just like to say all the best. And I'm happy to help wherever I can. I intend to publish some of this on my Medium blog as well. So follow me there and email. As I said, time permitting, I'll be more than happy to help and answer any questions. Thank you so much, everyone, for your time and wish you all the very best.


Okay, are you good to go? Okay, so we start with the second part, which is about visual and layout testing, again with Appium. This is a bit different than the first part. This is less about presenting how we do things at Carousel. This is more a look into this field of testing with some ideas. I'm going to present some frameworks that can be utilized for that, so it's more of presenting ideas and giving you some thoughts to further look into. All working demos, but it's not as full-fledged as the framework you've seen before. So basically it will be three parts. First, something, yeah, some very simple use case. So basically instead of finding an element by very complicated x-path expression or CSSID, I want to put it simply, I want to do find that picture. Because sometimes we don't really want to care about locator, we also don't care about how big is this image. We just want it to be on our screen. We also don't care where is it and whether it's a pixel perfect match. So for example, some banner, some third-party logo that we need to show is it there, something like that. There are a couple of use cases where this could be interesting. And there is a testing framework, probably some of you have heard about, Sikuli, that does something like this, like a visual aid for test automation. And I looked into that. There is an Appium integration called Sikupium. It's like some GitHub project. I thought I want to share it. And then I looked into it and tried to make it run. And it's like two years, two years old when the last change was done. I can share the project. It's basically integration of Sikuli that does this image recognition test automation in Appium. And it all sounds nice and well. The problem is it doesn't really work or I spent the better amount of a weekend trying to get it to work. It's not been maintained. So it doesn't really work with the newer versions of Appium. It uses OpenCV for image detection. And there is probably just one combination of versions of Appium and OpenCV that would make this work. So I thought, actually, what do we want to have? We want to have a lot of possibility to find images on our screen, whether it's a phone or browser. And since Sikuli uses OpenCV, I thought, why not integrate that directly? So the test case, maybe this time we start from the feature file. The reason why this is only Android is because only Android has this little icon. So what we want to do is ensure that on the Stack Overflow app, this icon, which is icon to ask a question, is visible. So we have feature file for this. Given I am on the home page, I can see they ask a question icon. So then this links to, oh, sorry. And I actually done a little bit more just to demo that it's not like matching the picture pixel by pixel. I have the icon itself. I have a blurred version. I have one that's like slightly rotated and one where the image is distorted. And then just to double check, there's one icon that should not occur. There's an icon of Facebook. So I'll show a bit more code here. So we can also define a threshold. So for example, I think the default is I put 95%. So 95% match. For the ones that are slightly more distorted, you need to lower that. Otherwise, it wouldn't match. Actually, I can show you the images so you get an idea. So that's the original one. It's tilted by 10 degrees. This is, I think it's some lens filter applied. And this is some Gaussian blur. So getting back to the code. It's a very simple, short piece of code that uses OpenCV. OpenCV is, I think, a C library. But there is a Java version that uses JNI, a Java native interface to be able to call OpenCV. That's basically just a main dependency you need to add and then you can use it. There's not a lot of code that you need to detect an image. Some very simple, cheap trick to detect it in multiple sizes. We could do something more sophisticated, but this works surprisingly well. So you look for the image in the original size. If you don't find it, you scale it up by a factor, search again, scale up more, and then you do the same scaling down. And this is a very naive approach, but it works perfectly well. So in many, many cases, you don't have to come up with anything more sophisticated. There are other frameworks you could use. There's something called Image Magic that can do similar things. And there are some frameworks who can do a size invariant template matching images on your screen out of the box. So this is more of a proof of concept. So let's run this. We actually run it before because the stack overflow features for Android ran all the tests. Let's see on this from here. So this is the scenario. Cucumball has a very nice log output. Given I'm on the home page, I'm looking for this icon and you can already see found with match quality 0.95 something, 9288, and even the very distorted image, still a match of 75%. So it's probably safe to assume that this is a match. But in almost all real life scenarios, you will have matches well above 90%. And it should also say, yeah, the Facebook icon is not on that page. So basically how it works, like Selenium web driver can take a screenshot of whatever is on your screen. And then I use OpenCV to do image comparison. This is not a very big feature, but I think it's something in certain scenarios that can come in handy. You just have this one element you cannot match any other way and you need to make sure it's present or you need to can also click on it afterwards or interact with it. And instead of using a different framework to achieve this, just a little bit of code you can easily integrate it in your existing Selenium or Appium solution. Do we have questions? Yeah. Sorry, sorry. One and then two. Okay. Do you have any APIs for like OCR support OCR? Not sure about OpenCV. If they support OCR, there are other frameworks that can do it. I don't have a demo for that. But it's, it would be a logical extension of this. Just haven't done it for this demo. I am just going to ask that. This guy can't recognize. Sorry, we are recording, so we need to use the mic for the questions. I got scolded during the break. Is this can recognize the color? It's also configurable. I think by default it's using grayscale. So the question was what I can show. No, I'm sorry. I didn't prepare this part. But the framework is very, very strong. So there are a lot of features. So I looked at the documentation as possible to do. So again, this is more about showing options, showing what could be done. But no, there's no demo for that. Sorry. Next time. Any, any more? Actually, how does the image matching works? Is it like it will match in any point of any part of the screen? Or do we have a control where and say like I want to match the image at this particular position on the screen? Is it possible to add it as a session? Yes, yes to both. So OpenCV tells you exactly on which, where it found the image. So it such as the whole, the whole screen, the whole screen that you give it. It gets a bit tricky when you do the scaling bit because then you have to scale back the coordinates. It returns you, but it's, it's very well possible. So it returns the match, the quality of the match and the coordinates where it was found. And then you can do assertions also on the, on the coordinates and say, I expect this image to be there. It needs to be extended a little bit, but yes, it's possible. So I just got it that it will check that it will resize the image. It will distort the image and they'll compare it with the original screenshot to see that where it is. Okay. So if I want to check the image is not distorted, can I check it like using this technique? Because internally it's resizing 10%, 20% and then distorting and then comparing it. Yeah. We're not resizing the, the image itself, but the screenshot. Okay. So the original image stays the same. Yeah. If I want to see that the UI is not distorted, the icon in the UI is not distorted. Yeah. Can I do it? Then you would need to make sure that you have the icon in the same size as the screen resolution. Yeah. Yeah. So it's possible. It is possible because we, we think it a little bit. Again, the, the algorithm to do the scaling is more for demo purposes than anything else. So in your case, what you need to ensure is you need to control the size, the screen size, and then you have the image in a size that matches that. Then you can check for 100% match. Yeah. Okay. Thank you. Anyone else? Okay. Let's continue. So in another use case, it's very common and I know a lot of companies use, it's called visual regression testing. The idea is to have a baseline. So I defined a carousel login screen on, I think that's Android. Yeah. Looks like this. And every time I encounter the screen, I compare the two images and see where it differs. And you can already see here that is a bit tricky because sometimes it's only a few pixel off and it's already marked as a difference where there shouldn't be a difference. Obviously there is a username. There's a password. Okay. That's, that's clear. But the other differences are very subtle. And then you have to take care of that. You have to have a threshold, how much, if it's just one pixel off, we're still accepted. And then the things you wouldn't consider at first. So for example, obviously you have to ignore the time, the battery and the signal strength of your network. And for some reason the keyboard is different. That's all like these small things that make it a little bit trickier. So for this one, what I want to show, this is the only not pure open source solution. It's called aptly tools. That's a paid third party service for visual regression testing. The reason I chose this one is because it's very simple to integrate, easy to show and give you an idea of what this concept is about. But there are open source tools that do basically the same thing. You can also integrate with the Appium. So let's have a look at this. Martin, one question here. So instead of taking the whole page, can we take the screenshot of username and password session and just come here? Yes, this is also possible. In that way you can get rid of the battery, signal and everything. Yeah. Actually, I can show you right now. This is one approach. The other one is to ignore certain parts of the image. So for example, for this, this is actually the splash screen of the app. I say, okay, this part of the screen I'm not interested in. Please ignore. And aptly tools called aptly tools, eyes has a lot of other ways to do things. I can ignore region is what I did here. You can have define a region where you only want to evaluate if the layout matches and not all the pictures.  And to be honest, I'm not an expert with aptly tools. It's just again to bring across the general idea. If anyone wants to try it out, I'll let you play with it some more. But the basic idea is you have a baseline and every run you check against that baseline. And when there's differences that you don't expect, you fail the test. So for this one, what I've done, I've been talking about the page object pattern we use for our test framework. And in our case, every page extends a base page. And that's the location where we put this functionality. So this is the template measure we saw in the example before. And then this object is aptly tools, eyes. And so the base page just gets a method that's called check window. And it does the check and then returns itself. And the reason why it does that is because then you can do something like check. Yeah, for the login. So I just changed the step definition. I call on the home page, page object, I call check window. Then the aptly tools check runs. Then go to login, check again. We come to that in a moment. Then I perform the actual login. And then I check the third time. Once maybe let's run it. And then we see the result. And this is again just a simple change in the configuration file. I want to enable this. Let's just double check. Yeah, and write. So the test should look about the same. Might be small. The only small difference is it takes a little bit longer for the framework to take the screenshot and send to to eyes, aptly tools eyes. Another thing you need to configure is the you get an API for the for the framework. I'm not going to show you that, but it's also just a configuration. So if we look at the log, it should, oh, it's obviously not going to work because it's the wrong example. Let's go again because it's a carousel after all. So we wouldn't be too happy if I don't show any demo with our own app. Sorry, wrong one. So you can see in the log file already, this feature is enabled. So performing check on that class. That's also the key which aptly tools then uses to aggregate the screenshots. What you need to do before we start a feature. There is a cucumber hook. There's some initialization and basically says if aptly tools eyes is enabled, then you have to call open on that object. And as a identifier, I give application name and the platform. So once the test is done, I can just go to my dashboard. Okay, we have a new run for Android green, everything passed. That was the baseline and that's the result we got. So for example, if we, let's remove some of these ignores, then we'll see that this part doesn't match. And here the same. And for this one, we have to, we have to ignore, for example, this banner part because that's some other, that's changing the promotions or different different ads. So the same again, this is demo for Android. I have a demo for web, but I'll spare you guys. This one works again across all, all platforms. And don't get turned off too much by the thought that this is a tool you have to pay for. There are open source alternatives that work the same way. The nice thing is you have this dashboard that already comes out of the box. Otherwise you would need to, to build something like that. Okay, any questions about this before we move to the, to the last bit? Almost there. So we already mentioned before, some use cases, this works very well, but there are some limitations, especially if you look at the last example, the last two, like on carousel, you have all, all listings. I think Amazon search results or stack overflow results. If you search for, for something, it's a bit hard to do a visual testing here because what can you really test because you have to exclude all the images because they're different. You have to exclude all the descriptions because they're different. So in this example, you could probably just check the header, which is not very useful. Okay. So maybe there's something, something better we can do. Well, let's consider a different approach. It's called layout-based testing. Well, that's how I would call it. And there is one framework I just learned about very recently. It's called Galen, which happens to have Java version. You can, you guys can look it up. And very nicely integrates with Selenium and Appium. Last bit I'm going to show. So if you have Galen, you have a specification of your test case. We'll need to use an additive syntax highlighting. So it's a bit similar to how we defined the, um, locators previously for the, for the test framework. Galen, they're called objects. So I said, this is my username field is my password field. And I want to identify it by an X path. Maybe now you get an idea why it's a bit slow on Android. And then you can define how you expect the layer to look like. Again, very simple. I want the username field to be above the password field. I want it to be vertically aligned the same as the password field. I want it to be the same size as the password field. I want it to be the same size as the login button. So for example, let's look at the, at the app once more. And this is Carousel. I'm already logged in. Let's log out. So very simple, this text field, this text field, this login button. And this is the description of how I expect the layer to look like. And if we have a quick look at Galen framework, this is probably the guy it's named after. That's the language guide where you can see what you, and just give me a quick overview. You can have a look at that yourself later on. Basically, you can define that certain elements have to be near to each other. They, you can define that by pixel. You can define that percentage below, above, left, right, inside. Like a button has to be inside a specific container, has to be centered or positioned a certain way inside a container. This is all things that couldn't be easily achieved with other forms of visual testing. And you can also do some things that, here we have the alignment example. You can also do some things that you would usually use Selenium for where you check the text. So there's a lot to automate with Galen alone, even if you don't want to use other features of Selenium. So let me show you how it integrates. And again, pretty simple. So the base page gets another method. This one is called check layout. I could probably be refactored a little bit to be even nicer. But basically you find the spec file, which by naming convention, I put in the same package with the same name as the Java class dot spec. And then call Galen check layout on that. And Galen just needs the web driver and the spec file. And after the feature is completed, I'll aggregate all the results and put them into report. So let's run this one. Disable the other one. It doesn't take so long. Don't worry about the exceptions known back about taking screenshots, which I probably have to file with the guys developers of Galen or maybe find a workaround. But everything else works. So test again is successful. And now we should have a report somewhere as nice HTML report tells us exactly which checks have been performed on which fields. And let's try to to break something. So you see that as well. And let's run it again. So now we say username field should be should be visible below the password field, which obviously doesn't make sense. And we say the width should be 90%. And we change the text here as well. Let's run it one last time. And let's hope we get some errors. As we see three of the tests failed. So the only thing that's not working yet, as I said, I have to figure that out, usually would have a screenshot that tells you exactly things don't don't match. And even this report is quite helpful. And you can do a lot of tests that are hard to do with other frameworks. And functional tests, what usually do with Selenium and Appium only go so far. If your layout is screwed up, can make your app or your web application unusable for for human. And Selenium might still be able to access it. Even though it looks crazy because all the elements are there. It's also important that they're at the right place. This is why where Galen comes in handy. Now we have tested with only login page spec for one device, right? It's the same format, it will not be same for the another device, if the resolution may change. So is it possible to manage the different spec for the different devices execution? Like in case of parallel, is it possible to manage? So the question was different specs for different platforms or for different. Yeah, it's possible. Again, for demo purposes, we don't don't have that. You need to, I think Galen supports that out of the box within one spec file even. Wouldn't need to look up the details. But it's a very common use case. So they should cover that. Again, for different platforms. Now is a simple approach, just different files and different packages. But it's the same. We have the question with the JSON file for the locators. Same here. You can combine it into a single file. I'm pretty sure Galen would support that. To be honest, I need to look that up myself. Martin went question here. So let's say we baseline the image with iPhone 5s. And if you're running our test against iPhone X, since there will be a difference in the screen resolution, will the test fail or pass? Depends what specs you defined. Specs that check the distance between objects by pixel, it will probably fail. So you need to have different specs for different devices. Just simple test like we have here that one element is above or below another one, or they all the same size or they all aligned the same. That should not depend on the screen resolution. I see actually we specify the object identification for Galen. So can you go to Galen spec? Yeah. So should we specify the objects specifically for Galen or can we reuse the ones we defined for the page objects? It's also a good question. If we decide to build that in to our framework, we need to discuss that here at Carousel. Then this is definitely something I want to look into how we can reuse it because now you're defining it twice. One way could be that you define them in one place and then you have your framework generate the Galen specs from a JSON or from property files or from whatever we use. There is no out of the box solution because the way we do the locators in our framework is our own solution. So Galen obviously doesn't support that out of the box, but it's easy to build something that can generate the Galen specs from what we have. It's also for for later stage. If we would want to make this production ready, it's definitely something we need to do. Yeah, I have one more question. So here Galen, what information will take from APM comments? I mean, what we need to ask the parameters actually, apart from the spec internally, how it will. So what do you need to pass from Galen to APM? Yeah. So basically the Galen comment the spec, right? How it will depend on the APM? Galen, you pass Galen the web driver that you use with APM and you pass the spec. These are the two things it needs. It just uses the same web driver used for the rest of your tests. And this way, the web driver has the capability sets or which device to test against and all these things. And that's that's apparently all that Galen needs. And the spec you pass the location to the spec. Okay. Same information we can see from the XML when we do inspect the elements as per the device, right? In the XMLs, we can see the all the spec information. So I thought maybe Galen also depending on the same XML file. When we try to capture the object properties from the Android or iOS, they have their own APM also have the inspector tool. So when we do inspect the element, we can also see the same properties, how much the width it has. But we don't see the information internally clearly the how much width it is, the gap between the one component to another component. So they just wanted to see maybe offline session we can discuss on this. Okay. I'm not sure I understand the question completely. So is it about where to get the locators from? Correct. So how this Galen will talk to the each and every object property and get the values or information from that object? Galen talks using the web driver. Where we can we can discuss the details afterwards. Any other questions? Just building on top of this. Is there any way of integrating the results that give chance out into your normal test? Because if you see your test actually passed, I'm pretty sure you was backing on the login test and running this side by side. So these failed and that basically passed. So is there any way of integrating the test reports together? Yes, there is. Actually, the Galen demo makes the test fail if the layout doesn't match and just disable that. If you just want to pass or fail, that's quite straightforward. If you want to integrate the results, that might be a little bit more difficult if you want to know within the JUnit test what exactly failed. But if it's just what a layout is good or not, that's a standard functionality. Okay. So I think, so maybe just two links to share in the end. So this one everything I've shown. I put a little proof of concept demo on GitHub.  Yet another Selenium wrapper, as if there are not enough. So it's mainly for demo. But if anyone wants to try to use it, contribute to it, we're probably going to use that internally for Carousel. If anyone else wants to contribute, please feel free, have a look at the demos, see if there's anything that could help you in any way. So it's all on GitHub. The first part of the presentation that's already on Master Branch and released, you can just integrate it with Maven. It's on Maven Central. The other bits with the visual testing that's on the branch, you should also be able to find it. Because it's not that state. If you have any questions about it, just have my name cards with me. Just contact me. I'm glad to help. And finally, I already mentioned before the break, Jam has set up a Slack channel for our Appium Meetup where we will announce the next meetups. And we can also use this for other discussion to stay in touch with each other and really try to build a QA and testing community in Singapore. So thanks all for coming. I hope it was, you've heard something that is useful for you. Thank you. Hey, thanks Martin. I think I have learned a lot of new things today. I think you guys also learned. I hope so, right? How are you? Cool. So a special thanks to Carousel for sponsoring if the food done when you. And Satish, thanks for recording the video. You know what? The first part of the session is already on YouTube. And I will share in the Slack channel the link to that one. So it's been uploaded to engineers.sg. So you can have a visit and you can find the video there. So just let us know if you would like to, if you want to take a presentation or if you want to share about your experience with APM or mobile testing. So we can sponsor you the venue to talk about that. And if you want to conduct the meetup in your office space, then that also possible. Just let us know whether your organization is okay to go with medium at your place. So once again, thanks everyone. So just one final thought before I forget. I also want to say thanks for, yeah, for Carousel for having us here and for everyone who organized it, Charlotte, Shyam for the help and Satish for all the technical setup and support and get to know to have someone where you don't have to worry about tech failing on you. So appreciate that everything went so smoothly. Thanks a lot. And a special thanks to Rifa. Rifa just, Rifa and her team flew from Jakarta to Singapore to just attend this meetup. She's the organizer of Indonesia Software Quality Assurance Forum. So that's quite active forums in Indonesia. Thank you, Rifa, for joining us. Yeah. Then maybe.