The AI IDE struggles significantly when dealing with slightly complex projects, such as those involving databases and Golang APIs, becoming a 'horrific nightmare'. Users need the AI to perform effectively even with larger, more intricate codebases.
***WARNING - AI CODING POST*** (...at least this post was actually written by a human) I've been using Cursor for a while, mostly as an in-IDE documentation and occasionally syntax checking. Last weekend I caved, and decided to use it to build something that I've been putting off building for a while - a relatively simple CRUD app that ingests pretty complex json object & pricing data from an external source, uses this to populate an inventory, and then allows basic stock control on that inventory. Here's what I found after 3 days building that app into a functional mvp: - It was great whilst the repo was new and small, and the model had a small amount of context to deal with - It turned into a horrific nightmare once things got slightly complex (a db of ingested data, a Golang API with 4 endpoints, and a React frontend that displayed items and prices) Stuff that happened: - I discovered an error in the JSON parsing logic which was fairly simple; it was incorrectly parsing nested objects. I probably could have solved it in an hour or less (a good dev would have solved it quicker). Cursor tried to solve it for over 6 hours, created 14 individual test scripts, circled back on its own logic (after deciding, exuberantly, that it has succeeded - multiple times!) - On day 2, with only the skeleton of the app in place and having done nothing but figure out how to parse the json data, the quality of the results dropped significantly. Cursor started adding new api endpoints without telling me, changing existing ones, and other weird stuff. It undid decisions we'd taken 10 minutes ago whilst working on a different task. It changed my default AWS region. - Context is really bad (and sometimes feels very random). Forgetting things it did a few prompts ago. Key findings for me: - Using cursor as enhanced in-IDE documentation was great. - Using it to vibe code was not great. That 6 hours I lost in circular logic was probably enough that I could have done the whole project myself faster - Using it to generate a frontend was great; I'm a terrible frontend dev and I hate building frontends. Genuine value here as I'd not have built the project without this; but I wouldn't put it anywhere near production. Oh, and it generated a completely insecure CORS config, which (despite me prompting it to make it secure and explaining myself well) it couldn't fix. Next I'll be trying out Claude Code with MCP running, which sounds like a great evolution of the concept. But Cursor? Great helpful IDE, terrible coding tool.