Viktor
00:00:00.000
I've seen people, and I hear people all the time how, they dive into it and after a day or two they have very bad. Reaction kind of like this, this is bad, this is horrible, this is, I'm slower. So on and so forth. in most cases, I think it's simply, it takes time until you get used to any tool,
Darin
00:00:21.607
This is DevOps paradox, episode number 3 1 1. Harnessing AI for accelerated project development. So back in 3 0 9 we were talking about at the end. Throwing away our work that we've worked on for a month, but now with ai, potentially that month can be squashed down to maybe a day or two. And how do we do that? I mean, Victor's been using Claude Code, right? That is your preferred editor slash agent. That's where you're at today.
Darin
00:01:52.235
Okay. So that, if that's the one. And we determined there were three pieces. There's the LLM, there's the agent, and then there's MCP servers. You're using cloud code as your agent
Viktor
00:02:15.224
Agent. Yeah, so Sonet is slightly better. Or better, let's say not that much better, but it has, I think, 100 K or 200 K context, but Germany has a million, so it can work longer before it starts compacting the context and losing things from, from what was happening before. Pros and cons,
Darin
00:02:47.538
you can get a lot more water into it. But then the third is MCP servers. Now what is your, no, we're recording this on July 1st, 2025.
Darin
00:02:58.338
So by the time you're listening to this in August of 2025, this Stack has probably changed,
Darin
00:03:05.073
But maybe not. What are the MCP servers you're using today and what? What are the MCP servers that you think will stick around until they get replaced with something bigger, better?
Viktor
00:03:16.984
The one I use always, no matter the project, no matter the combination, it is Taskmaster you basically tell it what you want. Hey, I wanna work on this feature, or I want to fix this issue, or I want to what, whatever it is. and it creates a PRD very detailed document. And you review it, you might change it or keep it as is depending on the results, and it breaks it into tasks and potentially subtasks, So that without AI it would take me a month. with ai we are talking about days. Task master breaks into, let me see, actually, I have it in front of me. 20 different tasks, and then there could be sub, there are subtasks there. And the importance is that, so imagine this is, this might work, this might PRD. Those are my tasks, those are my subtasks, right? And then, you connect the agent to it and you say, okay, which one should they work on? Oh, task number three. Why? Because task number three depends on task number two and one. Cool. Let's work on it, right? And you work on it and it updates it later on. Okay, this what we did, so on and so forth. So think of it as. Permanent memory of what is going on, a structured way to guide you through development and to record what you did. And I use it literally all the time that's probably the only MCP without which there is no project I'm working on.
Darin
00:04:49.384
if people aren't familiar with taskmaster, where can it be found? Because Claude code, you can find, but taskmaster, you type in that phrase in Google and you'll
Viktor
00:04:58.335
I bet that that's what you were doing while I was talking, right? Task. Dash Master dev.
Viktor
00:05:11.312
If you look at it, the webpage kind of it, it screams. This is for developers, kind of like, I don't know if you see it in front.
Viktor
00:05:26.067
But I'm talking about PRD as in hundreds or thousands of lines of P-R-D-P-R-D that you never wrote in your life.
Darin
00:05:33.946
stop, that's why I'm saying, okay, that's great. But what did you feed Task Master to get that thousands of lines that you never wrote in your life.
Viktor
00:05:44.394
It went through what I want. We have a conversation and it went through all the existing code and it figured it all out. The same thing is what you would do, probably just never so detailed. Hey, I ask you, Hey, if we want this new feature for whatever project you're working on, cool. You go through code, you figure out how it's working. Right now, you figure out how it should be working. You consult internet, you do a bunch of things, and eventually you write it down. You're going to end up with 20 lines because everybody's lazy on those things, right? But the model is exactly the same.
Darin
00:06:20.266
So the thing you just said there, you didn't say it explicitly, but. I want a new feature and I'm gonna take a look at the existing code. So to me that means this is great for not greenfield type projects,
Viktor
00:06:37.187
for Greenfield as well. Let's say we are starting a new project, right? Uh, okay. Come up with some idea. Anything.
Viktor
00:06:47.447
Cool. What is that clon of eBay going to have? It's going to have a database, it's going to have backend, it's going to have front end. It's going to have certain style. It's going to have a bunch of things, right? Clon of eBay. You came offi. That idea. That's significant work even for m, let's say MVP, right? Significant work. You need to write it all down. And that's what will it'll do for you, not necessarily alone, right? It's a conversation. Oh, so which database should we use? Oh, Redis. I think Redis is cool. I, no, Redis. I think Redis is cool, but this is what they need. Oh, no, no. It should be better if you use my sq whatever the conversation is, right? And it'll write it all down. Without existing code in this scenario. And it'll create tasks like create front, front end, create styles, create backend, right? There is going to be probably a hundred for in eBay type of MVPA hundred different big tasks with small subtask. Now, the challenge that this solves, rather than helping you create all those things, how are you going to develop all debt? Knowing that context is limited, you're probably going to reach the limit of the context within the first task, or probably first subtask,
Viktor
00:08:08.882
Right? And then you can do it without task master. You can say, okay we just finished this. Write it all in this file. Uh, and you're going to try to figure out how to structure it and so on and so forth. But Taskmaster provides structured way to do all that. we are finished with this subtask. It knows that because well, information MCP gives it. Okay. So I should update the subtask with what we did, uh, and then I should Market is done. then when you're working on something else, it can consult that thing to, to understand why are we doing what we're doing, right? So think of it as a ongoing design. Very, very detailed ongoing design document, Because when you as a starting work on something, you can rely, maybe if you're the only person working on it, you can rely on your memory and say, oh, I know what I did, right? Models don't have any memory, and agents have context that expires very, very quickly. I probably don't pass more than 15 minutes of work, maybe half an hour if I'm very lucky without that start being compacted, and that means that the information is lost immediately.
Darin
00:09:15.242
just rambling off like. You're following every word or that I'm following every word that you're saying. I am,
Darin
00:09:23.917
no, it's okay. Uh, I was following it. So let's not say a clone of eBay. Let's, alright, I'm gonna ask this because we haven't, I haven't asked you this explicitly, so why not put it on tape if actually use tape. So recently I noticed a change of when your videos come out on Monday. In the Slack workspace, there's an a new bot that now just says YouTube bot or something. I can't remember what it's, did you go through this process and create that YouTube bot?
Viktor
00:09:50.032
Yes, I created a, I have an application that I use for managing my videos, and, uh, I created a bot. When I say I created a bot, I mean, I talked to cloth code, uh, which created a bot. Yes, I haven't written a single line of code or executed a single command in close to half a year. When I say I haven't written the command, I mean literally, you know, kind of, set space, blah equals blah.
Viktor
00:10:23.777
No, I always review absolutely everything. I, I never let it save anything without me reviewing it. But I'm getting better at telling it what to do and, as a result of me getting better and I also start to understand what works better, what works worse. So my reviews are faster and faster, right?
Darin
00:10:43.261
And since you're telling it better, does that mean it's giving you better output?
Viktor
00:10:47.214
Oh, definitely, a hundred percent. And I'm also better at choosing, so one of my favorite. Let's call it a language. Scripting language is no. I'm not using och anymore because simply models don't understand it well. Now with the way I'm working, I'm going back to Shell, which I think is horrible compared to No. But I simply, it works from the first attempt. I'm faster writing Noelle and more accurate writing Noelle than Shell. By a big margin, but agents plus LMS are actually faster and more accurate writing. Shell and I care less and less. You're going to go bazooka. Now, when I tell you, uh, in which language the, do you know which language I'm using for the project I'm working on right now,
Darin
00:11:43.526
Yeah I do know at least it's type safe. Beyond that. I can't say anything else nice about it. But that's what you're using because that's what it's happy generating.
Viktor
00:11:54.533
it's not the only thing that is happy generating, but it happens to be a good choice for what I'm working on. Let's say that it would be one of the three good choices for what I'm working on. And, uh, why not?
Darin
00:12:07.030
Okay. Fair enough. So what I'm hearing, we've got taskmaster cause I, I want, I wanna get back into what your current MCP list is. So you got taskmaster, what else do you have?
Viktor
00:12:25.907
I, they cannot, but you can cut it later. Look, just take a quick look at. The file that I just sent you, that is the project I'm working on
Darin
00:12:40.586
Okay, so first off, you can't see this because it's off on my other screen. I see that the, the handle to slide down the page is so small, I can barely touch it. this thing is, eh, it's not that big. It's 1,743 lines. So are you telling me you defined all of these things? Oh, these are the tasks that you just sent me for a
Viktor
00:13:00.612
are the tasks and tasks the SubT tasks. Some are done, some are pending. Some one is, uh, in progress. But just to get the scope of everything that needs to be done without losing sight of what is done right, you cannot start from scratch.
Darin
00:13:16.651
Right. So you were saying that everybody needs to. Well, you said this, you don't allow things to go without your review. Does that count for everything that taskmaster generated for you? I'm, I'm rewinding just a little bit
Viktor
00:13:33.287
Uh, no, because I talk with agent about it once we agree. That's the what we want to do. Then it instructs task master to store it. Now Taskmaster does not store it as is, just to be clear, because actually Task Master is a very strange type of MCP because it's MCP and an agent at the same time. So Task Master itself is connected to, uh, tropic, in my case to sonnet model, So it'll take what my agent. Plot code sends to it. It'll prop process it with another model, so it'll not be exactly the same text, but it'll be close enough. Conceptually,
Darin
00:14:15.667
Okay. So lemme go ahead and forward back in. Now what are the, the other, so you're using Taskmaster. Is there any other MCP servers that you're using?
Viktor
00:14:23.525
I use heavily memory MCP. every agent, let's say Claude code, Claude code has Claude.md where you can fill it in with everything that matters and should be loaded when the new session starts, right? Oh, I want to always do TDD this is my code structure, and so on and so forth, right? So think of it as initial memory that is loaded when the new session starts. Now memory, MCP is something similar, but it is agnostic to an agent, then if I switch from Claude code to cursor, I don't have to now transform Claude code, special Claude.md file to whatever cursor uses for its. Initial context, I can just say, Hey, connect to that MCP. That's, and when I, when, when I start the session, my first instruction is fetch memory from this MCP, right? And just loads all the context and it's a growing thing. It's alive, right? So for example if I see that, uh, hey, you started writing implementation without writing code first. Sorry, without writing test first, I would stop it and say, you know what? Memorize that in this project we practiced DDD test first, make it fail. do the implementation, confirm that it succeeds. Right? And then I increase my memory, initial memory for a bit, And then I find something else that he does that I don't like. Hey, I started writing, I, I, I just, uh, started using this framework, for testing, right? No, no, no, no, no, no, no, no, no. Stop there, right? Kind of. I prefer my test to be written in, in this format or, uh, with this framework, so I'm just keep feeding that memory with instructions because I'm not capable to come up with all the rules that I needed to follow from the start. If I would ask you, Hey, what are all the gimme 1000 different rules that you think are important for this specific project? You'll not come up with them. Right. But over time, you just keep memorizing more and more.
Darin
00:16:36.045
So while you were talking there, I was completely ignoring you. So I'll listen back as I'm editing, but I was looking at the pricing for Claude code. Sorry, I'm, I'm like squirreling everywhere here. I'm trying to figure out what I'm going to do. And hopefully people are listening are gonna go like, okay, what do I, what should I do? So I'm looking at cloud code and the cheapest I see is basically $200 a year
Darin
00:17:04.211
Or you can just pay for tokens. So you can install cloud code and just pay for tokens.
Viktor
00:17:07.987
Yes. if you were talking about this like months ago, I would say there is no way I'm going to pay 200 bucks a month. Uh, now, no doubt if I would be paying it, which I'm not. Yeah. I would go for 200 because I use it all the time. Right. Kind of. And if you go with cursor, 20 bucks a month or something like that, right? First of all, after a while it'll start showing you messages, slow requests, because there is a limit to how many requests you can send, how many tokens you can use, and then you can continue using it, but it'll be slower, Which is still fast compared to humans, right? But slower. Then it is trying to save on tokens and so on and so forth. I feel that if you are going to be, let's say that you're going to be two X faster with, uh, with AI with Cursor right now, and that's useful to you, would you pay 200 bucks instead of 20 to be triple? And I'm not going now, you know, crazy internet where people say 10 x let's say do double. If you would double your productivity, is that worth two, 200 bucks? And I'm talking about day-to-day productivity and I'm not going crazy high saying 10 x, a hundred x, all that nonsense. Just double
Darin
00:18:29.646
That seems pretty reasonable. That would be $10 a day. I'm gonna tell you how much money I make, but I make more than $10 an hour. Uh, a lunch is maybe $10. If I drank coffee, it would be two coffees. Actually, I don't how much coffee cost anymore. It'd be three sodas, let's put it that way. It'd be three or three, three energy drinks. If so, 200 feels bad. But when I break it down to, okay, if I'm gonna use it every day of those 20 days, is it worth $10 a day? And the answer is
Viktor
00:19:01.497
LL. let's be extremely pessimistic. Let's say that you're a company and I tell you, and this is more pessimistic than anybody in the world right now, and I tell you, Hey, you, your people can save a day, not be twice as fast. Just save a day of a month is still worth it. For a company.
Darin
00:19:41.720
but I have to learn how to use the tool and that's the key part. Right. And that's gonna be the, the problem. That's what I'm gonna have to deal with. Right. Me, Darren trying to figure this out.
Viktor
00:19:53.118
That's the ma, the biggest challenge. I've seen people, and I hear people all the time how, you know, they dive into it and after a day or two they have very bad. Reaction kind of like this, this is bad, this is horrible, this is, I'm slower. So on and so forth. in most cases, I think it's simply, it takes time until you get used to any tool, Eclipse vs. Code. This language, that language, right? It takes time until you're productive, right? And you're, you are, you continue being more productive as the time passes. not necessarily first month. You get bigger increase in productivity than year, a month, uh, after a year, but you get more and more productive over time, so you need to stick with it. Let's say that you start with it today and you say, after day, this is not working for me. Give it at least a month.
Viktor
00:20:53.084
So I had the special use case for cloud code when I started using it. And that's, that was operations, Not writing code. And you, you know, to me, using a for operations, which I always perform from a terminal, using terminal based, uh, agent sounds like ideal situation, why would I go to cruiser to the operations? Come on. So I got familiar with it but then I dropped it whenever I kept to write some code, and I kept hearing how good it is and I know how good it is. But still, you know, IDs id, there are so many nice things over there. So it took me a while, but now I'm there fully.
Darin
00:21:32.689
And again, I'm jumping all around here. Going back to the project you've done now with that YouTube bot, it gave you type script. I.
Viktor
00:21:43.579
YouTube bot is, is goal to be a hundred percent transparent. The one I'm working on right now is TypeScript. Yeah.
Darin
00:21:50.533
It's types. Okay, so when you set that up, did you tell it the language you wanted or did it offer you? It's like, Hey, I could do it with that, but it actually be better if we did this for these three reasons.
Darin
00:22:14.863
Uh, see, way back we were saying, come on, we cannot humanize these AI things. And yet you just said, we talked about it.
Viktor
00:22:26.259
Yeah, because I explained what I want. I explained the idea. We went back and forth for tunnel design and many other things, and among many other things we landed on TypeScript.
Viktor
00:22:45.510
think of it this way, right? Would you agree that you are more proficient at reading different languages than writing?
Viktor
00:23:02.246
I mean, it doesn't matter. Don't gimme pearl. And I'm still not jumping into Python. Not that there is anything wrong with it, but, you know, or PHP, uh, there is, but I'm trying to be nice. But, I'm reviewing the changes it makes and I can do that in almost any language. I mean, I think that I can code in almost any language, but I would, the results wouldn't be so great in.
Viktor
00:23:31.618
exactly. Exactly. I don't know the syntax of that well, of TypeScript, just show me any TypeScript code. I will tell you what it does most of the time and when it, when I don't know what it does. There is the magic sentence. Can you explain this to me, which I use all the time.
Darin
00:23:50.827
Is that the number one prompt you should always remember? Can you explain this to me?
Viktor
00:23:55.311
many of our conversations are like that, Hey, let's talk about this, for a while, right back and forth. And, uh, we talk about the design for each task. And uh, then it does something. And I understand immediately, sometimes I don't, sometimes we talk about it not only for me to understand, but also for it to understand, what I really want. So conversation is always the key. It's the same thing what you do with colleagues. And going back to one of the previous sentences you had, I think in a previous episode which I wanted to remember to get back to. You said it's non-deterministic, right?
Viktor
00:24:39.728
Exactly. You know when people complain, oh, I got, this is bad. It's not deterministic. Sorry,
Darin
00:24:46.350
There's certain things that we'll always give the same answer to. Now, same answer doesn't mean correct answer. It may be correct, but it may not be I. So we have all of the human problems without the, how can I say this politely without the human. Emotional issues, I guess I'm trying to be polite, man. I, okay, so lemme rewind. I gotta think about what, what my Stack is gonna be because we're actually recording some more episodes tomorrow as we're recording this one. So I've gotta figure out what is my homework for tonight. It sounds like my homework for tonight is to get clawed code set up. 'cause I have an idea because I looked at the. Well, no, let me, let me give you the reason why I think so for a moment I've got this one problem I'm working on for work and I'm still trying to get my head around what does this code really do? And based on what the cloud code site has, it's like, explain this code to me or explain, you know, summarize this for me, the whole project. So it seems like that would be good, but it seems like I, I could also do that with VS. Code and the other ones too, or excuse me, GitHub, copilot
Viktor
00:25:56.392
So don't, don't, just don't. Remove it from your vocabulary unless something drastically, drastically changed the last couple of months. But I would probably, if you're starting, I would probably recommend Cursor Red and Cloud Code It'll give you more confidence, right? The way how it shows diffs. one of the nice things is that hey, it'll change one file, and then second and third and fifth and fourth, right? you will see all those diffs there and you can accept them at any moment. You can accept them once it finishes. Five changes to five files, With cloud code is, I'm going to change this file now. Yes or no. This is just one of many examples, right? And you don't necessarily have confidence to proceed with the change because you don't know what is the next change after death and so on and so forth, right? And there are many other things that cursor just makes nice. So think of it like Vim versus VS. Code.
Darin
00:26:57.882
Okay. And that seems fair. So it sounds like there's a place for both depending on what I'm trying to do.
Viktor
00:27:04.852
I do think that ultimately cloud code today, Vince, future, nobody knows things are changing so fast, but I'm not sure that it would be the, the best starting point. terminal, it's tough. actually one thing that I haven't said, it can work also within Cursor and with that, within VS. Code, but it's not good really.
Darin
00:27:25.037
that would make sense. so I have homework. We were all over the place. We talked about memory, we talked about task master. Now memory is if you were to look up memory, it's gonna be under model context protocol under the servers, sta. So model the model context, protocol, organization, and GitHub.
Darin
00:27:55.634
Are there any other besides taskmaster memory that people should consider from the outset?
Viktor
00:28:00.169
Those are the two that I use all the time. On top of that, you have usual culprits. It really depends, you come up with, Hey I should notify my colleagues while I'm working, uh, on Slack. Cool. Slack. MCPI I should open an issue in Jira. I'm very lucky that I don't work with Jira, but let's say that you do and let, I will assume for a second that there is MCP, I dunno, let's say that there is, right? Ah, cool. You connected to your cursor. Open a Jira ticket with what we just discussed. One of the nice things that, so I have. You know, the YouTube application, the one, the bot you mentioned, right? I have a backend and I'm working on a front end of that one, two separate projects. I don't like mono repos, and I have instructions in each of those that I'm working on a front end and there is something related to backend that needs to be done. And there is instruction. Hey use, uh, use taskmaster together with, uh, GitHub, MCP to create a PRD for the backend project. Right. There we go. I have a GitHub issue with everything that backend needs to know to to work on it. And then record in, uh, local, uh, taskmaster. Hey, we are, IM impose on this one, uh, because, uh, backend, uh, needs to finish whatever needs to be finished. And I'm done.
Viktor
00:29:28.816
no, no. I have two taskmasters. I, I did extra work and did beyond what Task Master normally does. I'm, I'm connecting my task master to to GitHub, so it uses GitHub issues instead of internal, local p ds as designed.
Darin
00:29:45.705
Right, which is what it sounded like you, what you said, but you didn't say it explicitly. So you're using GitHub issues as your source of record or system of record for. And then both task masters, both task Masters are looking at that issue or set of issues to do the work.
Viktor
00:30:03.446
I have, uh, in memory instruction here. Whenever I say some, uh, synonym of any form, that means get PRDs. That means that you should go to a GitHub issue, uh, to GitHub of your project. Get all the le issues with the PRD as a label. Let me choose which I wanted to work on, and when I choose, then convert that into local task master PRD, from which it'll create tasks.
Darin
00:30:31.156
So much to learn. And here's the key point to all of this. All of this has happened to you in the past four months,
Darin
00:30:41.131
half year, six months, regardless, Did you think in your bingo cards for this year you would be doing as much AI as you're doing at this moment?
Viktor
00:30:49.577
No, I mean, I knew that it's I've been playing with AI for year and a change maybe two years on and off. You know, I want to know what it is, and then I would try different projects and different services and never get really happy with it. So, it's not that I was oblivious about it, I just did not feel that until. Half a year or so, it was worth full commitment on my side. That's the major difference. And yeah, I've seen the progress over, over time. It's tremendous, right? It was, this was inevitable and I cannot even imagine where it's going to go from here. But I maybe wouldn't have predicted that it would become so useful so fast, but. That was the direction.
Darin
00:31:33.550
Yep. And here we are. So what do you think, are you at this point where you're using AI in every day? Are you willing to spend $200 of your own money per month to save yourself hours? Maybe days.
Viktor
00:31:49.941
if you use Gemini CLI, which is similar to cloud code. Just very early stages that you get a bunch of free credits. One, one also thing that you might want to consider Darin is open router.
Viktor
00:32:04.371
Open router gives you access to almost all models. So you have one subscription, or I'm not sure whether it's subscription or, or pay for tokens. And then you can just switch from one to another, see what works for you.
Darin
00:32:17.840
Interesting open router. I'll check that out. So are you going to be doing this yourself? Who knows? Head over to the Slack workspace. Look for episode number three 11 and leave your comments there. We hope this episode was helpful to you. If you want to discuss it or ask a question, please reach out to us, our contact information and a link to the Slack workspace or at DevOps paradox.com/contact if you subscribe through Apple Podcast. Be sure to leave us a review there that helps other people discover this podcast. Go Sign up right now at DevOps paradox.com to receive an email whenever we drop the latest episode. Thank you for listening to DevOps Paradox.