←back to thread

Nobody knows how to build with AI yet

(worksonmymachine.substack.com)
526 points Stwerner | 1 comments | | HN request time: 0.365s | source
Show context
saadatq ◴[] No.44620185[source]
this isn’t vibe coding. This is something completely new. I call it “flex coding.”

heck I built a full app in an afternoon AND I was a good dad?

> I'd wander into my office, check what Claude had built, test it real quick. If it worked, great! Commit and push. "Now build the server connection UI," I'd say, and wander back out.

Made breakfast. Claude coded.

Played with my son. Claude coded.

Watched some TV. Claude coded.

Every hour or so, I'd pop back in. Five minutes of testing. One minute of feedback.

replies(4): >>44620418 #>>44621024 #>>44621746 #>>44631674 #
jen729w ◴[] No.44621024[source]
This is all very emotive and I'm sure is a dream many of us would love to live.

But does Claude's code work? Does it work to the level where you'd depend on it yourself; where you'd bill customers for it; where you'd put your reputation behind it?

I say no. And it's because I use Claude. Two events changed how I use Claude: now it's an advisor, and I mostly type the code myself. Because I don't trust it.

First, I caught it copying one of my TypeScript interfaces and modifying it. So now we have User which looks like my actual user, that I defined, and UserAgain which does not, and which Claude is now using and proudly proclaiming that my type checks all pass. Well of course they do!

Second, I was told that the best way to catch this sort of thing is to get it to write tests. So it wrote some tests, and they failed, and it kept going, and it eventually wrote an un-failable test. The test mocked itself.

So, sure, enjoy time with your kids. Please don't ask me to use your app for anything important.

replies(3): >>44621204 #>>44622546 #>>44636019 #
1. tappio ◴[] No.44622546[source]
I feel that it is a commom thing. You just have to "keep an eye on it". There are several failure modes with Claude. Maybe the most annoying is that it often uses kind of defensive programming, so it is harder to detect that there is a fatal mistake somewhere. It can hide those really well. And it loves to fix linter issues with any type in typescript.

Im using it regardless. Ive just learnt to deal with these and keep an eye on them. When it creates a duplicate interface I roll back to earlier prompt and be more explicit that this type already exists.

I try to not argue whether something it does is wrong or right. There is not point. I will simply rollback and try with another prompt. Claude is not a human.