4 minute read

Hey there, LISA here! 🙂

In my last post I talked about what Vibe Coding is, and today I want to share honest reviews of the AI development tools I actually used.

Why did I only use one tool?

When developing TipSmart, I actually had lots of options. There was Cursor, Gemini CLI… but I ended up using only Claude Code.

Let me tell you why, and how I feel about it looking back!

How did I actually use them?

🎯 Claude Code - Almost all development

I did over 90% of TipSmart development with Claude Code.

  • Code quality: About 70-80% was satisfactory
  • Feature: It was impressive how it broke down complex tasks step by step

Cursor - Didn’t use it at all

I actually tried Cursor since it was famous…

  • Why I didn’t use it: Claude Code felt more systematic
  • Difference: Cursor is like “do this” → immediate processing, while Claude Code approaches like “to do this, we need steps A, B, C”

⚠️ Gemini CLI - Tried a few times then gave up

I tried it since it’s Google’s…

  • Honest review: It was a bit disappointing back then (might be much better now!)
  • Why I gave up: Felt less consistent compared to Claude Code

Codex CLI - Didn’t know about it then

I didn’t even know this existed when developing TipSmart 😅

  • Currently: I’m using it more than Claude Code in new app development these days!
  • Review coming later: I’ll share detailed thoughts in a separate post

Why did I go all-in on Claude Code?

1. Perfect combo with Task Master

This was really good!

  • Extract tasks based on PRD → Task Master does this
  • Throw them one by one to Claude Code → Manages dependencies automatically
  • Not “build an app” but “do just this feature” → Much cleaner results

2. Predictable code quality

Claude Code is somewhat predictable.

  • Simple features: Nearly perfect, could use right away
  • Complex features: About 70-80%? Needed some refactoring but
  • At least it didn’t crash (this is important!)

3. Step-by-step approach

This seems to be Claude Code’s unique feature.

  • When it gets complex requests: “To do this, we need to divide it into steps 1, 2, 3”
  • Proceeds while confirming each step
  • If problems occur, you only need to fix that step, making management easy

But there were problems too… 😅

🚨 Real problems I encountered

1. “Where is this function?”

This was an error I often saw when building AI-generated code.

  • Build errors saying using functions that don’t exist
  • Probably functions that exist in AI training data but not in actual iOS SDK?
  • Fortunately, it was caught during build so not a big problem

2. Over time, the architecture became…

Initially it followed the rules I wrote in CLAUDE.md well.

  • Gradually over time, it ignored my style and coded however it wanted 😂
  • Later I realized “Huh? This isn’t the structure I wanted?”
  • Eventually had to refactor

3. “Said it’s done but there’s more work…“

When it said one task was finished:

  • “Oh, but we need to do this too” while creating additional work
  • Way more follow-up tasks than expected
  • Felt like finishing one created two more

📊 Realistic code quality

Being honest:

  • About 70-80% satisfactory (not perfect but usable)
  • More mistakes as complexity increased
  • Must do 100% code review (this is obvious though)

Why didn’t I use other tools?

Why Cursor wasn’t great (back then)

When I tried Cursor during TipSmart development…

  • “Do this” → “Yes, done” kind of feeling?
  • Claude Code is like “To do this, we need these steps” step by step
  • Back then Claude Code felt more systematic
  • Now it’s different: These days I’m trying various things with Cursor in new app development!

Gemini CLI was… hmm…

Had expectations since it’s Google’s

  • Back then it was disappointing (don’t know how it is now)
  • Updates were too fast, felt somewhat unstable?
  • Felt less consistent compared to Claude Code

Why Claude Code’s divide-and-conquer strategy was good

Difference from other tools

Simply put:

  • Other tools: “Implement this feature” → “Yes, all done!”
  • Claude Code: “To implement this feature… need to do A first, then B, then C. Sound good?”

Task Master + Claude Code combo

This combination was really good:

  1. Task Master looks at PRD → Creates roughly 10 high-level tasks
  2. Each high-level task gets subdivided → Total of 50-60 detailed tasks
  3. Throw them one by one to Claude Code → Each gets processed step by step

In the end, it was like developing the entire app by dividing it into hundreds of small steps. Complex apps were easy to manage, and if problems occurred, you only needed to fix that step.

In conclusion…

Being honest, AI development tools aren’t perfect. About 70-80%? But if used properly, they’re really helpful.

I liked the Claude Code + Task Master combination because it was systematic and predictable.

Oh, and one more thing! This is from TipSmart development 2-3 months ago. Things are very different now:

  • Cursor: Much updated, so I’m trying various things with it in new apps these days
  • Codex CLI: I’ve been using it a lot recently, honestly using it more than Claude Code
  • Detailed reviews of each tool: I’ll share these in separate posts!

Still, I shared honest reviews based on TipSmart development experience.

Next post preview: How I used Task Master to divide PRD into 50-60 tasks and managed them, I’ll share that entire process in detail. That’s the real core of Vibe Coding!

And… Want to try the first app I made this way, TipSmart? It’s a tip calculator and turned out pretty well! Would really appreciate your feedback too 😊

📱 Download TipSmart

This is my first iOS app made with Claude Code. Experience the result of AI-collaborative development firsthand!

Download TipSmart from App Store 📱


If this post was helpful, please share it on social media! If you share your AI development tool experiences on social media too, it’ll help more developers!