DEVWorld 2026

Salih Guler - Stop Chat-and-Hope and Start Building Better Apps with Agents

32:25 · 07 May 2026 – 08 May 2026 · YouTube

About this talk

This talk explores the integration and application of AI agents and coding assistants in software development. The speaker discusses the current trends in AI usage, highlighting the adoption rate of tools like ChatGPT and GitHub Copilot. They emphasize the importance of clear communication and project specifications when working with AI, using examples to demonstrate how vague requests can lead to ineffective results. The speaker recommends setting boundaries and strict guidelines for AI tools, ensuring they understand project requirements and constraints. The concept of agent-based development is analyzed, including the use of skills for enhancing AI capabilities and integrating external resources. Furthermore, they introduce the notion of the AI software development lifecycle (AI SDLC) and how it differs from traditional methodologies, showcasing practical implementations and outcomes.

Full transcript

Did you have some fun yesterday? That was the first day of the conference. I hope the evening was good as well. You can relax. We have two more minutes. I just wanted to get to know you all. I'm very happy to see you all this early at the conference. Um it's going to be hopefully a good day. So, thanks for choosing to start the day with me.

I'm very I'm very excited about it. So, slowly kick things off. What I'm going to talk about today is, of course, everyone's favorite topic. We will we will talk about agents, AI, AI coding assistants, and everything. And it is a crazy topic, right? Right now, we live in a big, big noise that we believe it's all around. But, research show actually it's the opposite. Like, even though

it's quite loud, uh you can see that the adaptation rate of AI tools is quite lower than what we think of. And that is why every information that I share, I always ask like, "Hey, how many of you using this? How many of you have used AI tools before?" and so on and so forth, which we will get to know each other in a second. But, you

would be surprised at the amount of people who has still not tried the AI tools because of many reasons. One of them is company policies. The other one is, for example, how expensive it is. I guess many of us work at a company and once you don't pay for it, it's actually quite um Yeah, it's quite expensive. But, anyway, we have we have we have been talking

about AI a lot, and it feels like it has been in our lives for forever. That's why the FOMO is real. But, when you think about it, it's not that far away. I remember in 2023, I was at a conference with some folks from GitHub when they were showcasing GitHub Copilot. And they were like, "Okay, here's the comment that you write. For example, translate the following to

Japanese." We were in Japan for a conference back then. And when I saw that the English statement turned into Japanese in the next line with the auto complete, I lost my mind. I was like, "Oh my god, this is like one of the best things that happened ever." Then, of course, when when you think about it now how like simple it sounds, but actually it was already

crazy back then to create functions with simple comments about it. not so long ago, 2024, tools like ChatGPT came to our lives. For me, the adaptation rate of ChatGPT is so crazy. For me, the real reason that I see that it's actually adapted is like my mom uses ChatGPT to, you know, discuss about her favorite telenovela nowadays. And it's so crazy to me that we all like

we can see that even her, she sees a value in this one and all the information it brings as well. But from our perspective, I think a lot has changed in 2025. In the 2025, we heard term agents more and more. When you think about it, agents were always in our lives. Like like when you talk to this chat apps, actually they are chat agents, right? And

they were in our lives for longer time periods. And we were always thinking, "Oh my god, like now we have more agents to coding stuff and so on so forth." And each state we always had like, "Aha, okay. Uh we lost our jobs, everything's that." And so on so forth. But actually it's the opposite. The way that we work has been evolving all the time. And the

way that we have to work is changing every And today I will show you what I have been doing in like in my day-to-day job and in also like in my own personal projects and so on to make my workflow efficient. Because when you think about it, the the point that ChatGPT was giving us code, which was around 2024 as well, that people were just like copying

and pasting. You can see that like you were asked me to do something. AI was generating a code. Then you ask like, "Does it work?" No. Then you go back and you ask it again and like you turn into a circle. If it's working good, ship it. Sadly, it's not that easy after the first feature, right? Because then it slowly turns into a chaos. After you ship

it, then the technical debt comes up. Oh, you This year we have seen a lot of security issues and so on. How are you going to fix it? Then you need to ask ask the AI agent again. But AI agent doesn't remember what was going on. It doesn't understand what was happening because from the vibe coding perspective, only thing that it knows is the session that you

had to build this That is why when it doesn't understand everything, when it lost itself, it's completely becoming even more horrendous than it AI agents also there to make you happy. One of my favorite projects that I've seen in this field is this one. Maybe you remember. you are absolutely right from Claude. Like someone built a website to count how many times Claude told them uh that

they were right, even though they were wrong. And it has been a great project until Claude fixed it after this to show that like yes, that was a mistake. But this showcases that like whatever you do, if you do not know what you're doing, if you are not purposefully about how you use AI tools, at the end of the day, it turns into a complete uh mess

that you can't move away from. Let's take another step back and imagine that you keep moving with vibe coding. You still use the vibe coding tools and everything, which is still great if it's working for you. But now you get to know about new uh problems. One of the biggest problems in AI world is of course hallucination. The hallucination is AI sometimes will act like they know

something that doesn't exist or they will pretend like you did something that doesn't exist. And most importantly, AI tools will act like, "Oh my god." like uh whatever you are doing would make sense to me in many cases, but it actually doesn't make sense. And code base slowly goes into the fire, everything breaks down, and you try to salvage it with more prompting, then it breaks more

stuff, and things get overly complicated. Would it work? Maybe, but of course, if you can deal with all this craziness, sure. For example, I I have a small kid. I can deal with all this craziness. I shouldn't, but now I know how to deal with chaos, so if you know how to deal with chaos in your life, probably you can do it with the code base as

well. why the chaos? Why do you think like besides all the things that I said, why do you think that we have this chaos? Because we are not clear. We are not clear of what we want. We always want to fix things as fast as possible, and we always want to do this in our in our way, the most efficient However, it's not that easy. I will

give you one example. So, if I go to one of these agentic tools and ask it to build me an AI agent that monitors the Hacker News front page, reads comments, outputs a sentiment report. Before I move forward, how many of you don't know of Hacker News is? Yeah. Hacker News is a website that has been built by the Y Combinator uh founder, which is a a

startup ecosystem, and it it is one of the places that you look for in case you want to see some news and everything. And the reason that I want to build this was in my team everyone loves Hacker News, and I'm the person who doesn't check it out that often. And I want to build a summarizer for me, so I I cure my FOMO, you know? And

I asked directly to my chat agent here. I said like, "Build me an AI agent that monitors Hacker News front page, reads comments, and outputs a sentiment report." you would see that it's not going to be enough. Because if you go through everything that it did, you would see that the first thing that it did was it actually did not create any agent for me. It actually

created something that acts like an agent, meaning that there will be a program to be called by other agents. So, it is not using any platforms like any agent building platforms. It doesn't use any frameworks. It just has a HTTP wrapper around Hacker News. And Hacker News has an open API, by the way, by like open source. You can use it by yourself, as well. So, immediately,

the first thing that it did was it didn't ask me what I want. It didn't ask me what I expect. It thought that I would just want something with HTTP requests. From its perspective, agent doesn't mean AI stuff. It from its perspective, agent actually means something that does But I don't want this. I want to have a like more smarter approach. I want to be able to

use large language models to bring this information and create and turn that into a sentiment analyzer. And how will I do that? I will bring boundaries. Let me go back to my slide. what are the boundaries? First of all, you need to understand that you need to steer the conversation in with your agent so they can understand what you mean. You need to tell them, for example,

if I wanted to build with agent an agent with agentic frameworks, it should know it. Second thing is AI tools give you a lot of files that you can use to build these purposes. You can define your base rules for your project. You global ecosystem, as well. You might be thinking, "This is so simple. Why like why we are like why we are even talking about this?"

It It actually not that simple because I've seen uh people bloating information on agents. I've seen people using Cloud MD or like QRC files to just do sim like most complicated stuff instead of thinking simpler. how will we define this? in these files, use imperative absolute tone. Make sure to use words like must, never, always, strictly forbidden, you know? Never use like, "Please do." or "I prefer

you do it this." or "Usually in this project we do go with this." If you do this, it means AI agent has an option. You should not give it any options. Second thing, it's very important to do negative prompting as well as positive prompting. You need to define what the agent should not do as well. For example, which files that it shouldn't touch or which operations like

database migration shouldn't it do. Also, ban specific libraries When you think about it, I will give the Axios example. AI agent will automatically go and try to build the HTTP ecosystem with Axios, but there are many simpler ways. Axios is way more complicated, so you need to tell it, so it doesn't go on the training data, but it actually goes with your suggestion. And restrict the autonomy.

Always ask for information. Always ask for more recommendation. It should ask you for more Make sure to keep it lean, under 200 charac lines. Focus on project. You might be saying, "What if I have 6,000 things in my project?" That's great. Use the router pattern. Router pattern allows you to tell the agent to go to which file for which information. So, this way you would have a

proper context for your application to go with. And of course, separate context from the actionable instructions. For example, define what project what kind of project it you are building. If this is for If this project is a Next.js project, for example, tell it, so it should know. Or define a global rule for your teams or for your company and say that if you are building a website,

it is a React with Vite, for example. It's totally up to you, but this is the way to go. Of course, define actionable rules as well. If you go with Next.js, use the server actions. These kind of uh connections are very important for your tools and everything one thing that I've seen everybody is doing wrong is like when they do prompting, they just use a paragraph, just

big paragraph. How many of you are are doing it that way? Nice, nice. Come on, come on. Don't be shy. It's okay. It's normal. This is what I've been doing as well. It felt more everything in place. But actually for machine readability, make sure you use or take advantage of markdown because it will allow you to define the importances importance rates by headings or by the list

numbers and everything. Use standard bullet points. Use bold or italic to say showcase some information is more valuable than the others. with everything in place, let's see how everything would look like in the second iteration. By the way, I will share the source code and everything with you later on, so no worries. Just follow along. with this one, what I did is I created a new file

called agents.md. With the agents.md, I had five different instructions. Number one, the project overview. This is strict TypeScript project. Ensure all code modification adheres strictly to the conventions and boundaries defined below. Second thing is pre-compilation check. Before completing any task or reporting success, make sure npm run build is there and do not consider task finished if the build is wrong. You can see that like I have

the must here. I have the not here as well. Coding conventions, TypeScript typing. I don't know which languages you like. I love many languages. Generally, they are strongly typed languages because I like having boundaries in the program language and I put a specific rule about any here. I don't want an LLM to use any. I want it to use right types and I put also a bold

statement here that so it doesn't miss it at all. And always define and apply the exact correct types, interfaces, and so on and so forth. File management. I don't know like some people like it, but I hate it when my large language model randomly creates a summary file for any operation that it does. I updated the test. Great. And there's a 600 lines of change that doesn't

didn't happen at all. But why do I need to see that? If it's relevant, I just need to see it in my readme. I define used technologies. For agent building, I say I want to use Strands, which is an open-source framework from Amazon. I might be biased because, you know, and I work for Amazon. And I also said like use CloudHiker 4.5. It's cheaper. It's good for

text uh related operation. So, I want to go with that one. And for infrastructure, I use Amazon Bedrock. This with these five information here, next thing that I did actually run it. The same thing. Literally, the same command. And once I do it, you can see that it immediately takes in this agents.md file. This agents.md is a uh right now it is understand what's going on. And

now it automatically takes that information. Next thing that it does is it it actually gets this information from the Strands about Strands because with the large language model, it doesn't know what Strands is. Strands just became GA 1.0 like two or three days ago, you know, like from its perspective, it doesn't even exist. So, it does these fetch operations if your AI agent can do it. If

it can't do it, it won't do it at And later on it it will actually build nice agent for us uh to see with everything that we need like including the prompts and so on and so forth. And go ahead and run this very very quickly. Come on, demo gods. Do not leave me alone. So, first of all, I install the libraries. after I install the libraries,

the next thing that I will do is npm run dev. And it's it will get analyze the five Hacker News front page stories right now that is happening today. Gets the comments. It will create a sentiment analysis out of the top comments out of it. So, you can see that for example, uh overall front page mood is like mix of crisis and so on. Canvas is down

on shiny hunters threat and so on and so forth. Highly negative. And maybe you shouldn't install this again like mixed feelings and so on and so forth. You can see that it reads the comment and make some alterations. And for this one, only thing that I did is uh let me find the prompt. Okay, I don't see it because it's here. I created this simple prompt. Like

I explain what it's job, what it should do. You can see that I have a list like I explained and I explained what I need from it as well. It's very important to manage expectations from these kind of tools, otherwise you will feel lost. All right. So, now I have the agent that I want to build. Everything is good. Do you think the talk is done? No.

Uh we still have 15 more minutes, so we will learn a lot more. The next thing that we will talk about bringing this to the developer life cycle, right? Because let me move forward. We were here. Yes. If you have been building software more than 3 years, you would remember the times that we were going with the SDLC, which is the software development life cycle. What we

were doing was we were doing planning, we were doing analysis, afterwards we were doing design, not the UI design, the software design that we have. Next thing was actually developing, and after developing we were testing it, and deploying it, and maintaining what has been done, and just keep it in the circle. Software development life cycle has been used in multiple layers and changes, but always keep in

mind that this was a standard for a while. this has changed with AI as well, because when we try to pull live coding into the software development life cycle, in every stage we need to fight other battles. What are the requirements? How much information do I need to do I need to feed into the prompt, so it would always know about not only the changes, but also

everything that's happened as well. To fix that issue, uh spectrum of development came to our lives. Spectrum of development has been in if I've been honest in our lives for a long time, you know, like if you have been building software for a long time period, like we were always writing specs, we were always defining what we need to do and so on. But right now, it

actually became our lives as part of meaning that we we let AI to build the SDLC for us in a new format, and this new new format is called AI SDLC. So, everything that you do, you define it with you define by planning with specs. The next thing that you do is you do the analysis with AI of what your spec is, and afterwards the design design

the architecture design happens again through the AI. And once everything is done, the tasks are created, you can do two ways. You can either let AI build it or you build it, it's up to you, but AI is in every step of the what you're building. Writing tests, creating tasks, everything that you might think of is part of AI right now, including deployment. So, with everything in

place, you might be asking, "How am I going to do all of these operations?" The operations are done through multiple tools that you can use. For Spec, there are multiple There are a couple of things that you need to keep in mind. First thing is we need to change uh branches. I forgot the word branch, sorry. No, not 9:00 still. Let me get a bit of coffee

quickly. here's what I did. I have created this spec file for me, and I said, "I want this to be the contract for my Spec Driven Development that I'm going to be doing." The contacts, the information about the project. This repository already contains a strains-based agent, so my agent is already there. I just want to carry on using it. And I say, "Ship a web front end

that lists every port and renders the selected one. Reuse the existing sentiment agent, change, and so on." So, basically, with this one, my goal is to build a front end for the agent that I have. change that I did though, you might be seeing that we don't have the agents.md I wanted to go with something different. I wanted to actually create some global rules for my project.

And what I did is I created this behaviors file. The behaviors file is created for my agent to always keep in mind or always used by keeping this information. You can see that the non-new markdown file is already here. But But for technology stuff, I will say, "You must always use React and Read for TypeScript and TypeScript for the web projects." So, when I say the application,

it already knows that it's going to do that. And for being faster, I'm not I'm a huge test fan, but I said do not write tests if you are not told so. And simple stuff like do not push securities secrets and so on so forth because otherwise you will be on LinkedIn and everybody will be reposting failures well. One additional thing that I really like doing is

it's up to you is commit commits are free. You can squash it in case you don't like it. I say for every 100 lines 50 lines of change try to commit it with the meaningful messages. And in the for me the most important part is I want to know this is from Kiro not from me. So I want it to append to the commit messages as well

so I can keep track if the change is from me or if the change is from AI itself. So if I go back to this new session that I have. In this new session I just said like current file the current file was this file that I created. And first for doing this I actually selected the spec mode. You can do the spec mode in two ways.

There is a spec kit you can use it as a tool. You can write your own specs that I will show you in a second or you can use a spec driven tool that comes with tools like Kiro here to be able to build it. So in here I I gave I gave this current file and told it to create a spec for me. And if I

go to the spec you can see that it created three files for me. One of them is requirements the other one is design and the last one is tasks. When it creates these tasks every time it lets you know. It's a conversation that you have with this tool. It asks you questions. It gets clarifications from you. It gives you options and recommendations along the way as well

so you can build this. Don't you like something you can always go back tell it through the chat and say I don't like this change it or refine it directly as well. It's up to you. And it writes the glossary and so on. One thing that I like is it creates the user stories and acceptance criteria and everything that might need as well over here. Once it

creates that, it asks you, "I have everything I need for requirements." So, you might remember from SDLC, now I have requirements. Next thing is design. The design is the highly technical part. It gets every information that you might provide and says, "Okay, I will basically make some decisions and so on and so forth. Like, I will use this like libraries like React Markdown because I'm creating a

Markdown file to show on the website. Every library change decision and so on is made. And it even creates a mermaid diagram, so you can copy and paste it to your favorite diagram tool. I would recommend Excalidraw. It's very nice. I'm not getting paid or anything from them. I just like the tool. opinions are my own, you know? >> [laughter] >> Just to just to be open.

And the next thing is the task list with everything that we have so far. It actually creates a task list for you. Like, for example, scaffolding the scaffolding everything as a project. Creates the Vite project, continuous enabling strict TypeScript compiler rules, and so on and so forth. Everything is generated by it. I was on the driver's seat to say this is good or not. Once everything is

in place and everything is done, the next thing that to actually build the website. Once it Once it builds the website, let me also show you very quickly. It is okay and all, but still it would be nice to have more options because so far every information that we have is either steered by me or the large language model itself. What if I want to go further

than that? What's going on? It will build do do do My little foreign matter. Okay, I don't want to waste time. I will continue like I know it's going to work later on. >> Trust me, you will see it. when I was writing my specs, I was following a few rules. One of the rules that I was following was a goals and no goals and defining the

text stack what I need and everything you might be remembering web and so on. In case you don't have your rules, you can actually have the text stack and project structure directly there. And you can define executable commands like run npm run build, for example, before moving forward or writing clear acceptance criteria and everything in place. And also through your cursor rules, through your cloud file, through

your agents file, through your curator steering file, make sure you're set the boundaries. Now that you have like built a project and everything, the next thing that we will do is we will be talking about MCP. How many of you have heard of MCP before? Nice. For the folks who has not heard of it, MCP is a protocol for agents to communicate with external resources. You can

connect your data resources such as, for example, if you're using Jira or Atlassian products, there's an MCP server to use that. There is, for example, for AWS, there's AWS MCP to get your resources as well. Thank you. you can run tools as well. One thing that I I have done is, for example, I have run the playwright tool to be able to uh like run my tests

and everything. I will show you in a second. You can run workflows as well. You can create tasks. You can summarize your questions and And of course, you can get the documentation and latest information as well to go beyond its knowledge. The MCP will more or less will look like this. So, user will ask for something and AI will decide, "Okay, for this information, I think I

need more information or more actions." And the actions will come and go to directly to the MCP server. There will be tools which are like functions that you can that is going to help you to write this information. And with this information, you can bring back uh the actions or the tools, whatever you might need. And it will go just use the URLs and so on that

you might have. Here is how it uh might look like. Let me go back. So, for example, I used it for a bug fix this morning. And I said like, "Okay, there were some things that I've seen as a problematic side. I want you to just test out whatever it is going on." And it will actually go ahead first open up the browser. And after it opens

up the browser, it will click on like you can see the report is created. Once the report is created, it will click on the browser. And while it creates the browser and that we have here, it will also see, "Hey, like I've I'm seeing some action problems here. And I'm seeing some additional issues here as well." And all of these things are going to be reported back

to me. Once they are reported back to me, I can make a decision. Like there's a result, it found a bug. It says, "Okay, I tested everything by touching a button, clicking a button, and so on and so forth." And with everything in place, especially in this one, for example, you it click it clicks on the generate report. It is faded out, but it actually when it

comes back, we don't have the result. It doesn't update, so it's not good. The website that you've seen was very ugly. One of the things that you can do to again get better at these stuff is like if you're if you're coming from a different background, there's something called skills. Skills are allowing you to do multiple layers of the uh actions. One of them is It actually

allows you to bring information that other people has and it is very context efficient. It really keeps everything in mind or everything in place for you to for the agent to communicate easily. The next thing that it does is you can also use it to define it for your own projects as well. Like how you can build anything at all. So, to write proper skills, you need

to write a clear name and description. Always keep it under 500 and always use the router mechanics to have multiple files. Only at context that AI needs. You don't need to go deeper than that. And use progressive disclosure, match the specificity of the task, and use workflows and checklist for complex multi-step tasks. So, how would it look like with the stuff that I am building and the

external ones. For the external ones, there's a website called skills.sh. The skills.sh is a website that has been created by Vercel to just centralize the skills. For example, for front-end design, I have used that website bring the front-end design from Anthropic skill. So, if I go to Cura now, you can see that I have the skills folder. The front-end design is skill file that is generated by

someone else that gets design thinking and everything that my agent should be understanding about following best practices. The one that I have with Vercel here, it has so many rules here to make my React project the best version of itself. And how am I going to write the skills? Same logic. There are resources like Anthropic and so on that you can use to create your skills. And

how you do this you define it according to your project and according to your rules. And if you go through it, you will define the models, you will define the best practices, the folder structure, and so on. So, your agent can repeat every action that has happened. So, with that one, I will slowly wrap up I need to be mindful about time. So, we talked about today

like web coding, ASTLC, using guardrails with like steering files, and so on. We have talked about spectrum and development and how to write specs. And we talked about MCP and skills very briefly and like how you can use some MCP servers like Playwright to work with it. And we have showcased how we can work with an ongoing project. The project is on GitHub. You can see the

links and everything here. Please like check it out and like see how it will look like. I have the GitHub repository. Inside there's also resources there as well that you can learn. I put the talk from one of the like best people to show how you can also do proper web coding as well. Last but not least, this is my survey for me to learn more and

get better in everything. Positive or negative, of course positive is always good, but also there's always room for improvement. Please fill out the survey. Let me know how I can get better. Last thing, today I have another talk at 12. It's going to be building agents with Dungeons and Dragons. So, in case you're interested, I will be on the next stage That will be all. Thank you

very much, and I hope you have a great great conference and day. Thank you. Thank you, folks.

From event

DEVWorld 2026

07 May 2026 – 08 May 2026

All event videos
Back to Watch