hey today I'm going to show you how to build better automations these are foundational principles that work in any automation tool whether it's make or zapier or na10 and they also apply to code as well these are proven ideas I made over 128k in profit last month building and teaching them to others and you don't need any technical knowledge in order to get up and running with them all you need is an open mind and a willingness to learn ready to go let's get started now the first principle is probably the most important and it's
also the simplest one to do it's start at the end so anytime you're building a system don't start at the beginning and then logically try working your way from node or module one to not or module two to three to four to five ask yourself what is it exactly that I'm trying to do here what is the end result of this automation what is the last node or module that I'm going to need to add to this in order to make it work try and answer those those questions and then just skip all the way
to the end and then build the thing that you want to do at the end assuming you have all the information from previous steps and confirm that that works before wasting your time getting all the way up there only to realize that it doesn't now I've built hundreds of automations at this point both for myself and for others and this is one of the highest Roi approaches that you could use to building any system if you zoom out a little bit this same approach doesn't just work in coding it works in basically everything it's just
called reverse engineering so you look at what you want okay this is the start and then this is the end you look at what you want which is over here and then you just say okay now I have what I want what's the second last thing that I'm going to need to do before I get the last thing okay I'm going to have to do this all right great once I'm done with that you know how do I how do I generate the information I need to do that well I got to do this okay
great now in order to do that what do I have to do n minus 3 and so on and so on and so forth you basically just start at the last chain and you just work your way back progressively filling in the blanks as necessary until you get to the thing that you need in order to like trigger your flow for instance if you take this approach to building automations not only are you going to save so much wasted time and energy in exploring dead ends that don't lead anywhere but you're also going to build
a lot tighter of a flow because kind of like the way to think about automations really is like if you're at the beginning you can build so many different ways to do the same thing okay I'm just going to pretend that I don't know Pretend This is like a tree or something and I don't know I think I locked something here pretend that this is like a like a tree or something okay essentially what you're going to want to do is um you know okay if this is the start you start here your path may
be like this to get to the end but you could also do this you could also do this and you could also do this the point that I'm making is when you're at the start line looking forward there's like a million billion things that you can do okay but if you're at the end looking backwards you only ever see this one trailing path to get back there do do you know what I mean because we're assuming the system's already been built and the benefit to this as well is you can typically eliminate a lot of
these weird sort of I don't know detours that you might take along the way so realistically what you see looking backwards is you see a much straighter line path from end to start and I know that this is all theoretical I'll make it a little more Concrete in a second but this typically means uh fewer modules or nodes in your flow it means fewer operations or executions it means less wastage and ultimately it just leads to a much better and easier building experience because I think of systems in this way I'm typically able to build
systems that other people might take you know 5 10 15 hours to do in like 30 minutes because I always just ask myself what are we doing here what's the end result how do we go from the end result to the second last result how do we go from the second last result to the Third last result and so on and so on and so forth so I'll give you guys a quick example here with my um probably the most recent build that I did in NN anyway on my channel and you know if you're
a follower of this channel you'll probably recognize this but essentially what I did was I used appify to scrape new Instagram reels let me just get my little drawing tool over here one second I used appify to get a bunch of Instagram reels okay so these are IG reels then once I had my Instagram reels i d duplicated them using a Google sheet basically just wanted to see if I'd already had them and then I added them to a Google sheet if they were new I then downloaded the video okay I then transcribed it using
whisper I then generated a bunch of suggestions for better content I then searched perplexity then at the very very end of this I wrote a new script basically of that Instagram reel and then I added it to a database now I'm going through this step by step just to show you guys that it looks pretty simple when we you know we have the finished product or finished system in front of us right because we just go well of course you're going to do this before you're going to do that right and that just makes sense
but when you're building something and you're looking forward and you you don't know like literally anything except for this right like this is all I knew at the beginning everything on the left hand side of this when when you're over here in la la land right you have no idea I mean this could go 50 million different ways so let me show you my roach to building this system basically if I were rebuilding this or if I were building this today or building a similar one anyway the very first thing that I would do is
I would Zoom way in over here to the update entries the last Google sheet and you don't even need to know what the system does just kind of pay attention to the shape of this I know at the end I'm going to have to do some sort of database update right so logically what do I need in order to make that happen well I need a database so I'd go and I'd make the database first right so now I have this database okay great what do I fill it with okay well I want to fill
it with the script so I need to make sure I could write the script so what do I do next well I'd actually go ahead and I'd try writing a script with a prompt I'd insert my own test data there you know i' i' i' prompt engineer all day long i' do training runs and give it contexts and all that stuff I'd basically make sure hey in a perfect world if I provided at all the best information could I write a banger script and if the answer to that question is yes then I move on
one step back and I say okay well great let me think what information or how could I get the information that I need to provide to the model in order to have it write me a good script okay I need to search perplexity H how do I get information in such a format that I can search perplexity okay well I need to use this other step and I just work my way step by step backwards um until I make it basically to the very very beginning of this flow which is the schedule trigger so that's
a quick example in n8n in make.com this is a quick flow that I built a while ago that essentially just scrapes YouTube videos from my channel and then it creates a Google drive folder and adds them to a clickup pipeline that I built the idea behind this clickup pipeline was just to make my life a little bit easier um essentially I I was creating short form content for my long form videos over here and then I had you know bunch of content over here with like a pre-generated frame.io folder it's not super relevant or important
so let me just run you through what the flow itself looks like we are watching actor runs and then we're getting some data set items this is just fancy terminology for basically um you know getting like getting the actual data where then creating a Google Drive for every new video and then we are creating a clickup task and then at the very end I sleep just because I had some API stuff so if I were building the system right now where would I start well I'd actually start with the clickup node or module I would
actually go and I'd create a task in Click up and I'd verify that I could fill all of the fields that I want in my space and once I've done that that's easy as hell now I just work backwards okay well one of the fields is going to have to be a Google Drive Right fantastic I'm going to create a Google drive folder okay well obviously I'm going to need the name of the video in order to do that so what do I have to do I have to scrape the data set items this is
just a long and roundabout way of me really driving home that point but essentially you should always just be starting at the end and then working your way back from the end to the very beginning if you do that you'll be able to build your systems I want to say at least twice as fast and more importantly you're going to be doing so in a directed way that doesn't like you know uh have you result in dead end after dead end after dead end that makes you want to tug your freaking hair out as I'm
sure we're all familiar with with okay the second major point is test driven development when you are building a flow or an automation test every module one by one don't go ahead of yourself and add 10 modules or nodes and then click test and then try and see the output but actually just do it one module or node at a time the value here is if you test things one node or module at a time the second that there's an error you will know exactly where that error comes from sounds simple right hypothetically if I
were tdd test driven development if I were testing a flow and I'm just going to build this out in you know me drawing because I've actually gotten pretty good at drawing here I like to think so anyway maybe people that disagree can tell me this is step one if this is step two if this is step three okay what you do is all of these work we verified we've got the expected outputs at every step right well what happens when we add step four and then it doesn't work where is the error logically well the
error is obviously right over here there's some issue with the data that you are putting from 3 2 or 1 into four right it's that simple you don't have to jump around to every single node in your flow you don't have to wonder uh if you know you don't have to jump from one scenario workflow to another scenario workflow you know exactly where this error occurred it occurred somewhere right around here realistically so you then just check out the data that came out of um node 3 and you say is this expected data is this
what I wanted then you check the data that goes into node 4 and you say is this expected data is this what I wanted and ultimately you find that it is not there will be some issue there whether a syntax there or maybe some data field is empty or whatever you'll know exactly how to convert this from something that doesn't work into something that works and then you can just continue right then you do number five right that works then all of a sudden you do number six but for some weird reason when you do
number six there's an error well where's the problem it's probably somewhere right over here right logically now obviously there's some Nuance here data at six can access data back at 5 4 3 2 or 1 and basically any automation tool but the point that I'm making is you will know that that is the node or the work flow or the module that you need to be spending your time on fixing the biggest issue that I find when people design workflows is they will get ahead of themselves and then they'll assume things they'll say oh well
this makes sense that's logical I get it of course that makes you know I totally got this I'm going to add this node then that node then that node then that node they add five or 10 of them in a row and then something breaks and then when something breaks they freak the hell out because it could be anywhere so essentially um what debugging is is debugging is just a giant massive um like search tree okay basically you have so many different options here so many different places that your automation could break and trust me
this is going to get somewhere you have you know out of uh I don't know how many nodes are we down now like uh uh you know if this is node one there's an input and then an output this is node two there's an input and output this goes to node three input output there's like I don't I don't know combinator here there's 15 separate areas where you could make a mistake instead of looking over all of these 15 areas what you want to do is you want to cut your time down and you only
want to look at the one that you know is the problem if you do it this way you will save yourself uh 1516 of your time okay it's obviously not one for one I'm just modeling this and trying to give you guys an example but you will save the overwhelming majority of all of the time that you are spending doing all of this flowing and debugging and and banging your head against the wall and tearing your hair out if you do test driven development now the main retort to this is Nick I don't really like
testing every node or module because it just takes me a little bit more time but just keep in mind that this is a fixed time sync you know this is 30 seconds here in order to test this is another 30 seconds this is another 30 seconds you know how much time it's going to take and it's fairly fixed to do the testing this right over here this is a completely unknown amount of time this could take you 5 hours to comb through so you might as well restrict your search to the node that probably matters
the most which is you know that last one the last major principle that I use and that I teach to people both in my communities and that I consult with outside of my communities is don't solve every Edge case unless you know that you have to now I'm bringing this up because a lot of people that get into no code they do so from a programmer's mentality they do so because they went to Computer Science school and their teacher said hey when you design a system or create an algorithm that system or algorithm has to
solve everything in the whole wide world and if it doesn't it's not correct okay the thing is automations aren't an academic exercise the purpose of an automation is usually to drive some sort of business value in the real world and the real world in theory two very big different things so when you're working in the real world you can design a system that even if your system doesn't work on all of the data types or all the situations or all of the possible hypothetical pieces of input and output that come into it it doesn't actually
matter because it's still driving a return on investment an Roi and what you'll find is that's basically all business owners care about they want a system where you put in X dollar they could could not give less of a crap about what goes on inside of here and then what they want is they just want some system that produc produces some constant times the money that they put in C just being some number 3 4 10 500 so what they want is they want a system where they put $1 inside and then it becomes $5
okay whatever the hell's going on over here they they they couldn't care about if your system isn't perfect they don't care the only thing that they care about is does this decision the in order to get Nick to build it for me or um in order for me to pay my staff member to do this or or whatever is this decision making me more money than it's costing me so if you can dial back all of the complexity for a customer or client and if you can build a system in five minutes okay that does
90% of the job and then if you could theoretically solve the other 10% but it would take you 100 hours then just do what you have to do in 5 minutes test it out see how it goes see how it works in your business or see how it works for the customer's business and then and only then if there's some sort of issue you can work on improving it or reinvesting some of those funds to make the system even better so don't try solving for all edge cases you probably don't need to okay great I
hope you guys appreciated and enjoyed this video I know this one was definitely on the shorter side but just testing out a new recording setup and seeing how things go if you have any questions about what I talked about today feel free to drop me down a comment we're than happy to help I Source a lot of my video ideas directly from from my lovely audience at this point so please really I could do a video on what you comment like tomorrow if you give me something good and juicy otherwise if you give me a
big solid like subscribe do all the fun YouTube stuff that bumps me to the top of the algo and I'll catch you on the next video thanks so much