Hamlet Batista, CEO, RankSense Automating SEO with Python

Friday April 19, 2019 2pm - 3pm MST

Watch on YouTube:YouTube

Hamlet Batista, CEO RankSense

Hamlet Batista Python for SEO evangelist shared his open source tool to automate the inspect URL tool in Google Search Console. He also shared insights gleaned through using python to automate processes. And Lastly we got a glimpse into how his tool, RankSense can help a resource starved team, compete in real time using the best in Agile methodologies.

Show Resources

Some of Hamlet's Recent Published Articles:

Show Transcript

Hamlet Batista 0:07 when 90% of SEO was black hat, so you can imagine that I was unfortunately part of the group. So I'm a reformed black hat SEO. If you Google my name, you'll see aside about meeting innovators, you'll hear a little bit about my story, my backstory about ranking in the first page of Google for competitive terms. So my background as an affiliate marketer led me to be really, you know, I take SEO from a different approach, I'm more looking at it from the performance perspective, because I've come from an affiliate background, so I'm all always looking at what are the things that move the needle, so I'm not super, you know, I love the technical side of things, the you know, stuff that gets me excited, because I'm a tech guy. But it only makes me you know, really excited if it actually is technical, interesting, but it also makes a difference in so driving revenue. Right? So, so yes, that's kind of like the background. I'm so the backstory on my company. You know, I in Dominican, I try to launch a software company. That guys always been my my passion to build software. Yeah. And unfortunately, that fail. And I saw that I saw an opportunity to, because one of the things that I saw that limited my my ability to make that a success was that I was based in Dominican Republic. So that's what I went on the motivations to move here, and fill in the all the gaps that I was missing to make it a success. And, and so far, based on the feedback that we're getting so far, sounds like we're in the, in the right track right now. So excited about it to share a little bit about what we're working on.

Noah Learner 1:47 Cool. Do you want to let's let's dive into the tool, probably at the end, depending on how much time we have left. Does that does that work? Yeah. Awesome, do you. So the thing that really caught my eye when I read your article is that Jordan and I were experimenting with Google's Indexing API, and we built a cool tool. And we quickly came to realize that it only works for two types of content. It's only gonna work for live streaming jobs. And Google's super clear about that they tell you what to expect. They say it doesn't work for any other types of content. But um, so we were frustrated. And then when I saw your article, I was like, oh, man, that is so cool. We got to get him on the show to talk about this. So do you want to share your screen and dive in a little bit to it and maybe talk about? I mean, when we went over yesterday, a couple things that you wanted to go over, I think we're installation operation, just to kind of take us through it so that people can see how to play with it.

Hamlet Batista 2:48 Yeah, yeah, absolutely. Sweet. So

Noah Learner 2:51 so I think I need to stop sharing. And then you can start actually, I'm not sharing so can you hit hope? Sorry. Try now.

Hamlet Batista 3:09 Yeah, so let me

Noah Learner 3:15 give me once.

Hamlet Batista 3:33 Sure. Can you see my screen? Sure. Can. Yeah. So.

So basically, it is an open source tool. Right. So you have the link here. The backstory is an article that I published on Search Engine Journal. I think that's the one that you that you are you. So if I haven't left here. So latest one that I published. So basically, what I'm doing is I'm taking the the URL specter in Google Search Console. And and I'm automating that, it looks like there is some new vulnerabilities, some interesting stuff on learning with this open source idea. So So in summary, you can you have the URL inspector in Search Console, and you have, you don't have an API to be able to automate it. Right. So you don't have these API that you can, you know, pull data, you can use the Google Search Console API to extract keywords, performance data, from URLs pages, you have a few other options, but you don't have this API to pool to be able to interact with this with a with a URL specter. So I have an engineering background. And you know, I can figure out all the ways that you can go around that. And one of the ways that we do is, is with the automating the Chrome browser, right? So once and let me let me explain the steps. So if you go to my open source repo repo repository, right, you can download, clone down, download the file, I had to do it on this computer, I haven't tested it. On this one, I forgot my laptop. Okay, there's meeting. So maybe some things might not working right away. But basically, you download it, which is what I did on this computer, can create a new development directory, make sure that this is big enough. So you can read it, you can see it.

Essentially, I downloaded the zip file.

And once you you zip it, and there's going to be the files, the same files that you have on the on the repository base, open source, and you have all the information. So before you launch the tool, you need to make sure that you installed the dependencies, the libraries that the tool needs to run. And that is in that is included in the file requirements. txt. So when I tried to run it, I face a challenge because there was a, there was a library that wasn't really required. Kaunda, which I just deleted it and updated it. She's few tried a new phase, the error now we should be able to work. So So basically, you asked, you have to install Python three. Okay, so the first requirement is there, you know, you have to install it. I've only tested it on Maxim, I need some changes for your computer. So here is some article, but how to install Python on your computer. Right? Make sure the Python installation is there, there is some option, which is the condo installation makes it simpler. Okay. After you install Python, you you run this script, which called PIP three or pip install and minus our requirements. Okay. And you run this, I already run it. So it's gonna be me see why Oh, Pip, I just have to run PIP in my computer and this one,

Noah Learner 7:41 because you had already updated.

Hamlet Batista 7:44 I use the wrong. But you see, it's already satisfied because I already run this script. So once you do this, you have everything you need to run the script. Right. So now the script is an interesting combination of Python, JavaScript, and changes three, right? But I have the script. Now to run it, I just do Python, right Python, and this directory, and URL inspector. Automated p. p ye.

That's it. I ran it.

Okay. And then that's the tool.

Right? super simple. You run and you. So let me explain what you're seeing on this interface. So here is where the script will save the password of your when you launch the tool into Google Search Console. So I click on launch chrome and debug mode. So let me show you what he's doing. Because this is, it's a showing you that you're going to be a few screen screens. But basically what it did is is a launch the Search Console, he launched the browser and open the Search Console page, he wasn't able to login into Search Console, because I already have already manually saved that user. But when you do it for the first time, you have to manually login into your search console. For the user password, save it. And he's going to save it not you know anywhere else, but in your computer. And he's going to be in this directory, this directory is a custom chrome profile. So basically, because I use Chrome for my own usage, you know, I don't want this stuff to mess up with my regular Chrome. So I create a separate profile, so that Chrome will save the password there. Got it, right. And so you see, so I'm using Chrome for other stuff. So you can see what the script is doing in the console here. To CSS selectors loaded, I'm gonna explain what that is. Yeah, launch Chrome. And this is the parameters that we pass to Chrome that you're going to in the article that I wrote for Search Engine Journal, you will know what the what this this mean, right? It's open in Chrome and in debug mode, which allows us to manipulate Chrome, right? And there's passing the directory. So the trick that the script does, in order to be able to connect to Chrome with Chrome is, is that I save when we launched Chrome, I save the output from the chrome from the chrome spit, it spits out into a txt file. And then in the in the in the app, I read this file to read this, this the URL in a set. So you read I read this is the URL that allows the app to connect to Chrome, which you know, it will populate it dynamically here, she's connected. Right? So the app, you have them explain a few other features. Do you guys have any questions so far? And what what I just...

Noah Learner 11:07 want to say just in case, because we dove in, we went in deep, very quickly, like the real benefit of this is that you don't have to manually sit there and watch the tool run, wait for to inspect a URL, give you feedback, and then give you an option to submit it to Google. This tool automates that process. And it basically allows you to not have to babysit the tool as it runs 30 seconds to a minute for each individual URL that you want to submit. And that's that's the crazy cool part of it. Do you want to put some URLs in and we'll test it?

Hamlet Batista 11:42 Yeah, yeah, absolutely. So

Noah Learner 11:44 did I did I? Is that how you think of it too?

Hamlet Batista 11:46 That's exactly yeah, that's exactly right. And, and my idea with this is, and the reason why I'm sharing this is, I really want you guys to get involved, and figure out all the things you can use it for fix problems, file boxes, all the things, I want you to be using it, I want you to face problems, you know, open tickets, open, open issues that you have, and I will be happy to, to help you. But I want this to be a community f4. And this is just one use one use case of this capability of being able to automate the Chrome browser. But any task that you can do in a Chrome browser, you can automate with the same approach. And that's, that's, this is kind of like a proof of concept of what you can do. When you automate the browser. I mean, just when we have this pretty cool know, you gave me a great idea, say, What if we can, instead of having to manually input the URLs, like we're going to do now? What if we, what if we pass him as a URL, a CSV file? So if you output those URLs for a third party tool that you're using, right? What if we can, you know, pass them on from the tool and don't even have to interact with the interface? And that's something that it's very easy to? Do I have time to do it? Yeah. Don't put the time to just better capacity configuration parameter, you know, upload the tool, you know, and run it. I think there is somebody somebody's asking in the chat. You see that?

Jordan Choo 13:13 Yeah. So Renee is asking, does it only does it work for all URLs? Or do they have to be indexed already? Know,

Hamlet Batista 13:21 the idea is that it should be it this will tell you if the URLs are not index.

Noah Learner 13:28 Yeah. And that drop down in the top right is like the money dropped down? The do nothing where it says Yeah,

Hamlet Batista 13:34 exactly. Yeah. So that's exactly. So yeah. So Renee, that the idea here is that you have a list of URLs, you don't know whether they're index or not. And the tool will tell you that it's index or not. And and let me explain a lot of some of the other functionality is that this pull down that is hitting us you're saying is that? By default, you said, Okay, I only want to know they're index or not. But you can say, Well, if they're not index, what do you want to do with them? Do you want to test them live, where you want to submit them? Right, you want to do the test live with the submission. And here we add the what criteria the tool will use to determine if the pages index or not. And the default criteria that we're using, and some of the things that I'm thinking to improve is that I want to add more than one criteria. And that's just we use one just for for testing purposes. Right. And after we run it, you know, the tool will also populate a table with all the information that we're collecting. And you can explore that information. Right. So that's the idea. So let's do you have Oh, I mean, Ron's

Noah Learner 14:54 thing that that we have to mention, which is sort of like just, you know, one oh, you know, Google Search Console one on one is, all these URLs have to be inside the property

Hamlet Batista 15:06 that you have, you have to have control over the over the end, you know, you have to have control over the property. Exactly. Because one of the things that the tool does is you can lists URLs from different domains, but all of them they have to be in the in the same property. And we and the tool will sense essentially change. Let me see, why do I have to?

Close while?

I should, I didn't closer.

By so let's give it a try. So fish doing the work.

So look at that.

saying this is saying that he's resetting the home to home to rank sense. Right? Look, how is running the inspection? Right? I mean, look at this is a beautiful thing. Look at the output, extracting the information. Right? This is live. Look at that. Now he's running the second URL. Right?

Pull the information, boom, done. That's it. Pretty cool. As simple as that.

Jordan Choo 16:30 Very cool. Now how much I know Noah has, has actually uploaded Screaming Frog into the crowd into the cloud. So I'm curious. Have you ever tried uploading this into the cloud where it can run on just on a continuous basis? Or have you only tried it within your local environment?

Hamlet Batista 16:49 Yeah, it's not you can run it on anywhere. But let me let me warn you that there is there is a quota of how many pages you can check. So it's not something that you can, oh, I'm want to check a million URLs, I'm gonna check in 1000 URLs, you know, you first of all, you're logged in into your search console account. And Google limits, they have a daily limit pair property. Because what I was testing this, I obviously hit it, right. So when I was testing actually had to change from my website to clients to be able to test some of this stuff, because I run out of my quota for my rank sense. So So I don't know if it's going to be something that is going to be practical to be running around the clock. Because it's not something you want to be checking a bunch of us, even if you say, Okay, I'm gonna launch a bunch of instances, is per property, the, quote iceberg property. So they, they, they we set it on a daily basis. So I think this is more of, do you have a set of pages that are money pages, right, you have products that you don't know that there's our best sellers, you see the indexing rate to you see that you're missing 50 of them, you don't know which one they are running through the tool, in a sense, instead of manually typing them one on one at a time, gonna say you can actually go in and, and make the change. Right. But let me let me show you this, right. So I saw I run the test on these two tools on this tool URLs. And look, look at the results. Right? Put it putting the results here, in a set the URL inspect, you get all the information. And then you can also export it. Right.

And you'll do the export.

And you have it

Jordan Choo 18:35 right Hamlet, when you were hitting those caps, what were they per day?

Hamlet Batista 18:41 I don't know, if I were to guess, because I was not tracking them. I'm probably spend some time to track them. And and know how much they are? Sorry, but I think probably 500 very similar to probably what you had before, when you do the fetch and fetch and some, you know, the the fetch and rent, you know, the fetch and render, you know, submit to index had a cap before. So I probably think that they have the same thing.

Noah Learner 19:08 I just quoted 200 to 500, because the Indexing API had that as a as a daily threshold, I think was that 200 number? Exactly.

Hamlet Batista 19:17 Yeah. Yeah, exactly. So. So yeah. So that that's the idea. So let me

let me show you with a URL that is not index.

Right. Let me try to find one.

So I can go to the coverage.

And look for a page excluded.

Noah Learner 19:47 It's a pretty interesting how much content you have hidden.

Hamlet Batista 19:57 Yeah, that's a good one. So let me try with this one that is supposed to be excluded, because he has an alternate canonical tag. So let me let me add this one to the list. Right.

And let me show you what it does. So by default, do nothing. But I said, Okay, I don't want you to do nothing. If it's not index, I want you to test the live, which is, I could do the test live where I could do a summit. Right? And let's run this. Right.

Okay, let's see if it works.

Okay, cc inspecting.

Okay, not index.

Okay, you see, it's gonna let test life you see testing life?

automatically. Beautiful, right? Is it waiting 80 seconds now, because you know, this takes a little bit more time, by default. But now, because they met the criteria that we defined, right? of the page is not index to this. Right. And as I said, this is just a proof of concept. It only took me a few days to put it together after because, you know, and I'm just showing you this. So you see how much powerful how powerful this stuff is. In a say, you don't have to be an angel to go to the stuff is waiting for this. So you have to wait for the 80 seconds to laughs and might be able to figure out a better way or somebody can figure out a way that we don't have to wait for the timer. An expert on this stuff. But you know, she's just a primarily a proof of concept. Oh, my goodness.

Sorry, this.

Right. And as I said, You know, I hadn't installed at all these computer, just download it.

Noah Learner 22:21 Sorry, guys.

Hamlet Batista 22:24 So you see, it now is finishing the other two pages, you see. So we finished waiting for that. That's live test. And I run the other two that we have done in the past and the first run. But you see very simple, very straightforward to download and install it. I want to spend a little bit of time of give you some ideas of how you can extend it, because that's why my primary goal is not just to show you what I've done, to say, look, what the tool did. It added the URL that was not indexed, because it met the criteria we specify here. We added a here. And, you know, the Iran the test that you asked for? And you see, you see me

Noah Learner 23:12 post the result of each one to a web book.

Hamlet Batista 23:15 Yeah, I mean, you could do that's what I want you to I want to show you how you could do that.

Noah Learner 23:22 Like me.

Hamlet Batista 23:27 I want you to do that stuff. Right. Yeah, that's it. That's it? That's the idea. Right? Yes. See, the tool does what is what is advertising to do, right? Give the list of URLs. We should to the search to the Indexing API productivity of which type of pages you want to consider not index. And why do you want to do if they're not index? Sorry, that they're more motion activated? And you do the if you want to submit it, you want to test it? Simple, very simple. And now let me show you that you will think oh, that's, that's a lot. That's going to take months to put it together. It's a lot of work, blah, blah, blah. Not even not even close. Let me show you. Right? How many lines of code these has very small amount of code. So do you see my screen? Share? Not sure if you see that. So first of all, I see more people asking questions in the chat, make sure that you're checking them. Yeah. And, yeah, that's a demonstration of a tool. Not sure if there is any other questions related to it.

Noah Learner 24:42 I just, they're asking where to download it. I don't think

I added the link from git hub for them,

Jordan Choo 24:51 which will will also be sending this out after this chat as well.

Hamlet Batista 24:56 Yeah, but I wanted to show how powerful and simple it is, I want to spend some time it's just that I've been super crazy bc I'm gonna spend some time to create installers for Mac, you know, windows, stuff like that. I'll spend some time on that. But I just haven't had the time. You see, I haven't touched it. In four days since I released it.

You only have time during the weekends to the coding.

Yeah, you were gonna say that you notice what I'm sure.

Noah Learner 25:22 When I went into Search Engine Journal, I think everybody, it's worth your time to jump in there so that you can see he released. And if you don't do a ton of Python, but you're like trying to figure out if you should get into it. There. I think he released like three or four articles same day, and they talk about, or Hamlet talks about how to get started with Python, how to build out a files, how to how did it was all your dependencies in requirements. And it's interesting how you built this tool, exactly like the way that you said how to Exactly,

Hamlet Batista 25:57 exactly. That's exactly right. Yeah, yeah, it wasn't this saying that I'm writing a monthly column, you know, for, you know, Search Engine Journal, I also write for Search Engine Watch, I had an article come out today. And I'm just working working on my article for this month for Search Engine Land, which is going to be using the SEM rush API is going to be really interesting. So, so yeah, this is, you know, just showing you that this is accessible. This is this is not just, you can solve your problems, a more creative ways more efficiently, faster. And I mean, think about it, you start showing your boss that you're doing this stuff, I mean, you know, your race is going to come really quickly because this amazing stuff you can put together. So So look at this, how many lines of code, right 132 lines of code. And that's with a bunch of comments. Because sometimes I tried different ways to approach things. And I commented out when they didn't work. So I say, Okay, I might figure out a different way. 132 lines of code, that's the, that's the code that connects that manipulates the browser, connects to the browser, inspect URLs, you know, resets the homepage for the, and this is executing the action that you want. Right. So it might seem intimidating, a little bit. But you know, you can spend an afternoon or two to learn Python, learn what these languages. But this is so accessible and so simple. And I said, you know, I'm not saying that it's not frustrating, I'm not sugarcoat it. But it's the way if you like playing games, if you have play, you know, video games in the past, it feels like kind of like the same way, when you have to struggle developing skills, but when you gain them, it gives you superpowers, and then the game becomes a lot easier. It's very similar, you know, experience that you get when you start playing with this stuff. So very few lines of code here. This is the this is the code that manipulates the interface. Insert. So I'm using a library called pi cutie cutie for people are you are Python, but are used to the command line. This is also very simple look at how many lines of code here to 74. And a lot of that is repetitive stuff. So just building up the interface of the and interacting with the interface primarily. So, you know, it's very accessible. You know, and, yeah, it's not really difficult. And let me tell you, the other thing is that the interface, I use an editor called pi pi Qt editor, I think UT editor or something around that is I don't have any stolen these computer. But basically, you visually see these things. Same thing that I'm seeing on the on the app, I see it visually and I drag and drop the elements that I want to have in the interface. So it's super simple generates this file. The

Let me see where the file is. Oh,

Noah Learner 29:17 here is puppeteer pythons version of puppeteer.

Hamlet Batista 29:20 Yes. Cool. Exactly. Yeah. So this is the interface file, this is generated by an editor with the dragon develop better. So I put that together. Right. Now, the more the more interesting things is that I'm combining JavaScript, and Python to be able to automate the browser. Right? So I'm injecting JavaScript into the browser to take the actions the extraction, or the clicking, right. So the this is the clicker. This is an example JavaScript, that does the clicking. And let me tell you that I'm not I don't know, I've nobody little of JavaScript, I actually have to Google and learn a little bit about JavaScript, the difference between Python to be able to do this stuff, so. But it made a lot more sense to use JavaScript because I'm interacting within the document, the DOM, yeah, object. So this is an example script function that will perform the clicks in a chat, find the test life element, and click it find the request indexing element and click it. And that's it. I'm just driving a base, I'm passing an action. Right. Now, this part, you know, I beginner will not be able to figure it out. Because it's a, I had to figure out how to address elements in the HTML, but without use in class IDs, or element IDs, because if the HTML changes, then the ad breaks will be breaking all the time. And that's what you see, I launched this. After a few days, even if Google made a lot of changes to the HTML, I was still able to work. And the trick that I use here is that I'm not using the IDs, which I had to use in the article for the Search Engine Journal, because I wanted to keep it simple. I was just oh, you can copy and paste, you seem to own the browser, you can copy the selectors, to, to make it simple to make it easy to understand. But to make that an app, that wouldn't be breaking every time you use it, or that you have to go in edit the editor selectors all the time, I had to make it more resistant, more more robust. So in order to do that, instead of looking at the IDs of the HTML elements, I'm looking at the copy of the content of the element, I'm saying, Okay, this is unlikely to change often. Because here's how the content is described, it is a description of the elements, I'm using the description, the visual description of the element as the anchor that I'm using to find what I want office, but I want to find, now you know, that's a capability that is not supported by default in the chrome selectors. So I had to use x path, which is now also not natively support it. So I had to create these rapper function to be able to create this capability of adding next path to my script. Now with x path. I can

Noah Learner 32:30 stop for one second Hamlet, pause. Sure. We're diving in super deep, which is

Hamlet Batista 32:38 sorry, I get too excited about that.

Noah Learner 32:40 But no, no, stay where you were. But the thing that that I think that people need to know is that the theme that I've taken away from watching you speak and reading stuff that you've put out, is that you tend to gravitate towards outcomes, razors, illusions as often as possible. And you go as simple as possible to get to the end outcome that you're trying to get all the time. And you make things simple versus hard. Which is really fascinating. Exactly. Yeah. And I know, it's like I'm saying that as we're looking at stuff, they're really complex to some people. But

I love that you try and keep it simple.

Hamlet Batista 33:24 Yeah, because because it's if you make it a few simple because my goal is to get all the people to get involved, right? So if I make it too complicated, and something that you have to have a PhD to able to do it, right, nobody's going to do it. So that's what I want to make sure that it's super simple, right? But what I'm saying is that even though I'm showing you that it's very simple, coming up with a simple solution, it's not easy. And that's where you have to be able to understand all the possible ways to solve the problem to find the simplest one. Yes, that

Noah Learner 33:58 I totally get it when I watched how you were going into the next path to grab the selectors. I had tried to do something similar in the old version of search console. And of course, I'm sitting there with the inspector tool, and I'm like, shit, there's no class. There's no IDs. Exactly. Yeah,

Hamlet Batista 34:15 yeah. No, that's what I wanted. I was so

Exactly. That's what I wanted to dive in. Because, you know, one of the you know, what is the advantage of that? Right? So the advantage is, these files shouldn't be there. It's the wrong one is that all this stuff that I was talking about is the difference between having a selector that looks like this. So look at it, look at this selector, you look at this crazy selector to Yes, together referring page crawl date. Yeah, good. This crazy selector. Oh, my God, right. And I had to come up with two versions for either pages, it indexes. One exists indexes and other that was what I could come up quickly just to put together the article. But now that I had a little bit more time to put together the tool. Look how I replace these referring page crazy book selector. This is the version of the referring page. Yes. You didn't say it yet go to four and simple, right. So that's what I was talking about, that all this stuff about the Xbox and all that stuff that I mentioned, allow me to simplify and make a simpler, shorter selector reshare. To read easier to understand. But also something I don't have to be changing all the time, because there's going to be more hard, it's going to be harder to to come up, you know, for for the pace to change so that it will that it will break in a set because this is anchor in the text in the description of the of the page.

Jordan Choo 35:42 When you came up with these x path selectors, were you using Chrome dev tools? Like what was your process of finding them?

Hamlet Batista 35:52 Yeah, that's a good question. So basically, what you do is you can, it's very simple, you say, Okay, I want to grab this, you do inspector Inspect Element, right? Okay, let me put this and I love it in the bottom right. So you put it here in the ball. There are two ways you can you can test the x path. You can use, you can do a search. Right, let's do this one, the referring page, right, I can just take this and do a search in the elements. And and you'll see if you see chrome would say that you can actually type a next path. So look at this, boom. Wow. Very cool. Use it. So

Noah Learner 36:41 goodbye, Express.

Hamlet Batista 36:43 Exactly. Yeah. But you, if you look at what I did is, I just identify the father, right? And then I say, Okay, how do I, how do I grab the other element? I need this, right? I'm anchoring on this. So I said, Okay, what I'm going to do is I'm going, I'm gonna head up to the path to the Father, right, which is what I did here. I said, Okay, I'm gonna get the parent. Okay, look at this, I went to the parent. And now that I, I went and started here went to the parent. And now let me drive down again. But I'm going to go to the second element. Yeah, you see that? Yep. So. So basically, you can build this stuff this way to say, you grab whatever you want. And you say, let me step. Let me step back one step up, right can be a parent, it can be a sibling. And then you say, Okay, I'm going to now that I got one back up, I'm going to go go down one step. Super simple. And now I have the

I have the other element that I want.

Noah Learner 37:52 Okay, can we, I want to, I want to dive into a little bit about how your brain works. If that's okay, get out of the code a little bit. Okay. And specifically, I want to know how you combine the concept of Agile with automation. And we talked about this yesterday, about what an agile process looks like how you have a hypothesis, you then execute, you then have a feedback loop. And then the whole cycle starts over again. And we talked a little bit about the feedback loop as the spot. Yeah.

Yeah. automate. Can you go deep on that?

Hamlet Batista 38:33 Yeah, yeah, absolutely. So basically, I apply agile, you know, in, in pretty much everything I do. So when I think about agile, Ryan, I'm glad to Renee joining us because we're working on a fantastic white paper on agile SEO, you know, she's really passionate about it. And we're going to be I think it's going to be a great white paper when putting together on that. So basically, agile is about flexibility. transparency, right? there and accelerating results. So, so for me, the feedback loop is the most critical and the and the and the most important thing. And anything that you do, having a feedback loop is super critical. So it's so critical that for me, for example, there are things that I don't do, for example, you don't see me speaking at all conferences, or applying to or chasing investors or doing this a bunch of stuff that a lot of people think they take for granted. And it's not that I don't that I'm concerned about getting rejected, is that if you reject me, and you don't tell me why, for me, so waste of time, putting a lot of time in doing something that if I fail, I don't even know why I fail. For me putting that time is I just wasted it. Because if I spend my time on something that I know why I failed, or at least I have a sense of what I fail, then when I try the next time, I know what to avoid, I know where to improve. And that's the same decision that I make in everything that I do, right? When I'm going to implement something, SEO, I need to know up front, what metrics I'm going to use to learn whether I'm successful or not. Because just trying things because somebody says that they're smarter than that's great. Some people might be fine doing that. For me, I don't want to be doing stuff that I don't know why it didn't work, or why it worked. Because I can't learn to apply that to other things too fast, if that's the case. So I'm always optimizing for learning. I'm always optimizing for everything, you're going to have hundred 500 failures for every once every success. But every failure have to show you things that you shouldn't be doing. If you don't have that feedback loop, you're wasted. So why agile, we spend a lot of time so as SEOs would spend months going through a bulk audit, going through a lot of stuff globally. Now a lot of recommendations were the feedback loop is delayed by months. So you have to wait, you know, for the audit to be done for the recommendation months to learn what works and you won't even know if you were successful of all the stuff that you that you recommend that what made the difference. So so that's why I love the idea of being able to experiment quickly learn from every incremental change that you make, either, you know, when you're writing, when you're doing when you're writing software, when you're implementing SEO recommendations. That's everything around how we operate with it. I want to know, from everything that I want to do I want to know, immediately I want to feedback. If they fail, I want to know, okay, fail because of this. Does that make sense?

Noah Learner 41:56 Yes. So can you can you share? So there's two things that's going to lead us into your tool. And for those of you who are listening, please know this is not a paid thing, or anything. It's just Hamlet share the tool and I was blown away with with what rank sense can do so I thought it was worth sharing it. But can you get us into the KPIs that you like to focus on as you're experimenting? And what what matter as like True North KPIs for you, and when you're doing SEO? And which ones? And I know rankings are just vanity, but which ones do you really, like hone in on and which ones are garbage?

Hamlet Batista 42:36 Yeah, so I want to share an article that I wrote for, it's very simple, because as I say, we're performance driven. So these are the four key KPIs that we track for an SEO for performance. These are the levers. So rankings is important, you know, and clients are going to be asking about rankings, you have to report them. But I like to look at metrics that I have control, I could look at leverage that I have to I can pull and I know, all this metric, I know how to improve it. And this is very simple. I look at four metrics, you know, search impressions, right? click through rate, sales, conversion rate and average order value, which is very similar to the metrics that if you're managing, managing pay search, those are typically the same metrics that you track, you know, I don't see pacers teams, you know, tracking the position of the ads as a key KPI that they're tracking, because they're not measured by that they're measuring by this revenue and sales, which is typically which is the typical case with us as well. So search impressions are technical KPIs, right? How do you get the site to get more search impressions, you get more pages to get effectively index, you get more pages showing up in the organic search results. That's how you get more search impression. So all these technical duplicate content consolidation, all this stuff that you're doing is going to lead to more pages showing up in the first place in the organic listings are ranking higher in your organic listings, because you're improving their reputation, you're consolidating duplicate content. So that's the bulk of the lift that we accomplish for clients with a lot of pages. That's what they see. Right? And then after you do that, you address the technical changes. So you have the other lever, which is the click through rate, how compelling the search snippets are, how do I you presenting the right messaging and the search snippets and that's another thing that we do in the world, we do a lot of a b testing to find the most effective and personalized messaging. And similarly, the conversion rate is also making sure that you are the quality of the traffic is high that you're sending really relevant content, relevant traffic to the pages. And, and there is also related to the snippets and, and how accurate the information you're providing, you know, and in the search results and when they land on the pages. And similar with the average order value, right, which is more related to incentivizing people that plays nice, large orders to, to come to the site. But those are the key KPIs with our clients that we have ongoing. consulting relationships apart side of the software, we have this quadrant, where we have we try to have a few projects on each one of these key KPI so we say okay, we're doing these projects to affect this, this KPI we have doing all these other projects that are going to affect this or the KPI, and so on and so forth. So that we know all front, how we're going to measure success, how we're going to learn from it.

Noah Learner 45:30 I think it's it's super cool. And it really mirrors how we focus on driving SEO at our agency. The again, it's like that outcomes razor approach. I know there's more layers, and there's more data that you're looking at. But it as long as you can focus on a few key things that you know are going to drive results, then you get the lifts that you're looking for, right?

Hamlet Batista 45:53 Yeah, yeah, this is a high level top level overview we go in, we dive in granular Lee, because as I said, I'm I'd like to first, you know, see the higher picture, the bigger picture, understanding how we're going to drive things. And then we drill down to probably have a few dosing KPIs that we track randomly for from each one of this, and that we can use them for different uses. But we try not to overcomplicate things. And, and so that we don't miss the the forest for the trees for you know, to say that.

Noah Learner 46:23 I was just checking out the time we don't have it. We don't have a ton left. Do you want to get into the tool to show? I think the coolest piece is the fact that you can remember you were showing me all this stuff about tagging, and CSV imports. I thought that was just off the hook. Yeah, yeah, absolutely. And so people because I don't think everybody understands like how it works and how it interacts with cloud flair, etc.

Hamlet Batista 46:50 Yeah, yeah. Yeah, exactly. So basically, this is our app and cloud Fleur. So it has a component, which is a real time monitoring. But the main thing is that we can patch problems quickly in cloud. So we have three main issues main use cases, which is anytime that you need to implement changes quickly. That's the use case for our app, if you need something to happen fast, because he's an urgent problem that can wait because you're going to, if some mistake or a problem that is going to cause you to lose traffic, it's, we want to make sure that you have our app so that with a few clicks, you patch the problem, you get the alert about the problem, and you can patch it. The other thing is when you have this capability, that you can make changes without having to make code changes in your CMS, you want to, you have the ability to learn from your changes. So those that's what I think is the second you know, what you're mentioning, the second exciting part of what we're doing is not shows that you have the ability to make changes fast, make them incrementally, not in an agile way, but also that you can learn from them that you have this feedback loop, that what you're changing, is going to be effective. So if you have 100 recommendations, you test them first in class, learn from them. And then you can actually, when you have your IT team implement them, you say, hey, look, you know, I was before I was gonna give you these hundred things to do. Now, you only need to do these 20, because I've added them with this rank since doing cloud for and only these wants made a difference. And that's what we and we do this with tagging. So essentially, what the way works is, we are apps, you can integrate it with Google Drive, you can get notifications in Slack, about problems. But in Google Drive, what you get is you get sheets, you can have this, if you're familiar with Google Shopping, you have these feeds, where you put up you can make these changes, you can import feeds into Google Shopping to update the ads. So we a similar thing for the SEO tax. So you can create these feeds with in Google Sheets with the changes that you want on the titles, descriptions, he wants can articles, whatever changes robots, txt. And you can import these changes into our app. But more importantly, than importing the changes, we have the feeds, right, is that you can tag the changes. You tag all these feeds, you organize them around tags, you say, Okay, this is, you know, this changes are designed to address duplicate content. That's the problem. And the solution is, you know, we are, you know, consolidating duplicate content with canonical or redirect. And this is the pages that are affected, you know, saying the products, the categories, whatever, now that you import that change into our tool, and make the changes quickly and cloud flight without having to make the code changes in the back end, you then you can learn from the impact of the changes. And you what are the impact of the different tags? You said, Why were the changes that made the difference? So I think that's where the feedback loop that I was talking about before.

Noah Learner 50:10 And a couple things so you can track the changes, you can then push changes to the dev team. And you can also you were We were talking on Twitter earlier today about how how the changes persist or don't and how, how they where they are in relation to the user and the cash. Can you go into that? Because I've gotten that question a couple times.

Hamlet Batista 50:37 Yeah, yeah. And thank you for the question. I actually, I submitted the I added a frequently asked question to the to the page, so that, you know, the so that they that that answer will be there in the in the update when they when they add it. So So basically, the way that the app works is we make the changes on the fly. So any changes on your back end are going to be reflected immediately are going to be reflected immediately. Because we're we're we're patching the page on the fly. And we talked to page before it hits the cash in cloud flare, right. So if you make changes in the origin, and the origin server, they're going to be reflected on the app. So our changes persist, because they are done on the fly all the time, on the pages.

Noah Learner 51:41 And can you go into the bot monitoring? Because I thought that was super cool for people who don't have access to their log files?

Hamlet Batista 51:49 Yes, yeah, exactly. So basically, the way that our monitoring works is that we track over 2400, different crawlers that are already visiting your site. So a lot of times, you don't know that you have all these crawlers coming to your site, because you only see the visitors Google Analytics, and the Search Console, you only see Google bot. So we track, you know, 2400, different crawlers that come to your site to grab different information. And they're just using your bandwidth, but they're not doing anything, they're not giving you anything for it. So we're essentially putting them to work for you. Because when they come to your site, we're tracking them with you know, we're doing real time log analysis. And when they're coming and visiting your site, we are, as they're visiting the site, we're doing the auditing of the pages to find, you know, urgent problems, which we can report here. And this is about track bar crawler analytics that you're seeing here. For example, if I want to see only Googlebot, right?

See that? need to see a Screaming Frog here, you know, you can we track all these different bots? Right? This will be only their requests from Googlebot. So you can see what pages of visiting what problems Google bot is seen. Right. So you have these crawlers statistics, and that gives us several advantages, which is we're auditing, we don't have to have a crawler infrastructure to audit decides in real ongoing, because we're just capturing the crawls already happening. And we also can know when Google picks up changes. So when we release a change, and we we make the change, we can tell when Google picked it up, which is important when we're now analyzing the results or the changes as well, or bang or whatever trainings coming into the site. So we track every track also search clicks, which is clicks from this different search engines, we can do all this without having integrations to do analytics or search console. Because if we need to do this in real time. So that's what I didn't want to be relying on integrations, to get this information that is so critical.

Noah Learner 54:25 And you had told me about the KPIs that you're paying attention to when you're using this tool and what you're not looking at at all, like what does this enable the SEO to? How does it enable them to simplify their workflow.

Hamlet Batista 54:37 So the main KPIs that we track is what pages are getting clicks from search engines and which pages are not getting clicked. That's what you're seeing here. Because we're saying, if you have 1000 pages, and you're seeing it, like in this case, a lot of them are not getting clicked, that's an obvious opportunity, because you want to learn why those pages are not getting clicks, if they should be clicked. Right. As I said, we were purposely keeping the tools super simple. And you'll see that these advanced stuff about importing tools for SEO is actually in the settings. Because, you know, we want people that don't even have knowledge about SEO to be able to use it. So this also has a wizard, where they can actually, you know, follow steps, preview changes and stuff like that and apply them by themselves. But we're limiting this to only a few handful, I mean, about 1525 issues that we're not going to move away from that. They're older tools that do a fantastic job, which is for auditing. For us, our focus is implementation, you know, set. So that's what we're for. That's our, our vision for this tool. Does that answer your question? I think so. questions in the chat?

Noah Learner 55:50 Yeah. I thought it was I blew me away.

So I know we're at our hour. We had some technical difficulties on the front end. And I think we had a little bit of issues with how the recording went. So don't kill me now. accumulator. We got okay. So I don't know what your time is like, how are you him? Like?

Hamlet Batista 56:17 I can't have a few a few more minutes. Shouldn't I see some questions? Some some? Some thing? Another thing?

Noah Learner 56:24 Yeah, I think we got through them all. I've been asking. They were asking like about pivots here. They wanted. Someone else asked about the crawl limit? In terms of, you know, submissions for the inspect tool. Okay, here with us.

I love I love asking this question. What keeps you up at night?

Hamlet Batista 56:47 Oh, yeah. So for me that the main concern that I have is, is the success of my clients. So what keeps keeps me up at night is whether, you know, our clients are getting results, whether we're getting devalue whether you know, I and that's one of the drivers to know what works in a second, because I want to know, when things stop working, if they stopped working, and we're recommending stuff that doesn't make a difference for clients, we lose them. So simple as that we have clients with relationships that spend six years or more, and we're a young company. And it's because we have to be consistently there every so so what keeps me up at night is how do I come up with? How can I be always innovating and always coming up with new stuff that can always even if stuff is stuff working? How do I come up with new stuff that delivers results? Because nothing works forever? Right? Things will stop working eventually. So you want to have the stability and that's in, you know, curiosity to be able, how do I keep my pipeline of ideas of things that I that can potentially work full. That's what keeps me up at night, right? You know, how I can keep innovating and make making sure that I can come up with stuff, I can continue to drive value for my clients. And at the same time, it keeps me challenge and keeps me you know, doing interesting stuff, as well. Two things.

Noah Learner 58:09 What's the name of the Python drag and drop? g GUI Builder.

Hamlet Batista 58:15 So it's called.

To me,

Noah Learner 58:20 and why you're looking at up? I also want you to go into the Neil Patel Twitter tools that you

Hamlet Batista 58:29 got that you're bad.

Noah Learner 58:32 We got to talk about that. You got to share it because that was that was so funny.

Hamlet Batista 58:36 Yeah, this is this is the cutie designer. This is what I use. Okay. Yeah. So you can download this one is security builder. I have to actually go to that Search Engine Watch article.

To get the link

just released part three. So this is, yeah, this was a lot of fun. Right. So

yeah, let me talk a little bit about this one. So this is

Yeah, so if you haven't, check these this article series for Search Engine Watch, which is essentially part based on a talk that I gave a tech SEO boost last year, but more involved. So this notebook one of the things that I finished that talk was talking about how I wrote a neural network to try to figure out what when Neil Patel's response will be to, to try hard. So this is this is the art the article, so make sure that you can share the link here. So yeah, so yeah, I can explain a little bit about you know, recruiting neural networks. Basically, this is a neural network that learns to predict the next character. So this is a they call it on on serpents on supervised training. Machine learning tech technique. So this is a record a recurrent neural network. There is some more powerful approach. Now you seen transformers. But basically, he learns the dependent, he learns dependencies over time. So when you're writing natural language, what you said before, it's matters. So the order of the words matters. So that's what those one of the first successful neural network implementations that can keep the logic keep the sequence of the of the phrasing of the of the text. So memorize is the text. So at the end of the day, which are the you understand deep learning machines, they only see number, they're not really seeing pictures, they're not seeing boys, they're not seeing images, they only see numbers. So for them is all everything is just numbers. So all these words, what you're doing is you're turning a block of text into a dictionary, where you say, Okay, I have 10,000 words in this dictionary for the machine is only one to 10,000. So they have an index from one to 10,000. They don't know anything about the text, they only know all these numbers are what they mean. And they're trying to find connections between them. And relationships. So these recurrent neural network, what he's doing is finding numerical sequences that are, you know, similar or related, and they say, Okay, if I have the sequence of numbers, the computer trying to guess and try to predict what's going to be the next one is trying to predict what is the next one. So for that type of training exercise, you don't need labeled data, you don't need to let me know manually label it so have to learn this, it can be done on supervised. So in this guy is what I did. It's translating that is I pulled tweets. This is something that I think Brittany, this did also a fantastic job at a talk at search loft doing something for with Rand Fishkin, and I think another person generating tweets for him. And it was a lot of fun, because you download the tweets, generate this corpus for both people. And yet insane, you have the, the, the tweets, I think, on this notebook, I don't have the output, but I share it on the on the slides of the presentation, it came up with some really funny image from some really funny headlines. But basically, when you see the headlines that Twitter generated, you can see that that's the kind of writing that Neil Patel has, he's like, the high purple, you know, yeah, you're gonna get money fast. And you know, and all the stuff you know, is all these click Beatty type of writing and his tweets, it was it was a lot of fun, mixed up with Troy Han, which is more passive, it makes for a really fun exercise. So that was really good.

Jordan Choo 1:03:09 So as a tangential question, do you see natural language generation taking off within the next few years when it comes to SEO,

Hamlet Batista 1:03:18 and conservation? You're talking about years, hoping to write some some text generation pitches, I just haven't had time for talks these year. So you're talking about months? In a sense, you're not talking about yours? You're talking about months? Yeah, I know, this is this is moving at a crazy pace, you know, set this moving at a crazy pace is incredible. The stuff you can do right now, you know, last year, you know, you'll see a lot of this stuff in all the mistakes that computer makes, you can make fun of it. But But the thing is that the computing power is increasing is such an exponential rate. And let me tell you what is driving this what is driving this is, and that's one of the things that I want to see in our SEO community, the AI the deep learning community, if you think that we share, you know, because I love our community, because everybody sharing, you know, everybody's company who shares the motion, it's a fantastic community, because we are really friendly, we're share it, you know, and we're, with competitive noise, there's no sense of Oh, I'm going to hide this stuff is fantastic Committee. The AI community is even nuts. It's even crazier, you know, said, this, guys are kind of like in a in a in a, in a in a competition, to who's who's who comes up with it with a with the craziest stuff. So you see that right now everybody's talking about it, transform it, give it like a few weeks, the transformers are the greatest things right now. Right? Give it a few, a few weeks now might not even months, something even better is gonna come up soon. Because they're always in this competition, who who can do better. And the reason why they can do better is because they're measuring they have metrics that they can measure. They're they're measured them, I guess. And they have these competitions in capital and all these different places. So it's even hard to keep up. But you know, with all the papers that are coming up, all this stuff is, and it's fascinating, because you'll get all even more people joining the community. And they're very welcoming. And the tools are making them better, making them simpler, making them more accessible. Everybody's giving away training and all this information. And all these companies are throwing away that ton of money. And the cloud providers are very incentivized because, you know, they get people get to use their stuff and spend money in Google Cloud. And I'm assuming really solid places. So, so they love it. So it's all this stuff is it's you're talking about months, you're not talking about weeks. You're not talking about yours. You're talking about months. Well, one thing so we were talking with an enterprise, an enterprise SEO and he was saying, Oh, yeah, we we implemented natural law, language generation and our reporting. Two years ago, or a year and a half ago, right Jordan and what they found was that after five months, all the reports look super stale. And they were feeling concern that the clients were going to get them and be like, what the hell is this, this looks the same as last month, because it's like spitting out very similar language to digest the same metrics and demand but but you're talking about if they were doing natural language, two years, they were using machine learning, they were not using deep learning, they were not using any of any of the latest stuff. I want you to go and watch the recording with IBM demonstration of the debate, the debate the IBM. Yeah, yeah. I mean, it's, it's incredible. In a sense, it's, I tell you, right now, you, there is no way that now do you have the ability to have a computer generate, rephrase the same text in 100 different ways, there is a methodology for that. And I, I can dive in, I don't want to get into too technical, because I don't want to basically, to explain how you can take the same concept and generate completely different texts in 100 different ways, is that the text as I said, it's only numbers. And when you the text generation systems, what they use is they use a distribution. So essentially, the deep learning algorithm is not learning a mapping between numbers is learning a distribution. So a distribution means there is a range of numbers. So every every, every every slot in the in the in the phrase, you said research, number six learning of distribution. And when you're generating the text, you're sampling from the distribution, the sampling is random. So you did do a random sampling from the distribution, every time you're going to generate different texts. So it's just to get it into more detail on how it works.

Some stuff that black cats would love Oh, yeah, when it's been this is something that there's something that you can do, you know, and you can make the text, you know, look, you know, reasonable because the distribution of the text is what's controls that that, that the output is accurate. Just to, you've probably seen the deep fakes. Like I said, the narrative of it's very inaccurate, same concept that the way that this systems work is that they are generating distribution. So that face is numbers, it's a distribution of numbers so that when you have the generator and the discriminate are competing against each other at the same time, what they're really learning is a distribution, that will win the competition between the tool that will fake essentially the agenda that is screaming later, the generator is trying to fool the discriminate and discriminate or you know, trying to make sure that the dinner is not falling him, and they're generating a distribution, you can take an image, turn it into numbers, and that's a distribution. And because they sample from the same distribution, the faces look or to somebody that you have seen because they take celebrities for them. But it's not exactly the same because they change the elements of that, that same stuff that it's been going with the dance on, on on image generation and pick in pictures that are so credible, right? Now imagine the same thing can happen is happening already with so how

Noah Learner 1:09:18 do we stay relevant for 10 years? We humans like who like needed, like, have worked till we retired?

Hamlet Batista 1:09:24 Now you got to that? Now you got to the question of why I am pushing people to learn Python, you understand? If you want to stay relevant. You want to be the one building the robots, you want to be the one building the machines? Yeah, you don't want

Noah Learner 1:09:39 to hang up?

Hamlet Batista 1:09:41 Exactly. You don't want the machines to take over your job. But you're and you're not even prepared. You want to be the one, learning how the machines work, how to build them, how to change them, because you are going to be valuable all the time, because you bring something that the machines can bring. So that's what I'm changing. I'm pushing everybody to learn how to code and how to do all this stuff. Because, you know, tomorrow, you don't want to be waking up Oh, yeah, you know, I'm motivated out of a job. No, I am the one writing the automation to get me out of the job. Because I'm a lot more efficient with this tool that I build and all these tools that I can be building on the on the company, I'm always going to be valuable.

Jordan Choo 1:10:20 So with that being said, What's your process or framework for automating tasks.

Hamlet Batista 1:10:28 So my process is very simple, is I don't want to be wasting time, automating stuff, that doesn't make a difference. It's as simple as that, you know, as hammer, the engineer will love that, you know, I could love just writing stuff just for the fun of it, because I get fun out of it. But I'm the business person. And I'm sure I'm not going to be wasting my time doing something that you know, it's not going to make a difference, not going to work. So my process starts with manually figuring out things. So I spend the time to learn things manually. Don't have to be talking to my clients, I have clients, I have account managers, but I spend a time if I have it, when I have my time I see Nicole's interact with my clients, talk to them learn about their problems and everything I get involved in the problems. I don't know, I don't need to be writing code. I have developers. I go in and I write the code myself. Now for you know, my product, most of it is just my developers. But I like to figure out stuff. That's the code that I write, I have a question. I want to figure out something or somebody has a question, okay, let me write a piece of code and figure it out. I do that. Because I want to figure out something that is valuable. So I start with the problem. So either I learned it from a client, or somebody in Twitter told me about something on you told me about this other stuff. So I want to be I like to start with things that people care about thinking that if I solve it is going to lead to a good outcome. So that's the first step and I do it manually first. Okay, figure it out manually, his Bible, I see the right works. Now, let me go to the goal stuff. So for me, the programming is kind of like you have the launch. Now you need the desert, right? So. So I either launch that I'm saving my the desert at the end is ok, going through the covering my launch, you know, but now, I'm going to get to the good stuff that the Sarah that part of that I'm going to actually enjoy. Okay, now I have the process, I know what I need to automate, I know what I want to do. I just, for example, for this to put a simple outline. Okay, I figured out, here's the outline of end the outline, it's it changes because as you start coding, you start changing things, but at least it gives me a framework of what are the things that I need to learn. A lot of the times when I automating things, I don't even know how to do 80% of what I need to do at the end. So a lot of this stuff is I have the planning know what I need to do. And a lot of things when I'm stuck, just go to stack overflow on Google it, get an error, you know, go to Stack Overflow, or a Google error, and get open a bunch of types of different ideas how to solve the error. And then I go through them, and try them one at a time. One idea after the other. Okay, I figured out all these one works. And that's that that's the process once you're finished,

Noah Learner 1:13:16 kind of automate micro tasks. So you're like focusing on every single. That's what Yuri shared with us in our last last hangout? What do

Hamlet Batista 1:13:26 you mean with micro tasks? What are some micro tasks for you?

Noah Learner 1:13:29 So let's say his challenge was, how do I figure out how to automate 30,000 ad campaigns a month? How do I get this done, and he figured out every step in creating an ad campaign, and then wrote code, to follow all the decision trees in order to solve the problem of how to automate the campaign process, both the generation and the management process, and they definitely are on top of it in terms of like managing pieces that the flow, but they've figured out how to automate it, because they looked at every step that's necessary to achieve whatever the task is.

Hamlet Batista 1:14:07 Yeah. So so it's similar, you know, um, but, but yeah, so I like to, to, to start automating simple things. So because same concept that I talked before, if I try to, if I start an ambitious automation project, that it's going to take me a lot of time and effort. And at the end, I don't know if I'm going to be successful, or if it's going to be worth it. Even if I'm successful. Right, I start breaking it down and say, you know, oh, yeah, I want to climb that mountain. But before I even do that, let me do the singles thing. Let me see if I'm successful with this. Okay, I got it. You know, I got that. Okay. Now, let me get to the next step. I don't plan out an ambitious project like that. I used to do that. But I, I realized that it's not a good approach. I just say, Okay, let me take it. Let me take it day by day, see what I can do now, with the resource. And you know, why is that as well, because one of the things that I've learned is that even if you have an ambitious goal, if you start taking, taking it in parts and breaking in an account and quote in solving those parts first, at the end, right? In the middle, you probably going to find a better way to do something that you did a few steps back, and you'll say, wow, you know, while I was fixing this, I figured out if I need an easier way. Let me go back and, and the step one, change it because this way, so I better, which is for example, what happened when I started writing this code. I didn't start with the Xbox. I started with a with a big selectors in a sense. And I did that. And because I was doing a piece by piece, when I figure out the Xbox, I said, Wow, this is better. Let me go back and replace it and change it to the lease approach.

Noah Learner 1:15:53 Do you get giddy?

Hamlet Batista 1:15:55 Absolutely. Yeah,

Noah Learner 1:15:56 same for me. My wife hears awkward cackling from the distance.

Hamlet Batista 1:16:03 Yeah, no, my wife she she sometimes she kicked me out of the bed because sometimes she hears me laughing so much.

Noah Learner 1:16:11 Are you laughing? When

Hamlet Batista 1:16:12 I am I'm laughing like crazy. And she's like, Why are you laughing about she kicks me out. So So yeah, course is kind of fun. Cool. Great.

Noah Learner 1:16:25 Awesome. Well, we're gonna I think this seems like a really good time to kind of tie it up. Unless is there more stuff you want to jump into him? But this is really killer. I'm really glad we got to stay on so long.

Hamlet Batista 1:16:38 Yeah, no, I think it's good. You know, I need to get some other stuff done. So I really appreciate the time, guys. Yeah. Looking forward to seeing you guys feel in the audience is fantastic. I'm glad you're pushing before thinking about you know, people leveraging automation not let not waiting for the automation taking over. And cut you with your pants down. And yeah, this is really cool stuff. Good. Thank you for giving me a window to share my my message about Python and getting cool stuff built. Similar.

Jordan Choo 1:17:16 Amazing. I was just as a Hamlet, what's the best way for people to get in touch with you or learn more about you?

Hamlet Batista 1:17:22 Yeah, so that you can, you can go to you can follow me on twitter a link? 10. Right. How many were Tish to Twitter for slash ham Liberty style together? Yeah, I get, you know, direct message. My direct messages are open as well. So you feel free to reach out if you have any questions. I really want you guys to give it a try really repo that I share. And, and yeah, put it to us. You know, hit me up with any problems that you find. And,

yeah, so let's, uh,

Noah Learner 1:18:06 yeah, looks amazing stuff. So yes, we tie everything up just for folks who are still in the meeting. In two weeks. We have Dana De Tomaso, one of my favorite speakers, when I go to conferences. She's just an amazing communicator. She's going to be talking with us about automating reporting. And I think she's going to dive into a bunch of Data Studio stuff and hopefully talk about the difference between monitoring and reporting. So that's going to be on May 3. Hamlet, I'd love it to stay in touch. Like you have so much going on, Angela, but are you jumped in into the Hangout, we really appreciate your time. If you could give us feedback, we'd really appreciate it. And we just launched a website that's still kind of lurching forward, it's agency automakers calm. And we're going to post all of our old shows there. And also all of our upcoming shows so that you'll see kind of who's coming up and you can catch up with any old episodes. And anything else, guys. I think that's it.

Jordan Choo 1:19:13 Thank you very much.

Hamlet Batista 1:19:15 Thanks, guys. Have a good one. Thank you for having me.

Noah Learner 1:19:17 Thank you. Okay, great day. You too.



Google My Business Q + A Add-on for Google Sheets

We built this Add-on to help you manage GMB Questions and Answers in an easy familiar way with the aid of Google Sheets.

Get the Add-on

Join the official Agency Automators Slack Group

Share and learn about automating your digital marketing agency.

AgencyAutomators is a Bike Shop SEO and Kogneta company devoted to helping your agency become more profitable with automation.

AgencyAutomators © 2024
Sitemap
Terms of Service
Privacy Policy

2019-04-192024-05-07