Hacker News new | ask | show | jobs
by friggeri 563 days ago
I've had the absolute opposite experience, AI has brought back a lot of the joy of programming and building products for me.

I've been using Cursor extensively these past few months, for anything ranging from scaffolding to complex UIs. The trick, I've found, is to treat the AI like I would work with a junior engineer, giving in concrete detailed tasks to accomplish, breaking the problem down myself into manageable chunks. Here are two examples of little word games I've made, each of them took all in all a couple of days to ideate, design and build.

https://7x7.game You're given a grid and you need to make as many words as possible, you can only use the letters in the bottom row. There's complex state management, undo, persistent stats, light/dark modes, animations. About 80-90% of the code was generated and then manually tweaked/refactored.

https://vwls.game Given 4 consonants, you have to generate as many words as possible. This is heavily inspired by Spelling Bee, but with a slightly different game mechanic. One of the challenges was that not all "valid" words are fun, there are a lot of obscure/technical/obsolete words in the dictionary, I used Claude's batch API to filter down the dictionary to words that are commonly known. I then used cursor to generate the code for the UI, with some manual refactoring.

In both cases, having the AI generate the code enabled me to focus on designing the games, both visually and from an interaction perspective. I also chose to manually code some parts myself, because these were fun.

At the end of the day, tools are tools, you can use them however you like, you just need to figure out how they fit in your workflow.

5 comments

That's because you don't find joy in programming, you find joy in game design. Actually, game design can be automated too just the interfaces are not as advanced as cursor. We'll get there soon.
How does one learn game design? Any pointers for absolute noobs?
Exactly. AI lets me focus on the most interesting part of programming. Coming up with how I want to solve the problem, not wasting time searching docs to find out if a particular function will do what I want and many other tasks I didn't even know were not my favourite before.
For me, a particular kind of certainty is a prerequisite for joyful programming. I too get the most out of the solutioning, not the annoying details that need to be clarified by documentation, but if I don't personally clarify those details, I no longer have a certain kind of baseline confidence in my program; a feeling of what parts are more likely to be the source of bugs and what parts aren't; a feeling of how much I grok each part of my own program. Without that, personally speaking, the joy is drained from the solutioning thereafter.
That’s a big part of programming though, IMO. Always has been.
At least with a Junior Engineer they can learn and grow from your feedback, becoming a more useful member of the team, the generative model on the other hand will not.
Eh, there's actually a solution for this.

Use Composer notebooks to keep a growing markdown document of context you want future versions to remember.

My Cursor today is much better than my Cursor on day 1.

I would imagine the context takes up valuable input tokens that you would otherwise need to use for your request. So you'll run out at some point and then you just have a simple model rather than a skilled engineer.
Can't you just cache the context?
I took to long to write my comment so I didn't see yours - you are exactly describing the feeling I also have when using AI to create things.
> In both cases, having the AI generate the code enabled me to focus on designing the games, both visually and from an interaction perspective. I also chose to manually code some parts myself, because these were fun.

…so not programming?