So here's the deal. There's a new AI tool launching every week, and everybody has opinions about which one is the best. But what I've found after months of actually using these things for real work is that the "best" tool depends entirely on what you're trying to do.
There's no single tool that does everything well. The thing is, each one has a specific job where it shines - and a bunch of jobs where it's mediocre at best.
I'm a PM working across multiple projects, and I've settled into a stack of 7 tools that I actually open every day. Not because they're hyped, not because they're new - because they solve specific problems I keep running into.
Here's the stack, organized by what I actually use them for:
The Stack at a glance
| Task | Tool | Why This One? |
| Coding (heavy) | Claude Code | Best for full context, multi-file work |
| Coding (in-editor) | Cursor | Best for quick edits, staying in flow |
| Terminal | Warp | AI that understands shell context |
| Writing & thinking | ChatGPT | Best conversational back-and-forth |
| UI prototyping | v0 / Figma Make | Fastest path to working React components |
| Design | Figma Make | Turns rough ideas into real designs |
| Research | Gemini | Best for quick searches with sources |
1. Claude Code - For When I Need Full Context
This is my default for anything code-related that spans multiple files. The thing is, most AI coding tools lose context fast - you paste in one file, ask a question, then realize it needs to see three other files to give you a useful answer. Claude Code (that's Anthropic's CLI tool) actually holds onto the full picture.
What I use it for:
- Refactoring across multiple files
- Understanding unfamiliar codebases
- Writing new features that touch several parts of the system
- Debugging when I don't know where the problem is
Where it struggles:
I'm still figuring out how to use it for really large refactors without it losing the thread. And sometimes it's overkill - if I just need to tweak one function, it's faster to stay in my editor.
The honest take:
It's like having a senior dev available 24/7 who's actually read your whole codebase. Not always right, but usually right enough that you're editing instead of writing from scratch.
2. Cursor - For Staying in Flow
Cursor is my editor, and its AI is built right in. But here's the thing - I don't use it for the same stuff as Claude Code. Cursor is for when I'm already in the zone and need quick help without breaking my rhythm.
What I use it for:
- Tab-completing code that follows patterns I've already established
- Quick inline questions ("what does this function do?")
- Small refactors within a single file
- Writing tests for code I just wrote
Where it struggles:
It doesn't have the same deep context as Claude Code. If my question requires understanding how five different files connect, Cursor's going to give me a surface-level answer. You have to know when to reach for which tool.
The honest take:
It's like autocomplete on steroids. Not a replacement for thinking, but it removes a lot of the typing friction.
3. Warp - The Terminal That Gets It
Warp is my terminal, and it has AI baked in. But in order to understand why this matters, you have to think about how often you're googling "how to do X in bash" or "what's the flag for Y command."
What I use it for:
- Asking "how do I..." questions right in the terminal
- Explaining error messages I don't understand
- Converting between command syntaxes (like curl to httpie)
- Remembering flags I always forget
Where it struggles:
It's not going to help you architect a system. It's narrowly focused on terminal stuff, which is actually its strength - it does one thing well.
The honest take:
It's like having a shell expert sitting next to you. Small productivity gain, but it adds up when you're in and out of the terminal all day.
4. ChatGPT - For Thinking Out Loud
This might surprise people, but I still use ChatGPT daily - just not for coding. The thing is, ChatGPT is better at conversation than any other tool I've tried. When I need to think through a problem, talk out options, or just have a back-and-forth, this is where I go.
What I use it for:
- Brainstorming and exploring ideas
- Writing first drafts of docs, emails, announcements
- Explaining complex things in simpler terms
- Rubber-ducking product decisions
Where it struggles:
Don't ask it to write code for a real project. It's fine for snippets and examples, but it doesn't have your context. And it confidently makes stuff up, which is less of a problem for brainstorming but a big problem for facts.
The honest take:
It's like a smart colleague who's always available to talk through ideas. But you wouldn't hand them your codebase and walk away.
5. v0 - For UI That Actually Works
v0 is Vercel's tool for generating React components. And here's the deal - I am not a frontend developer. But in order to prototype ideas or build internal tools, I need to ship UI. v0 bridges that gap.
What I use it for:
- Generating working React/Tailwind components from descriptions
- Prototyping UI ideas before involving a designer
- Building quick internal tools
- Learning how to structure frontend code
Where it struggles:
The code it generates is a starting point, not production-ready. You're going to need to refactor, add proper state management, and actually understand what it built. It's not magic.
The honest take:
It's like having a junior frontend dev who works incredibly fast but needs supervision. Gets you 70% of the way there in 10% of the time.
6. Figma Make - For Design Without Designers
I use Figma for mocking up ideas, but I'm not a designer. Figma Make uses AI to help bridge that gap - generating layouts, suggesting design patterns, and turning rough ideas into something presentable.
What I use it for:
- Generating initial layout options
- Creating placeholder content that looks real
- Exploring design directions quickly
- Making my rough mockups look less embarrassing
Where it struggles:
It's not going to replace a real designer. The output is generic - good enough for internal discussions or prototypes, but you'd want human eyes before shipping to users.
The honest take:
It's like having design training wheels. Helps you move faster when you don't have design resources, but know its limits.
7. Gemini - For Quick Research With Sources
Gemini is my go-to for quick research, especially when I need to trust the sources. The thing is, most AI will confidently give you answers without telling you where they came from. Gemini at least tries to show its work.
What I use it for:
- Quick fact-checking and research
- Understanding new topics at a high level
- Finding documentation and official sources
- Comparing options when evaluating tools
Where it struggles:
Don't use it for deep analysis or anything requiring nuance. It's better than a Google search, but it's still surface-level. And it can still hallucinate - the sources help, but verify anyway.
The honest take:
It's like a research assistant who's fast but not thorough. Good for getting oriented, not for making final decisions.
The Pattern I've Noticed
After using all these tools daily, here's what I keep coming back to: each one is a specialist, not a generalist. The thing is, people want one tool that does everything, but that's not how it works. You have to match the tool to the task.
- Deep code work → Claude Code
- Quick code edits → Cursor
- Terminal help → Warp
- Thinking and writing → ChatGPT
- UI prototyping → v0 / Figma Make
- Design mockups → Figma Make
- Research → Gemini
And honestly, this stack keeps evolving. I'm still figuring out where some of these overlap, where I'm using the wrong tool for the job, and whether some of these will get replaced by something better next month. What does your stack look like? I'm curious whether you've found tools that handle multiple categories well - because I haven't yet.