# Building with AI Tools in 2025

By Hassib Ashouri · 2025-04-20

The landscape of AI-assisted development has shifted dramatically. Here's what actually works, what's overhyped, and how I've integrated these tools into my daily workflow.

> **TL;DR:** AI coding tools have matured past the novelty phase. The biggest wins aren't code generation — they're in debugging, refactoring, and understanding unfamiliar codebases.

A year ago, I was skeptical. The demos looked impressive, but the day-to-day experience of using AI coding assistants felt like babysitting an eager intern who occasionally produced brilliance between stretches of confident nonsense.

That's changed.

## What Actually Works

The tools that have stuck in my workflow share a common trait: they **reduce friction** rather than replace thinking. The distinction matters.

### Code Understanding

This is where AI shines brightest. Dropping into an unfamiliar codebase and asking "what does this module do?" saves hours of archaeology. I've been using this heavily when onboarding onto client projects.

```typescript
// Before: 45 minutes of tracing imports
// After: "Explain the data flow from API call to rendered component"

export async function getServerSideProps(context) {
  const data = await fetchDashboardData(context.params.id);
  return { props: { data } };
}
```

### Refactoring Assistance

Not "rewrite this function" — more like "here's a 200-line file that grew organically. Help me identify the seams where I can extract modules." The AI spots patterns a tired developer misses at 11 PM.

### Debugging with Context

Pasting an error message along with the relevant code and getting back a targeted explanation beats Stack Overflow's 2018 answers about deprecated APIs.

## What's Still Overhyped

**Full application generation.** Every demo shows building a todo app from a prompt. Nobody shows the part where you spend three hours fixing the authentication flow it hallucinated.

**"Just describe what you want."** Natural language is imprecise. The more complex the task, the more you end up writing pseudo-code anyway — at which point, you might as well write actual code.

## My Current Stack

I've settled on a pragmatic setup:

- **Primary editor:** VS Code with Copilot for inline completions
- **Heavy lifting:** Claude for architecture discussions and complex debugging
- **Automation:** Custom scripts that use LLMs for repetitive transformations

> **Takeaway:** The best AI workflow isn't about maximizing AI usage — it's about knowing exactly when to reach for it and when to think through the problem yourself.

## Looking Forward

The trajectory is clear: these tools will keep getting better. But the developers who benefit most won't be the ones who delegate everything — they'll be the ones who use AI to amplify their existing judgment.

The skill isn't prompting. It's knowing what to build.
