3 "Boring" Agentic Workflows That Will Make You $5,000+
23:22

3 "Boring" Agentic Workflows That Will Make You $5,000+

Nick Saraev 27.11.2025 22 611 просмотров 674 лайков

Machine-readable: Markdown · JSON API · Site index

Поделиться Telegram VK Бот
Транскрипт Скачать .md
Анализ с AI
Описание видео
🔥 Join Maker School & get customer #1 guaranteed: https://skool.com/makerschool/about 📚 Watch my NEW 2026 Claude Code course: https://www.youtube.com/watch?v=QoQBzR1NIqI 💎 All files: https://docs.google.com/document/d/1p2QGmpUr-FnBVW3GKCHs-FzeDIwfzc2YzV7zvS3cYEE/edit?usp=sharing 📚 Free multi-hour courses → Claude Code (4hr full course): https://www.youtube.com/watch?v=QoQBzR1NIqI → Vibe Coding w/ Antigravity (6hr full course): https://www.youtube.com/watch?v=gcuR_-rzlDw → Agentic Workflows (6hr full course): https://www.youtube.com/watch?v=MxyRjL7NG18 → N8N (6hr full course, 890K+ views): https://www.youtube.com/watch?v=2GZ2SNXWK-c Summary ⤵️ Here are three boring agentic workflows that will make you $5,000! My software, tools, & deals (some give me kickbacks—thank you!) 🚀 Instantly: https://link.nicksaraev.com/instantly-short 📧 Anymailfinder: https://link.nicksaraev.com/amf-short 🤖 Apify: https://console.apify.com/sign-up (30% off with code 30NICKSARAEV) 🧑🏽‍💻 n8n: https://n8n.partnerlinks.io/h372ujv8cw80 📈 Rize: https://link.nicksaraev.com/rize-short (25% off with promo code NICK) Follow me on other platforms 😈 📸 Instagram: https://www.instagram.com/nick_saraev 🕊️ Twitter/X: https://twitter.com/nicksaraev 🤙 Blog: https://nicksaraev.com Why watch? If this is your first view—hi, I’m Nick! TLDR: I spent six years building automated businesses with Make.com (most notably 1SecondCopy, a content company that hit 7 figures). Today a lot of people talk about automation, but I’ve noticed that very few have practical, real world success making money with it. So this channel is me chiming in and showing you what *real* systems that make *real* revenue look like. Hopefully I can help you improve your business, and in doing so, the rest of your life 🙏 Like, subscribe, and leave me a comment if you have a specific request! Thanks. Chapters 00:00:00 Introduction 00:02:28 Practical example 1: lead generation, enrichment & personalization 00:08:03 Practical example 2: post-sales call proposal generator 00:12:28 Stochasticity & DOE framework 00:29:11 IDE: Integrated Development Environments 00:30:16 Antigravity: IDE walkthrough 00:41:06 VS Code: IDE walkthrough 0042:51 Self-annealing workflows 00:53:13 Example building workflow from scratch 01:50:31 Outro

Оглавление (4 сегментов)

Introduction

Hey, here are three agentic workflows I built in under 15 minutes that can make you more than $5,000 this month. I'll show you how they work, give you the results, and then at the very end of the video, I'll actually build them live alongside you. So whether you guys want to use this in your own business, copy paste some of the hot templates that you're seeing online, or learn how to do these sorts of things for other companies, this is the video for you. The first system is an Upwork job scraper. Now, if you're unfamiliar with what you are looking at here, this is Visual Studio Code. It's an integrated development environment. All that means is it's essentially a chat box that I can use to communicate with an AI agent to have it build things for me. So what I'm going to do is tell it to scrape 10 Upwork jobs in the last 24 hours for automation related projects. Next, it'll look for some highle instructions stored in a directives folder and an execution folder. I'll cover a little bit more about this in a second if you're new to this concept. Afterwards, it's actually going to run an Appify scraper with an automation keyword filter. I should note that it found this scraper on its own. Once we're done, it'll actually find me all automation related jobs that I wanted. Looks like it found me an additional one. From here, it's given me a bunch of proposals. It's just asking me if I want to create a Google sheet with this. I'm going to say yes. And then it'll run essentially a proposal generator, which allow me to customize my applications to each of these jobs. What's cool is this also identifies some top picks by client spend because it has access to budgets, client spends, and client profiles. It allows us to analyze who are serious people on the platform and who aren't. Eventually, it'll create a Google sheet, which is linked over here, and then it'll present it to me in this message. If I give this button a click, I now have access to all of the proposals or jobs that I could have applied to, as well as a column here called apply link. This column is great because it's a one-click to get to the job. It'll open up the job in a new window. All I now have to do is just scroll through, write a cover letter, and then apply. And the good news is it's already pre-wrote wrote the cover letter for me based off of best Upwork practices. You'll see that it's also pinned a Google doc up to the top here. If you're wondering what that is, this is a one-page proposal document that I had the AI build into said workflow. And so this actually pitches them on a customized quote unquote proposal that walks them through how uh we plan on doing this sort of thing. I should note that you don't have to create a Google doc. The options here are essentially limitless. You could create using Google Nano Banana Pro some sort of like workflow diagram or walkthrough. You could record a customized Loom like I have people do in Maker School, my automation community. The options here are really up. In this way, you can apply to 10 Upwork jobs with extraordinarily highquality customized and detailed proposals in just a few

Practical example 1: lead generation, enrichment & personalization

moments as opposed to previously a process that might have taken you an hour or two. The next workflow is an instantly campaign writer. For those of you that are unaware, instantly is a cold email platform that allows you to send emails to people at scale. It's one of the primary ways that I acquire clients and I also teach people how to acquire clients. In this case, what I want is I basically just want to automate the process of spinning up draft campaigns. And so I'm telling it, create me instantly campaigns for a new offer I'm running. Company's called Dental Connect. It's a dental clinic marketing company. And the offers are we guarantee you 10 new patients in 30 days or we send you a,000 bucks. Alternatively, we get you three new patients totally free and if you want to keep working with us, it's performance-based. As you can see, it's reading through some highle directives here and then getting a bunch of scripts, then finding some campaign examples as well as actually going through and doing the HTTP requests and API calls, etc. It does this using a giant repository of high performing instantly campaign copy that I've put together. Once it's done, it then gives us a successful status code up top before finally giving us a page that we can access to review the copy. The copy is stored in these three campaigns. So, I'm just going to open all of them side by side and go to sequences. And as you can see here, it says first name icebreaker. This is an AI personalized little snippet that we have the model generate. I work specifically with dental practices on patient acquisition. Have helped a lot of clinics fill their schedules over the past few years and wanted to reach out. I looked into company name a bit and think there's some interesting stuff we could do together. Not trying to pitch you a cookie cutter package or anything like that. More just curious to be open to a conversation, but it's working for you now where you want to grow. We build systems that work really well for dental. Every practice is different. Love to learn more about your situation. See if there's a fit. Now, is this the best copy on planet Earth? probably not. But what's really cool is this copy is not just uh one. There's not just one type of copy. I have this split test multiple. And so the idea is we run this at scale. We quickly filter out the losers of things that don't work. And then we isolate the winners, the things that do. So anyway, uh as you see, there are variety of different offers here. Let me send you three patients completely free. Uh 10 new patients in 30 days or I send you $1,000. Not a typo. If we don't hit 10K 10, I will literally Venmo you 1k. As you can see here, you know, it the more examples that you generate, the higher the probability that one of them will be a perfect winning combo. And this thing just saves me a lot of time when I'm setting up insulate campaigns for clients cuz that's kind of the core part of what I do nowadays. [clears throat] The last agentic workflow uses Google Maps to scrape for companies and then pull contact data through a deep website crawl and then claude. What I'm going to do is I'll have it scrape me a 100 HVAC companies in Texas using Google Maps, then get company and contact details and add to said Google sheet. This is the Google sheet right over here. It's just a Google sheet that we continuously add to. And at a very high level, essentially what we're doing is we're storing some information like the lead ID, then when the uh leads were scraped, the search query that we use to generate the leads, the business name, the category, the address, and we get addresses for the vast majority of these, the phone numbers, uh, and then we even get email addresses for something like 50%, maybe 40%, uh, depending at scale. Uh how we do this is we go through all different pages of the company website. So we don't just do like the main company website, but we'll also scrape the about page, the team's page, the founders page, the owner's page, whatever the heck. Essentially, we identify very high likelihood candidates, scrape all those pages, too, compile this into some giant text block, and then feed to a very streamlined version of cloud, which allows it to extract these details into adjacent schema. So what it's done is given me some highlevel instructions on what it's planning to do. It's first going to start by running a Google map scrape for HVAC companies in Texas. Then it's going to enrich leads with website contact data for finally saving the results to that Google sheet. In addition to that previous information, we also get things like the owner name. We get a bunch of team contacts which I think is really cool. And then we also have um enrichment status and so we can enrich cold emails using uh various services like any mailfinder, vein and so on and so forth. Although I should note that this is optional. What's cool is the service we're using to do this scrape actually gets us their location pinned on maps as follows. And so, as I'm sure you can imagine, if I wanted to scrape more within the constraints of Fort Worth or Arlington or Irving or Dallas or what have you, I would just specify this in the prompt. And I'd significantly increase the density of the leads that I'm scraping in like a tighter geographical region, which makes this system really good if you're building local systems, you know, local lead scrapers. You're running outbound teams that are knocking on doors or reaching out to people within a specific neighbor. Okay. And this is running incrementally, so it'll continue adding in batches to minimize API calls. But as you guys see here, we got a bunch of new email addresses for the search and so on and so forth. That's how easy it is, honestly, to get data for outbound campaigns. This also does it very cheaply. Um, Claude is not the bottleneck here. Um, despite the fact that I'm using Claude to like, you know, assemble all this information and whatnot, it's actually Appy and so there are variety of different ways to get even cheaper lead scraping. But I think this one is like about one cent per something along those lines. Okay, so any keen viewer might have asked why I have multiple cloud code instances running. Um, the reason why is because this allows me to build these systems very quickly. Essentially, you can parallelize, which just means run many different cloud code instances simultaneously within the same folder, so long as you're working on different directives and executions. So, let me give you a run through of what this looks like if you wanted to build these workflows yourself with no pre-existing IDE experience. And if you've never even tackled something like this before, it's actually very straightforward. So the first thing you have to do is you have to get an IDE like Visual Studio Code or Anti-gravity. Anything that allows you to run agents in the IDE is fine. If you don't already have the claude code for VS Code extension, that's what I'm using as my agent. You know, you can obviously use OpenAI or Codeex or variety of other tools, but this is what I'm using. Definitely need to make sure to install it and then get on some sort of plant.

Practical example 2: post-sales call proposal generator

Once you're done with that, when you open up your new VS Code extension, you can open a folder. I'm just going to choose this new one I created called three agentic workflows. Once I'm done, I now have everything set up and I get this little welcome. So, the way that this new way of building works essentially in a nutshell is we have three different folders. We have a directives folder, we have an executions folder, then we also have a file called an agents. md file which just provides a bunch of information about how to build systems. So, very first thing I'm going to do is just click on this new file, type agents. md. This is just markdown. and then paste in a big pile of instructions. If you don't have these instructions, just check my recent video. It's about a 2-hour course on how to build a workflows. It walks you through this, but in a nutshell, we're going to set up a directive folder and an execution folder. The direction the directive folder rather is where we're going to store high-level um essentially instructions surrounding what we want the model to do. And so, if I go back here and then write execution just like this, we now have everything that we need in order to actually build. I know it sounds simple and silly, but this is actually all you need to actually get. Next up, if you just click on any file in the top right hand corner with this extension, you can open up multiple cloud code windows. That's what I'm going to do here. And then if you just separate out the windows as follows, um then you can just drag each new instance to each section down there. At the very bottom of each of these cloud code instances, just change the mode to bypass permissions. This just allows the model to run um sort of autonomously, and you don't really have to ask it to do stuff. It's not going to double check with you whether or not it should do whatever. You're just giving this full autonomy and assuming that it knows better than you do about a lot of this code stuff. PS, this knows a lot more than I do about all that code stuff. Now, from here, you can actually get up and running and just ask an agent to help build something for you. Essentially, what you do is you provide very high level instructions like some bullet points saying, "I'd like to build a workflow that does X, Y, and Z. " Just for the benefit of everybody's time here, I've actually already created these workflows cuz obviously I had to show them to you earlier. Then I just asked the model, hey, give me a highle brief that I could use to feed into a future model to rebuild it. So I'm actually going to be uh including those live down below. So you guys can use these if you guys want to build very similar workflows to me. Um after that, there is one final hurdle and that is authentication. You will not have given this system native authentication to access the various tools and stuff like that um that you will need in order to do these workflows right off the bat. For instance, as you saw, it was updating my Google sheet a bunch, right? That needs access to my Google Sheets account. It also needs things like API keys to, you know, instantly apply various services that I'm using. And so the good news is you don't actually have to know how to get any of that stuff ahead of time in order to make these flows work. What you do is you just ask the system, hey, build this whole thing out for me. I don't currently have, you know, you don't currently have access to anything. It'll actually run you through the various things that you need to provide it access to. So in that way, it is very much like a co-uilder. It's a partner in the building process. But just so that we uh skip me sharing my API keys because I've done that way too often on this channel, I'm just going to include all that information in the folder by copying it over previously from the other. Okay. And as you can see, I've copied over a bunch of credentials files. So an agents. md file that we had before, but thev file is typically where you store API keys, just some plain text. Then you have credentials. These are for um Google. Then you also have some tokens and so on and so forth. And I should know that you don't actually need all this stuff. As I mentioned, the model will help you come up with all of these files. They're very simple, very straightforward, but at the end of it, um it'll just like u one click ask you to log into maybe your Google account for Google Sheets or some other service, whatever it is. Uh it's very straightforward. Tries to economize user experience wherever possible. Okay, so for the Upwork scraper, I have it right over here. Uh basically, after I built the previous system with some highle bullet points, I just asked it to reproduce me a big list of steps that I could feed into a future model. So that's what I'm doing right now. Just make sure I'm on the right one. So this is the Upwork scraper here. It seems very long and scary. Don't worry too much about this. This is just natural language. So I'm just going to feed that Upwork scraper request into the first builder. Then the Google map scraper prompt I'm going to feed into the second builder. So I'm just going to scroll all the way down here and then paste that in. And then the instantly campaign writer prompt I'm going to feed into the third builder and paste that in. Okay. And then we are building. It will ask you various questions on and off as you do set building process. In my case, it just asked me, hey, do you want me to build this whole thing? Are you 100% sure we're all good to go? I said yes. Here it's asking me, um, hey, you know, I'm seeing that one of the tokens is missing in a specific folder. So, I'm just going to ask you to reauth in a minute. This over here is confirming

Stochasticity & DOE framework

that it now has access to everything. This over here is now actually going through the building of campaigns. Oh, and I'm realizing I didn't actually provide the campaigns folder. So, I need to go back and then give uh give an example campaigns file. I see it's created this campaigns. mmd. So, one sec. Okay, so I just added those files over here. Um, essentially I have this big campaigns. mmd file. It has a bunch of examples of high performing successful copy that I've wrote before and I just copied this over just some plain text here. Nothing really fancy or special. You guys have seen this copy in a variety of my previous YouTube videos if you guys have watched my channel before. So, um, yeah, now we're just running through top to bottom. So, what's really cool is this thing functions essentially autonomously at this point. um buried somewhere in my prompt if you guys want to take a look is instructions to just have it run um iterate test and just continue in this loop over and over and over again until it has something that actually works. If you guys have uh a lot of price sensitivity surrounding let's say appy tokens or I don't know like instantly credits or something along those lines then obviously you might want to check in a little bit more often. In my case, the cost of the time in order to have this thing pause maybe while I'm on a phone call or in a meeting or something like that um is higher than the cost of any erroneous credits that I would use by not actually being around to micromanage it. And in general, I treat this the same way that I treat managing most of my staff members, which is I give it a lot of creative freedom. I just define the what and then I have it figure out the how. So, we're getting pretty close here. on the lefth hand side, the scraper now works or we've actually gone through and we've scraped um the service to get a big list of Upwork jobs. You can see them right over here. And so voila, my Upwork jobs are now stored in JSON. The thing is we don't want it in JSON. We obviously want it in a Google sheet. And so u the next step really is for it to go through and then generate all this stuff as a Google sheet. In the middle over here, it's building a whole website contact extractor in an execution called extract website contacts. py. Do I know anything about this or care how it's done the building? I really don't to be honest. Um I'm not a programmer really. Uh at least not in many years have I done any programming and even then it was like full stack essentially. Uh well sorry most mostly front end with like a little sprinkle of backend stuff. Um the point that I'm trying to make is I don't actually know about the implementation details and I don't really care about the implementation details. All I really care about is hey is it doing the thing that I asked it to do? It's doing a pretty good job here and I'll evaluate the results when it's finished. Then on the right hand side here, the instantly campaign creator is now done successfully. It's just going to verify that they display correctly by fetching them back from the API. So that's pretty cool. You can see that it will occasionally run into errors. So it just tried sending some bash requests. It failed the bash request, but that's okay. Like the building process is self annealing, which just means um you know if you have instructions in a highle file like this agents. mmd over here, somewhere buried in it is instructions that say, "Hey, if you screw up, that's okay. Just keep going. We want you to keep on going until uh you make it work. And then once you've made it work, actually update the instruction set that you have just created for yourself to ensure that the next time you don't make the same screw up. Now on the right hand side here, we have the first script that's telling us that it's done. It's also now asking me to do some OOTH. So I'm just going to do my OOTH sign in for both of these services. That's one. And this one here is for the second. Cool. And then um for the instantly campaigns, let's take a look at these. I believe it generated these test corp ones. So it's just asking me to double check. Is this the format that I wanted? Looks like it is. Yeah, it looks pretty solid. Wonderful. This one here is in the format that I wanted. And then wanted as well. Now, it did this with some example data. You know, it did some quote unquote SAS company offer. Uh which may or may not be what I want, but that's okay. That actually looks really solid. So, I'm going to say great work. Update the um directives to account for your learnings if you haven't already. Although, I can see it already has. I'm seeing that this made a very tiny logistical error in that the first step is 0 days in the future. Um make the first step one day, not zero days. And I just know that because instantly doesn't actually have a zero day um wait time. Basically, every step needs to be at least 1 day in advance. So, you know, models will make issues like this. Don't let me pretend that they they won't, but they make them during the building stage. And so, the workflows are being built. Every time you check the outputs, you can quickly verify whether or not they're what you want. And if they're not, you just tell it to fix. Then, when you run it, it's uh pretty procedural, right? I mean, it just it's a big Python script. So, it just calls the same thing over and over again. Basically the same thing as I don't know um you know, drag and drop and end flows. Okay. Okay, now let's see the output of that Upwork scraper. We see we have the client spent, client hires, connects, apply link, cover letter, proposal doc as well. That's pretty cool. So, hi, I work with this service daily and just built an SSL auto renewal script for Windows. Here's a free walkthrough. Let me just double check whether or not I can actually access the job link. So, I'm now running like a real life test to make sure that this is everything that I need. Looks pretty good. Looks like their budget's up to about 40 bucks an hour. So, I might be able to pitch more or less. And then I'm just going to copy this, paste this in. As you guys can see here, I have the Google Doc. So, why don't we take a peek at the Google Doc? So, this looks pretty solid. What I'm noticing here is there's some markdown issues. You guys see how there's like these two little um stars? So, I don't actually like that. Like, this doesn't seem very natural to me. And I think the markdown is now kind of a dead giveaway that it's an AI model. So, I'm just going to head back here and I'll say um great work. However, the Google doc is not formatting the markdown properly. Fix that. Then, update directives with learnings. Then once you're done, run a test on five jobs for automation. Cool. And um you know, I'm limiting the builder to doing the building and the testing when I want it to actually do. Okay. When I actually want to like execute these scripts, I want to use them as you know, part of my day-to-day um operating system. Um I actually create a new cloud instance. And so the way you do that here is pretty simple. I'm just going to create a new one uh right over here. Or you could just go back slashcle to clear the conversation. or you could go back/ new to open up a new conversation. Variety of different ways, but essentially in this way, you don't have any context pollution between the cloud instances that do the building and then actually do the doing. Um, so that's a question that I got just um a few days ago that I figured I'd answer here. [snorts] All right, so on the right hand side, this one looks like the first step has been updated to one day in both the script and the directive. That's pretty cool. What I'm going to do now is I'm going to have it run a test end to end and then I'm going to have it self anneal. Um, the reason why is cuz I want to see how does it perform with no context. If you think about it, it has a bunch of context as to like how the build works here. What I'm going to do is I'll go new. I'm going to delete this. Let's open this up again. Drag this over here to the right. And I'll say, "Hey, create an inst create uh instantly campaigns for this offer. I'm just going to reproduce. Dental Connect is my company. I'll say we book or we are a new patient acquisition system for Canadian dentists. Then I'll say um offer will get you 10 new patients in 30 days or we send you $1,000. We're not actually just for Canadian. So I'll just another offer. Um we get you three new patients for free and then go performance-based after 100%. Okay. So now I'm actually running like a test test. You know, this is like the building test obviously. actual test. I actually want to see does this thing work. Keeping in mind though that um even if it doesn't uh the instructions in agents. mmd which is injected into every prompt just get refed in. And so this has that context. It knows essentially what the structure of this is over here in the middle. Pipeline is complete. Fantastic. Taking a look at the actual data that became outputed. This is wonderful. So just going to drag this down a bit. Okay. Bold this. And then let me just fit everything. Lead ID scraped at cool. So all this information is still present. As you can see, you know, we scraped what 16 and then we ended up getting um a certain number of email addresses as well. 1 2 3 4 5 6 7 8 9 10. Some of these double up, but that's okay. We got a bunch of phone numbers and an additional phones column. I mean, this is crazy, right? We have all the social media profiles. We have a bunch of owner info. The depth of this is pretty wild. One more thing here on the left hand side, we have the fixed Google Doc markdown formatting. So, I'm actually just going to take a look at this data. Now, I'm going to This is the spreadsheet here with the proposal text. That's cool. Actually includes a column with the proposal text. I like that. Then we have the proposal doc. Let me just take a look at this. See how it did. Nice. That's a lot better. So, hey, I spent 15 minutes putting this together for you. I've worked with multi-million dollar companies like Anthropic. Yes, that Anthropic have a lot of experience designing, building similar workflows. This is really cool. Uh, really, really cool. Wonderful. Um, this is obviously me. So, I mean, don't use this copy paste if you haven't actually worked with these big businesses, but uh yeah, I mean, approach like this tends to work. You personalize the hell out of the intro, you mention some crazy social proof, and then you're like, "Hey, I'm just going to give you a bunch of stuff for free because I really want to get my foot in the door. " Um, and then, you know, in our case, we're doing some quote unquote deep research here. Uh, which is pretty positive. Now, obviously, review the scope. Uh, don't send things to Upwork contacts that you don't fully understand or know about, but with client spense like this, this is actually some pretty solid uh potential prospects for sending apps. Now, I should note one more thing. Um, I'm seeing here that I created an agents. mmd, but in reality, you don't just want an agents. mmd. You also want a claude. md with the same text. Then you want a gemini. mmd The reason why is because um depending on the integrated development environment that you're in um you know visual studio code using cloud code, using open's codecs or uh or uh Gemini 3, these actually all have different initialization files. So, I actually think the one that we need for cloud is cloud. md, not agents. mmd. This is supposed to be like the general purpose one, but systems don't always pick that up. So, just make sure that you always have multiple here. And I spotted this because the one on the right here, I gave it some highle instructions and it just keeps on asking me, hey, should I do this? Which is sort of like the out of-box behavior. Um, now that I've added that in, u, this should be good. Okay, this is now generated those three campaigns and instantly hopefully you guys see how powerful a system like this could be. And, um, yeah, I mean, like I'm really just scratching the surface with this stuff. You can customize any of these three workflows however you would like in order to make them even more powerful and certainly capable of delivering more of an ROI than just 5,000 bucks. So, take them all for free, do what the whatever the heck you want to do with them. Um, and just know I'm going to be continuing to publish a lot more of these agentic workflows. So, if you guys have any ideas and systems that you want to see me build, record a video on, and then show you how to do so, then just drop them down below in the comments. I read every single one. Aside from that, if you guys could do me a big solid, check out Maker School. It's my 90-day accountability program where I actually show you how to take all this building knowledge and then get your first paying customer for an AI automation or consulting related service. I do that for you in 90 days. And if we don't achieve that outcome in 90 days, you just get your money back. So, uh, no risk. You learn a ton through actually interfacing with the market. And then we get to use really cool AI technologies like this. Done with my pitch. Have a lovely rest of the day. I'll see you soon.

Другие видео автора — Nick Saraev

Ctrl+V

Экстракт Знаний в Telegram

Экстракты и дистилляты из лучших YouTube-каналов — сразу после публикации.

Подписаться

Дайджест Экстрактов

Лучшие методички за неделю — каждый понедельник