Hacker News new | ask | show | jobs
by cladopa 123 days ago
What you are trying to do is quite easy to do with Claude. I have done way more complex things than that in hours. But having programming, managing(with humans) and engineering experience is extremely useful.

It seems you try to tell the tool to do everything in one shot. That is a very wrong approach, not just with Claude but with everything(you ask a woman for a date and if you do not get laid in five minutes you failed?). When I program something manually and compiles, I expect it to be wrong. You have to iron it and debug it.

Instead of that:

1.Divide the work in independent units. I call this "steps"

2.Subdivide steps into "subsets" You work in an isolated manner on those subsets.

3.Use an inmediate gui interface like dear imgui to prototype your tool. Translating then into using something else once it works is quite easy of LLMs.

4.Visualize everything. You do not need to see the code but you need to visualise every single thing you ask it to do.

5.Tell Claude what you want and why you want it and update the documentation constantly.

6. Use git in order to make rock solid steps that Claude will not touch when it works and you can revert changes or ask the ia to explore a branch, explaining how you did something and want something similar.

7. Do not modify code that already works rock solid. Copy it into another step leaving the step as reference and modify it there.

5.Use logs. Lots of logs. For every step you create text logs and you debug the problems giving Claude the logs to read them.

6.Use screenshots. Claude can read screenshots. If you visualise everything, clause can see the errors too.

7.Use asserts, lots of asserts, just like with manual programming.

It is not that different from managing a real team of people...

5 comments

> you ask a woman for a date and if you do not get laid in five minutes you failed?

If successfully using Claude Code is as difficult as successful dating, I'm not sure this tech will prevail. ;)

That's significantly more work (and effort) than just doing it yourself, though? Even for larger, complicated projects.
No it's not?

Stuff like "divide the work up" is something you do when doing it yourself. Making a GUI prototype isn't really much work at all in the age of LLMs, akin to drawing up a few ideas on a notepad. Using git for small steps is something lots of people do for their own work and rebase later. Using extensive logging is mostly just something you have in your AGENTS.md for all your projects and forget about, similarly getting it setup to make and look at screenshots.

What part of this is more work than doing it yourself?

It’s more work in the same sense that trying to delegate a task to someone who doesn’t understand what needs to be done, and needs their hand held, is more work than doing it yourself.

This is especially true when the vision is a little hazy and the path isn’t clear. When doing it yourself, you can make decisions in the moment, try things, pivot… when trying to delegate these things, it becomes a chore to try to clarify things that are inherently unclear, and pivot an idea when the person (or AI) being delegated to doesn’t fully grasp the pivot and keeps bringing in old ideas.

I think most people have had an experience trying to delegate a task, where it becomes so much work to wrangle the person, that they just do it themselves. I’ve run into this countless times. That’s how it feels to use AI.

You can probably assume the person who suggested it isn't having the experience of it being more work to do that way.
It’s really not. For anything substantial, the things that you do to manage an LLM are the same things that you should be doing to manage a team of human devs, even if the team is just yourself.

Documentation. Comments. Writing a plan and/or a spec before you begin coding. Being smart with git commits and branches.

Not even close. A friend and I are working on an iOS game (a tower defense style game). We are writing 0 code ourselves. We both have a history of iOS development, he is still actively involved and I've move away from it in recent years.

In about 2 weeks we have a functional game, 60 levels, 28 different types of enemies, a procedurally generated daily challenge mode, an infinity mode. Tower crafting and upgrades, an economy system in the game for pay for the upgrades.

This likely would have taken us months to get to the point that we are at, it was playable on Day 2.

Could you explain how a chat session progresses, with an example if possible?
I start with what I want to build. In the initial prompt I provide an overview of what I want, and then some specifics. Last night I added an archive to the Daily Challenge mode, so if you missed a day's challenge you could go back and play it. This is what my initial prompt looked like:

---

I'd like to add an archives mode to the daily challenge. This will allow players to complete any daily challenges they didn't attempt on the actual day.

It will look like a calendar, with the dates in Green if it was played, and in white if not.

The archive should only go back to January 30, 2026, the day the project started. Include a to do to change this date prior to release.

Rewards for completing daily challenges via the archive should be 25% of the normal value.

---

Claude Code then asked me a couple of clarifying questions before it harnessed the superpowers:writing-plans skill and generate a document to plan the work. The document it put together is viewable at https://gist.github.com/Jeremy1026/cee66bf6d4b67d9a527f6e30f...

There were a couple of edits that I made to the document before I told it to implement. It then fired off a couple of agents to perform the tasks in parallel where possible.

Once it finished I tested and it worked as I had hoped. But there was a couple of follow up things that would make it more intertwined with everything else going on around daily challenges. So I followed up with:

---

lets give 1 cell for compelting an archived daily challenge

---

And finally:

---

Now that we are tracking completions, can we update the notification to complete daily mission to include "Keep your X day streak"

---

Sounds like I should give Claude Code another try. The last time I worked with it, it was quite eager to code without a good plan, and would overcomplicate things all the time.

Not entirely relevant, but the example I remember is I asked for help with SQL to concatenate multiple rows into a single column with SQL Server and instead of reminding me to use STRING_AGG, it started coding various complicated joins and loops.

So my experience is/was a little different. Regardless, I think I should take one of my old programs and try implementing it from ground up by explaining the issue I'm trying to solve to see how things progress, and where things fail.

Another example is the tower stat caps. When Claude Code generate the first pass, it make it so that the tower level would control each individual stat's cap. Which was way too high. I didn't know exactly what the limits were, but knew they needed to be pulled back some. So I asked it:

-Start Prompt-

Currently, a towers level sets the maximum a single stat can be. Can you tell me what those stat caps are?

-End Prompt-

This primed the context to have information about the stat caps and how they are tied to levels. I followed up after it gave me a chart back with Tower Level and Max Stat Rank with some real stats from play

-Start Prompt-

Lets change the stat cap, the caps are currently far too high. All towers start at 1 for each IMPACT stat, my oldest tower is Level 5, and its stats are I-3, M-4, P-6, A-3, C-1, T-1. How do you think I could go about reducing the cap in a meaningful way.

-End Prompt-

It came back with a solution to reduce the individual stat cap for individual stats to be tower level + 1. But I felt that was too limiting. I want players to be able to specialize a tower so I told it have the stat cap be total, not per stat.

-Start Prompt-

I'm thinking about having a total stat cap, so in this towers case, the total stats are 18.

-End Prompt-

It generated a couple of structures of how the cap could increase and presented them to me.

-Start Prompt-

Yes, it would replace the per-stat cap entirely. If a player wants to specialize a tower in one stat using the entire cap that is fine.

Lets do 10 + (rank * 3), that will give the user a little bit of room to train a new tower.

Since it's a total stat cap, if a user is training and the tower earns enough stat xp to level beyond the cap, lock the tower at max XP for that stat, and autoamtically level the stat when the user levels up the tower.

-End Prompt-

It added the cap, but introduced a couple of build errors, so I sent it just the build errors.

-Start Prompt-

/Users/myuser/Development/Shelter Defense/Shelter Defense/Views/DebugTowerDetailView.swift:231:39 Left side of mutating operator isn't mutable: 'tower' is a 'let' constant

/Users/myuser/Development/Shelter Defense/Shelter Defense/Views/DebugTowerEditorView.swift:181:47 Left side of mutating operator isn't mutable: 'towerInstance' is a 'let' constant

-End Prompt-

And thus, a new stat cap system was implemented.

It's like managing a team of 6-8 year olds.

Put that down! What are you doing? Don't put that in your mouth. Where are you going? Stop that! Why are you sitting there alone, Johnny?

But that is ... a lot of work.
... which is why it is usually faster for me to just write the code myself :-)

However ChatGPT is really helpful doing sysadmin style tasks on Linux.