Imo the
@cursor_ai claude sonnet ai coding hype is blown out of proportion. As an early adopter and heavy user of cursor (at least 1,000 hours so far), here are 3 major issues I've noticed over the past couple of months:
1. The first generated output(s) often contains subtle bugs that could cost you a ton of time and money
Most cursor demos I see on my timeline are focused on the UI, popular frontend frameworks and basic backend auth/api. These applications can afford to make mistakes and most aren't deployed to live paying users.
But if your application is deployed to production and utilises complex or critical backend logic (i.e. payments processing), subtle bugs begin to emerge.
For example, cursor ai generated the payment order manager class in the image attached below. At first glance it may look good for production, but upon close inspection you'd notice that the `totalPrice` of the order isn't updated when a product is removed. As a result, the system will charge customers incorrectly leading to loss in customer trust, cascading errors, and potential lawsuits.
The same issue occurs when "refactoring" code using AI or when Cursor attempts to auto-fix problems for you. Often, changes are made to the original codebase that add hidden bugs to the logic.
As a result, a lot of time can be wasted reviewing and refactoring AI generated code.
Yes I know.... tests should be run before deployment to catch AI bugs, but let's be honest, most devs don't have the energy or discipline to unit test every commit.
2. Inconsistent quality of outputs
If you provide the same prompt several times to the chatbot, you may end up with drastically different solutions to the problem. This can happen within the same session of usage or days/weeks apart.
In fact, if you copy a previously generated AI solution and ask the cursor chatbot to "review the code for bugs", 9/10 times it finds something wrong.
In addition, if you ask the AI any questions that contain suggestions or alternative solutions, it will apologize and refactor the entire code again.
Example:-
User question: Thank you for your solution. Is it better to handle the payment orders using a Map function or should I use something like Redis?
AI response: "You're absolutely right, and I apologize for overlooking that crucial aspect."
3. It can significantly increase technical debt
Even when the AI generates a "good" code block solution, it doesn't take into account the entire software design and architecture of the application.
Due to the lack of a holistic perspective, problems emerge includes inconsistent error handling, modularity, and data modelling across the app. As a result, the short term quick fix often leads to scalability, performance, and maintenance issues over the long run.
Once your codebase has grown to a large, complex web of messy components, refactoring will be a long, painful and costly process.
TLDR: Cursor AI (or AI coding in general) is a useful autocompletion tool that can boost your development productivity in the short run, but in the long run, it can waste significant time and energy IF you don't thoroughly review generated outputs.
In my experience, Cursor AI is best used as a "junior developer" who often makes mistakes and you have to review their work carefully to "guide" them correctly.
If however, you simply "trust" the AI outputs due to lack of knowledge, skill, or willingness to review results, the long term damage will outweigh the initial productivity gains you got so "hyped" about.