That's the exact opposite of Netflix most recent history, Westworld was an expensive production and viewing numbers on HBO were declining as seasons went on. Even relatively inexpensive looking Netflix shows got cancelled, i.e. GLOW, I Am Not Okay with This, Santa Clarita Diet, never mind shows that were less expensive than Westworld that had poor Netflix viewer metrics like The Residence, The OA, probably lots more I am leaving out. Early years maybe, like when they kept Orange is the New Black and House of Cards going to completion or resurrected Arrested Development.
The beauty is in the simplicity:
1. One loop - while (true)
2. One step at a time - stopWhen: stepCountIs(1)
3. One decision - "Did LLM make tool calls? → continue : exit"
4. Message history accumulates tool results automatically
5. LLM sees everything from previous iterations
This creates emergent behavior where the LLM can:
- Try something
- See if it worked
- Try again if it failed
- Keep iterating until success
- All without explicit retry logic!
Well put. It really does come down to nuance. I find Claude is amazing at writing React / Typescript. I mostly let it do it's own thing and skim the results after. I have it write Storybook components so I can visually confirm things look how I want. If something isn't quite right I'll take a look and if I can spot the problem and fix it myself, I'll do that. If I can't quickly spot it, I'll write up a prompt describing what is going on and work through it with AI assistance.
Overall, React / Typescript I heavily let Claude write the code.
The flip side of this is my server code is Ruby on Rails. Claude helps me a lot less here because this is my primary coding background. I also have a certain way I like to write Ruby. In these scenarios I'm usually asking Claude to generate tests for code I've already written and supplying lots of examples in context so the coding style matches. If I ask Claude to write something novel in Ruby I tend to use it as more of a jumping off point. It generates, I read, I refactor to my liking. Claude is still very helpful, but I tend to do more of the code writing for Ruby.
Overall, helpful for Ruby, I still write most of the code.
These are the nuances I've come to find and what works best for my coding patterns. But to your point, if you tell someone "go use Claude" and they have have a preference in how to write Ruby and they see Claude generate a bunch of Ruby they don't like, they'll likely dismiss it as "This isn't useful. It took me longer to rewrite everything than just doing it myself". Which all goes to say, time using the tools whether its Cursor, Claude Code, etc (I use OpenCode) is the biggest key but figuring out how to get over the initial hump is probably the biggest hurdle.
It is not really a nuanced take when it compares 'unassisted' coding to using a bicycle and AI-assisted coding with a truck.
I put myself somewhere in the middle in terms of how great I think LLMs are for coding, but anyone that has worked with a colleague that loves LLM coding knows how horrid it is that the team has to comb through and doublecheck their commits.
In that sense it would be equally nuanced to call AI-assisted development something like "pipe bomb coding". You toss out your code into the branch, and your non-AI'd colleagues have to quickly check if your code is a harmless tube of code or yet another contraption that quickly needs defusing before it blows up in everyone's face.
Of course that is not nuanced either, but you get the point :)
Oh nuanced the comparison seems also depends on whether you live in Arkansas or in Amsterdam.
But I disagree that your counterexample has anything at all to do with AI coding. That very same developer was perfectly capable of committing untested crap without AI. Perfectly capable of copy pasting the first answer they found on Stack Overflow. Perfectly capable of recreating utility functions over and over because they were to lazy to check if they already exist.
For this very reason I switched for TS for backend as well. I'm not a big fun of JS but the productivity gain of having shared types between frontend and backend and the Claude code proficiency with TS is immense.
I considered this, but I'm just too comfortable writing my server logic in Ruby on Rails (as I do that for my day job and side project). I'm super comfortable writing client side React / Typescript but whenever I look at server side Typescript code I'm like "I should understand what this is doing but I don't" haha.
If you aren't sanitizing and checking the inputs appropriately somewhere between the user and trusted code, you WILL get pwned.
Rails provides default ways to avoid this, but it makes it very easy to do whatever you want with user input. Rails will not necessarily throw a warning if your AI decides that it wants to directly interpolate user input into a sql query.
Well in this case, I am reading through everything that is generated for Rails because I want things to be done my way. For user input, I tend to validate everything with Zod before sending it off the backend which then flows through ActiveRecord.
I get what you're saying that AI could write something that executes user input but with the way I'm using the tools that shouldn't happen.
Not a lot of mention for the collaboration aspect that local first / sync engines enabled. I've been building a project using Zero that is meant to replace a Google Sheet a friend of mine uses for his business. He routinely gets on a Google Meet with a client, they both open the Sheet and then go through the data.
Before the emergence of tools like Zero I wouldn't have ever considered attempting to recreate the experience of a Google Sheet in a web app. I've previously built many live updating UIs using web sockets but managing that incoming data and applying it to the right area in the UI is not trivial. Take that and multiply it by 1000 cells in a Sheet (which is the wrong approach anyway, but it's what I knew how to build) and I can only imagine the mess of code.
Now with Zero, I write a query to select the data and a mutator to change the data and everything syncs to anyone viewing the page. It is a pleasure to work with and I enjoy building the application rather than sweating dealing with applying incoming hyper specific data changes.
I'm working on a mortgage scenario planning tool. A simple mortgage calculator can give you an estimate as to how much a mortgage payment will be but there are so many other inputs that must be taken into account on a per individual basis. For example someone could input that they want to put 20% down and see the monthly payment amount but there are other fees, such as closing costs, which must be taken in account to determine how much cash on hand a buyer will need to actually transact on the mortgage.
My friend and my lender has built up a giant Google Sheet which he uses with his clients and I've been slowly working to translate the logic in that Sheet into an application. It's been a lot of fun as I've been learning how to replicate the multiplayer aspects of Sheets into a React application.
Just wanted to say I had been happily plodding along using AI tools in Zed, which had worked pretty well but seeing the SST team was behind OpenCode I decided to finally give a terminal based agent a try. I was blown away, primarily by the feedback loops of say OpenCode writing new tests, running the test suite, seeing the tests errored and looping back start the whole process again. That looping does not happen in Zed!
It was the first time I felt like I could write up a large prompt, walk away from my laptop, and come back to a lot of work having been done. I've been super happy with the experience so far.
I’ve definitely had exactly that sort of looping work with Zed, as long as I tell it how to run the tests. Are you perhaps not using one of the “thinking” models?
That might be it. I use GitHub CoPilot through Zed as Zed does not accept the Claude subscription (that I'm using with OpenCode). I've primarily used Sonnet 3.7 in Zed, I'll try out the thinking model and see if that changes anything.
"It was the first time I felt like I could write up a large prompt, walk away from my laptop, and come back to a lot of work having been done. I've been super happy with the experience so far." - this yet-to-be-defined "happiness" metric will be important moving forward. Apart from Opencode & Leap.new (so far) I still haven't found something where I feel as happy.
I don't know if others share this sentiment but with all these tools/agents coming out, the main personal "metric" I look at when using them is happiness, rather than other more traditional metrics that I look at when evaluating tools.
I've had pretty good experiences with Junie, their UI is really pleasant! Kind of wish I could put in an API key for Sonnet or Gemini myself and get rid of any rate limits.
Outside of JetBrains IDEs I also quite enjoy RooCode, though stuff like GitHub Copilot is decent.
While I haven't used Junie I have been using an intelliJ plugin ProxyAI for a while. It has a couple of built in models and more you can pay for ($10/mo) but you can add pretty much any model you want with your own keys (I even tried perplexity's Sonar model for kicks).
It's been my go-to, along with Claude Code on the side for bigger stuff.
Working at a company that has a structure for our product announcements that falls in line with this article, everything you said resonated. It is very interesting to come to the comments and see some negative feeling towards writing that is focused on the end user. I mean I get it, HN has a heavy user base of software engineers and so there is likely bias in what a software engineer wants to read vs the typical end user. It seems there may be value in product announcement geared towards end users and a release notes geared towards developers.
I know a lot of the comments are critical, but I find the feedback helpful, and I've already made some improvements to the article based on the comments here. In some cases, I think there's pure disagreement, where some commenters feel that anything other than a dev-oriented changelog is "selling out" to marketing. Some of the feedback is misunderstanding what I'm advocating (e.g., some readers perceived the post as advocating release announcements instead of changelogs). But in the end, my audience for this post is developers, so it's helpful to hear candid reactions from developers, even though I know HN commenters aren't perfectly representative of developers in general.
In my mind, the question you're trying to answer is whether or not a standalone CV on a website is better than a LinkedIn profile. I'm not sure of the answer to that, but I would lean towards it isn't more valuable in a standalone fashion.
However, I added my CV to own personal website so that it can viewed by people online who come across my website through my blog posts. The intent being that if they enjoyed reading my content and wanted to learn a bit more about me, they wouldn't have to jump over to LinkedIn.
I do primarily when I'm refactoring something. In those scenarios, I know exactly what I want to change and the outcome is code in a style that I feel is most understandable. I don't need anything suggesting changes (I actually don't have tab completion enabled by default, I find it too distracting but that is a different topic) because the changes already exist in my head.
reply