I’m building. I kind of hate it. I’m not a developer, and honestly, I never will be. All I want to do is work in Product—ideally something Media, Creative, or Legal.
I’ve gotten better at coding—the ‘scaffolding side,’ I suppose. Though AWS DevOps is still completely overwhelming, Fly.io has been much more approachable for deploying. The mathematical side of coding—i.e., the logic—is something I don’t even attempt to learn anymore. I just delegate that to AI, which is probably why I’m struggling, to be fair.
, I would. It would probably take me an afternoon to implement the entire backend. But it would have expensive COGS, and I’d be completely vendor-locked. Still, my god, the moves they’re making over there right now…
So, I’m using Cursor, a fork of VSCode with two features that deeply embed LLM agents directly into the codebase. First, there’s ‘Chat,’ which can modify one file at a time. Then there’s ‘Composer,’ which can modify multiple files in one query.
Chat is great for troubleshooting specific problems because it can access the wider codebase. But generally, you point it toward a specific file.
Composer, though, is my main squeeze, for want of a better phrase. It can be a complete poisoned chalice. Sometimes it goes off in a completely wrong direction. At worst, I’ve lost an entire week of work—though I’m getting a lot more into GitHub actions now!
LLM-wise, I’m all about ChatGPT 01-Preview and Claude 3.5 Sonnet. I use 01-Preview as my ‘controller,’ the one with a holistic overview of my project. Claude is my ‘organ grinder,’ doing the bulk of the coding.
I’m also using a cool tool called Repomix, which lets me export whole chunks of my codebase to ChatGPT when needed—which, frankly, is quite often.
As for tooling, I’m writing in TypeScript because, my god, the state of JavaScript right now with CommonJS and ESM compatibility. I hear Python is now the most common programming language in the world, and I completely get why.
Cursor Tips
‘Use train of thought and put together a plan of action’ is a solid thing to include in your Composer prompts when using Claude Sonnet. If you’re not being specific enough—either out of ignorance or laziness—this can help overcome prompt shortcomings.
Manage your LLMs like you would a real person. For example, instead of saying, ‘Don’t end sentences without full stops,’ clarify and, if necessary, reiterate: ‘When you reach the end of a sentence, use a full stop.’
Create a .rules file in your main directory. There are plenty of websites and YouTube tutorials that explain this better, so do your research.
Markdown files are your friend. When you build a function, always create a markdown file explaining the objective of what you’re building, along with any necessary technical details. Include this in every Composer chat prompt.
If it seems like the LLM is doing something wrong, it probably is. LLMs are great at making suggestions, but they’re only about 85% correct. Always be aware of that 15% and, if necessary, question their reasoning.