Published Jul 31, 2026, 3:30 PM EDT Mahnoor Faisal is a tech journalist covering AI and productivity tools with bylines at XDA, SlashGear, MakeUseOf, Laptop Mag, and Android Police. She's been writing professionally since she was sixteen, and has since penned hundreds of articles. This includes in-depth coverage of AI tools like NotebookLM to breaking news across the AI space. Her passion for technology started when she received her first iPod Touch (4th generation) on her 8th birthday, and she's been deep in the tech world ever since. Currently pursuing a degree in computer science, Mahnoor brings both a journalist's eye and a technical foundation to her coverage of how AI is reshaping the way we work and learn. For years, coding had been something the developer community had gatekept. It was always hidden behind a wall of syntax, tooling, and years of context you either put in the time and effort to learn or you stayed on the outside. The people who could build things and the people who could only describe them were two completely different groups, and the gap between them was the whole barrier to entry. AI coding tools have completely changed that, and you now need nothing but a good idea and the willingness to say what it is out loud. Instead of learning how to build it by taking a coding course, you just need to describe it clearly enough that the tool can build it for you. I've been using AI coding tools to build stuff for a while now, and the one thing I've come to realize is that asking it to remove code instead of build more of it is the single most valuable thing you can do. Building with AI isn't the hard part The tool that always says yes Just as I mentioned above, building something with AI primarily depends on how clearly you can describe what you want. This means that once you can describe things clearly, the building barely feels like a step at all. The first time you get a working app out of nothing but a description, it feels like genuine magic. You ask for a feature, and it appears. You ask for another, and it appears too. You ask it to wire the two together, and it does that as well. There's barely any friction, and it's just you, an idea, and a model that says yes to more or less anything. As good as all of that sounds, it's also exactly the problem. A tool that always says yes is a tool that never asks whether you should. It won't tell you that the feature you just requested duplicates something you added last week. It won't point out that three of your functions do nearly the same thing, or that the abstraction you asked for wraps a single line of logic in forty lines of ceremony. Instead, it'll just keep building. And while that won't seem like too much of a problem upfront, it compounds. Every feature you bolt on makes the thing you're building a little bigger, a little more tangled, and harder to hold in your head all at once. A small project can absorb a lot of mess before it starts to hurt, so for a while nothing feels wrong. The app works perfectly, the features work, and you keep moving. However, the mess builds up in the background, and you'll eventually reach a point where you realize you're working with a codebase you don't fully understand anymore. Plus, the codebase you're working on will also be at a stage where it's just extremely bloated — full of half-used functions, dead branches, and abstractions that made sense three prompts ago and now just sit there adding weight. Not only does that make the codebase harder to navigate, it makes every future change slower and more dangerous (for both you and the LLM). The model now has more code to read before it can safely touch anything, and more places where a small edit can quietly break something two files away. You end up spending your prompts describing the mess back to the tool just to get it to the same understanding you're struggling with yourself. So, the building-with-AI bit is frankly the easiest part of the whole process now. Asking AI to remove code is the smartest habit I've built The best feature I ever shipped was a deletion When it comes to building with AI, the hard part is everything that comes after the building bit. Keeping what you've built understandable, stopping it from turning your codebase into something neither you nor the model can reason about, ensuring the code written is as optimized and lean as it can be rather than a pile of overlapping functions that technically run. None of that happens on its own, and the model won't do it for you unless you explicitly ask since it'll almost always reach for more code by default. This is exactly why I've started treating deletion as its own step. Every so often, instead of asking AI to write another feature, I stop and ask the model what can be removed without changing how the app behaves. A simple prompt like "go through this file and tell me what can be removed without changing how the app behaves" is usually all it takes. The model will point out dead functions, unused imports, duplicated logic, and abstractions that aren't earning their place! This is usually all the stuff that piles up when every previous prompt was about adding something. From there, I can decide what actually goes, rather than trusting it to delete on its own. I always also make sure to ask if the feature I want already exists somewhere in the codebase before I let it write anything new, because more often than not, part of it does. The model is happy to build a fresh function from scratch even when a nearly identical one is sitting two files away, so I've learned to make it look first and build second. Half the time, what I thought was a new feature turns out to be a small tweak to something that's already there, and the "new" code I was about to add would have just been a slightly different copy of it. More code doesn't make it better While more and more lines of code do feel like progress at the moment, I've come to realize it rarely is. Rather than a bigger codebase translating to a better app, it's often just a bigger one with more places to break, more for you to keep track of, and more for the model to wade through every time you ask it to change something. So if you've been building with AI and things have started to feel heavier than they should, try flipping the request. Instead of asking what you can add next, ask what you can take away.
I stopped asking AI to build features and started asking it to remove code
Full Article
Original Source
Read the full article at Xda-developers →KhanList aggregates and links to publicly available news content. We do not host full articles from third-party sources. Always verify important information with original sources.