upvote
OP here. Appreciate your perspective but I don't really accept the framing, which feels like it's implying that I've been caught out for writing and coding with AI.

I don't make any attempt to hide it. Nearly every commit message says "Co-Authored-By: Claude Opus 4.5". You correctly pointed out that there were some AI smells in the writing, so I removed them, just like I correct typos, and the writing is now better.

I don't care deeply about this code. It's not a masterpiece. It's functional code that is very useful to me. I'm sharing it because I think it can be useful to other people. Not as production code but as a reference or starting point they can use to build (collaboratively with claude code) functional custom software for themselves.

I spent a weekend giving instructions to coding agents to build this. I put time and effort into the architecture, especially in relation to security. I chose to post while it's still rough because I need to close out my work on it for now - can't keep going down this rabbit hole the whole week :) I hope it will be useful to others.

BTW, I know the readme irked you but if you read it I promise it will make a lot more sense where this project is coming from ;)

reply
The problem with LLM-written is that I run into so many README.md's where it's clear the author barely read the thing they're expecting me to read and it's got errors that waste my time and energy.

I don't mind it if I have good reason to believe the author actually read the docs, but that's hard to know from someone I don't know on the internet. So I actually really appreciate if you are editing the docs to make them sound more human written.

reply
I think the other aspect is that if the README feels autogenerated without proper review, then my assumption is that the code is autogenerated without proper review as well. And I think that's fine for some things, but if I'm looking at a repo and trying to figure out if it's likely to work, then a lack of proper review is a big signal that the tool is probably going to fall apart pretty quickly if I try and do something that the author didn't expect.
reply
I agree with that also.

I use this stuff heavily and I have some libraries I use that are very effective for me that I have fully vibed into existence. But I would NOT subject someone else to them, I am confident they are full of holes once you use them any differently than I do.

reply
”I don't care deeply about this code. It's not a masterpiece. It's functional code that is very useful to me.” - AI software engineering in a nutshell. Leaving the human artisan era of code behind. Function over form. Substance over style. Getting stuff done.
reply
“Human artisan era of code” is hilarious if you’ve worked in any corporate codebase whatsoever. I’m still not entirely sure what some of the snippets I’ve seen actually are, but I can say with determination and certainty that none of it was art.

The truth about vibe coding is that, fundamentally, it’s not much more than a fast-forward button: ff you were going to write good code by hand, you know how to guide an LLM to write good code for you. If, given infinite time, you would never have been able to achieve what you’re trying to get the LLM to do anyway, then the result is going to be a complete dumpster load.

It’s still garbage in, garbage out, as it’s always been; there’s just a lot more of it now.

reply
There should never have been an "artisan era". We use computers to solve problems. You should have always getting stuff done instead of bikeshedding over nitty-gritty details, like when in the office people have been spending weeks on optimizing code... just to have the exact same output, exact same time, but now "nicer".

You get paid to get stuff done, period.

reply
> There should never have been an "artisan era".

Firm no. There should be and there will continue to be. Maybe for you all code is business/money-making code, but that is not true for everyone.

> We use computers to solve problems.

We can use computers for lots of things like having fun, making art, and even creating problems for other people.

> You get paid to get stuff done, period.

That is a strange assumption. Plenty of people are writing code without being paid for it.

reply
> Plenty of people are writing code without being paid for it.

This is rhetorically a non sequitur. As in, if you get paid (X) then you get stuff done (Y). But if you're not paid (~X), then, ?

Not being paid doesn't mean one does or doesn't get stuff done, it has no bearing on it. So the parent wasn't saying anything about people who don't get paid, they can do whatever they want, but yes, at a job if you're paid, then you better get stuff done over bikeshedding.

reply
I think you're both right. There's a time and place for beautifully crafted code, but there's also a place for a hot mess that barely passes its own non-existing tests, and for anything in between.

Just don't bring an artisan to a slop fight.

reply
> there's also a place for a hot mess that barely passes its own non-existing tests

For a long time that place has been "the commercial software marketplace". Let's all stop pretending that the code coming out of shops until now has been something you'd find at a guild craft expo. It's always been a ball of spit and duct tape, which is why AI code is often spit and duct tape.

reply
And to add to this, good artisanal code usually means it runs a lot faster, which means saving money and energy, and those are good things.
reply
It depends how much money and energy in the form of manhours were spent to write it in an artisan way in the first place. I've been in a lot of PR reviews where it was clear that the amount of back and forth we had was simply not worth it for the code we wrote.

I'm reminded of this: https://xkcd.com/1205/

reply
Yeah. Exactly the same as there should never be an “artisan era” for chairs, tables, buildings, etc.

Hell even art! Why should art even be a thing? We are machine driven by neurons, feelings do not exist.

Might be your life, it ain’t mine. I’m an artisan of code, and I’m proud to be one. I might finally use AI one of these days at work because I’ll have to, but I’ll never stop cherishing doing hand-crafted code.

reply
The difference is that end users don't interact with the code that the artisan created, and don't care what it "feels like". One type of code that I do agree should be artisanal is the interface end of libraries.
reply
Yes, it's like artisanal plumbing or electrical wiring... all hidden behind walls. A plumber might take pride in the quality of his soldered joints, but artisanal? Who wants to pay for that?
reply
>> Yeah. Exactly the same as there should never be an “artisan era” for chairs, tables, buildings, etc.

That's funny you bring up those examples, because they have all moved on to the mass manufacturing era. You can still get artisan quality stuff but it typically costs a lot more and there's a lot less of it. Which is why mass-manufacturing won. Same is going to happen with software. LLMs are just the beginning.

reply
Oh no, but I know! And it is indeed terrible.

I live in a city where there are new houses being built. They are ugly. Meanwhile, the ones that exist since a long time ago have charm and feel homely.

I don’t know, I‘m probably just a regular old man yelling at clouds, but I still think we’re going in the wrong direction. For pretty much everything. And for what? Money. Yay!

Hugh.

reply
You're continuing to make good arguments for why mass-production should exist _alongside_ artisanal craftsmanship. Broad availability of housing which is functional, albeit of questionable aesthetic appeal, is a good thing to improve housing availability[0]; and also it is a good thing for (fewer) well-built, charming, individual homes to be available for those who want to spend more and to get more.

[0] I'm extremely aware that there are other contributing factors to housing shortages. Tax Billionaires, etc. My metaphor still works despite not being total.

reply
Did you get the Eames version of Windows, or a knockoff?
reply
Windows was probably the worst example you could use in this context!
reply
> just to have the exact same output, exact same time, but now "nicer".

The majority of code work is maintaining someone else's code. That's the reason it is "nicer".

There is also the matter of performance and reducing redundancy.

Two recent pulls I saw where it was AI generated did neither. Both attempted to recreate from scratch rather than using industry tested modules. One was using csv instead of polars for the intensive work.

So while they worked, they became an unmaintainable mess.

reply
You use computers to solve problems. I use computers to communicate and create art. For me, the code I write is first and foremost a form of self expression. No one paid me to write 99% of the code I've written in my life.

For a long time computers were so expensive they could only be used to do things that generate enough money to justify their purchase. But those days are long gone so computers are for much much more than just solving problems and getting stuff done. Code can be beautiful in its own right.

reply
The exact mindset is what has led to the transition from quality products to commercialized crapware, not just with software, but across all industries.
reply
"You get paid to get stuff done, period."

It sounds like you hate your job? To be sure, I've done plenty of grinding over my career as a software engineer but in fact I coded as a hobby before it turned into a career, I then continued to code on the side, now I am retired and code still.

Perhaps the artist in me that keeps at it.

reply
I don't think they hate their job, just seem to be frustrated at slow bureaucratic processes and long code reviews which I've experienced too. After a while it can get aggravating as to why some people want to nitpick minute details of the code which slows down development overall. I am talking about cases where the initially submitted PR is perfectly fine, not grossly incorrect.
reply
Oh wow, if we're talking about code reviews that's a different topic. I've never, FWIW, encountered "artisans" in code reviews. More like "that's not how I would have coded itsans" and "let me show you some new tricksans".

Yeah, to hell with code reviews. The best years of my career were when I was given carte blanche control over an entire framework, etc. When code reviews came along coding at work sucked.

If anything, the code reviews killed the artisanship.

reply
90% of the CRs I've ever gotten have been "artisanal" just because nitpicking superficial nonsense is easier than meaningful critique, and even when the code is perfectly fine it looks more productive from a managers perspective if you're nitpicking a function name than if you just respond with lgtm.
reply
Yeah that's what I understood them to mean from "like when in the office people have been spending weeks on optimizing code... just to have the exact same output, exact same time, but now "nicer"." There does come such a time either way when the juice isn't worth the squeeze so to speak in terms of optimization of code.
reply
Code is the means to an end of getting stuff done, not the end in itself as some people seem to think. Yes, being a code artisan is fun, but do not mistake the fun for its ultimate purpose.
reply
Was about to comment precisely this, that line does not inspire any confidence.

And it reminds me of a comment I saw in a thread 2 days ago. One about how RAPIDLY ITERATIVE the environment is now. There area lot of weekend projects being made over the knee of a robot nowadays and then instantly shared. Even OpenClaw is to a great extent, an example of that at its current age. Which comes in contrast to the length of time it used to take to get these small projects off the ground in the past. And also in contrast with how much code gets abandoned before and after "public release.

I'm looking at AI evangelists and I know they're largely correct about AI. I also look at what the heck they built, and either they're selling me something AI related, or have a bunch of defunct one-shot babies or mostly tools so limited in scope they server only themselves with it. We used to have a filter for these things. Salesmen always sold promises, so, no change there, just the buzzwords. But the cloutchasers? Those were way smaller in number. People building the "thing" so the "thing" exists mostly stopped before we ever heard of the "thing", because, turns out, caring about the "thing" does not actually translate to the motivation to getting it done. Or Maintain it.

What we have now is a reverse survivorship bias.

OOP stating they don't care about the state of their code during their public release, means I must assume they're a Cloutchaser. Either they don't care because they know they can do better which means they shared something that isn't their best, so their motivation with the comment is to highlight the idea. They just wanted to be first. Clout. Or they don't exactly concern with if they can as they just don't care about code in general and just want the product, be it good or be it not. They believe in the idea enough they want to ensure it exists, regardless of what's in the pudding. Which means to me, they also don't care to understand what's in the ingredient list. Which means they aren't best to maintain it. And that latter is the kind that, before the LLM slop was a concept in our minds, were precisely ones among the people who would give up half way through Making The "Thing".

See you in 16 weeks OP. I'll eat my shoe then.

reply
The art department is that way, we do engineering here. Faster is better.
reply
> we do engineering here

Well, we make software, at any rate.

Most of the time that's pretty divorced from capital-E engineering, which is why we get to be cavalier about the quality of the result - let me know how you feel about the bridges and tunnels you drive on being built "as fast as possible, to hell with safety"

reply
What part of faster is better means engineering to you? Non engineers will prefer you get there faster, but however you get there, better is better.
reply
If you want to say something just say it no need for trap questions.

Faster delivery of a project being better for engineering is obviously one of the most important things because it gives you back time to invest in other parts of your project. All engineering is trade-offs. Being faster at developing basic code is better, the end. If nothing else you can now spend more time on requirements and on a second iteration with your customer.

reply
> obviously one of the most important things because it gives you back time to invest in other parts of your project

That is until you get so deep in code debt that you cannot move anymore.

There is an equilibrium to be found. Faster is not always better, and trying to have every single line perfect is not good either.

reply
I did mention trade offs.
reply
> AI software engineering in a nutshell. Leaving the human artisan era of code behind. Function over form. Substance over style. Getting stuff done

The invention of calculators and computers also left the human artisan era of slide rules, calculation charts and accounting. If that's really what you care about, what are you even doing here?

reply
I too miss gathering 20 devs in the same room and debating company-wide linter rules. AI ruined the craft \s
reply
Hey, you do you, I’m glad you appreciate my perspective. I wasn’t trying to catch you out but I see how it came across that way - I apologise for my edit, I had hoped the ;) would show that I meant it in jest rather than in meanness but I shouldn’t have added it in the first place.

As I said in my comment, no shade for writing the code with Claude. I do it too, every day.

I wasn’t “irked” by the readme, and I did read it. But it didn’t give me a sense that you had put in “time and effort” because it felt deeply LLM-authored, and my comment was trying to explore that and how it made me feel. I had little meaningful data on whether you put in that effort because the readme - the only thing I could really judge the project by - sounded vibe coded too. And if I can’t tell if there has been care put into something like the readme how can I tell if there’s been care put into any part of the project? If there has and if that matters - say, I put care into this and that’s why I’m doing a show HN about it - then it should be evident and not hidden behind a wall of LLM-speak! Or at least; that’s what I think. As I said in a sibling comment, maybe I’m already a dinosaur and this entire topic won’t matter in a few years anyway.

reply
There needs to be a word for the feeling of sudden realization that you're reading an AI-generated text (or watching an AI-generated video) where you expected it to be human-authored.
reply
Okay, I'm gonna shoot myself, "ensloped" it is.

"I find your email deeply ensloping."

"This marketing campaign is going to enslope a lot of people."

"Feeling ensloped, I closed Instagram and looked out the window".

reply
I got slopped
reply
That’s pronounced “slope” or “slope”? ;)
reply
AI erlebnis.
reply
Does "disappointed" cover it? That's how I feel, anyway.
reply
Uncanny valley
reply
Slopstricken.
reply
Promptware
reply
Strongly agree with your comments.
reply
So you created a project, implicitly to help individuals keep their computers and credentials secure, but you can’t be bothered to proofread a read me?

I get using AI, I do all day everyday day it feels like, but this comes off as not having respect for others time.

reply
For example - I checked src/, and there’s clearly more than ~500 lines of code, ignoring the other dirs. I’m on mobile, maybe someone else can run wc -l on the repo and confirm. Is there a reason this number is inaccurately stated? Immediately makes me wary of the vibe coded nature of it.
reply
I 100% agree, reading very obviously ai written blogs and "product pages"/readme's has turned into a real ick for me.

Just something that screams "I don't care about my product/readme page, why should you".

To be clear, no issue with using AI to write the actual program/whatever it is. It's just the readme/product page which super turns me off even trying/looking into it.

reply
I get where you're coming from. It's like a person signing a love letter with a stamped signature or something.
reply
It reminds me of the job of the protagonist in the movie Her, ironically enough.
reply
Why do you think people do not care about something if they AI generated it? I care about many things I've generated.
reply
It's the perception.

"I couldn't be bothered to write a proper README, so I had the AI do it"

reply
AI can write a proper README. In fact, it's better than me at doing so and keeping it up to date. People writing README with AI are bothering to write it. In my experience AI won't automatically create README files for you when making projects with the exception of create project tools which create a default README, but in that case usually the AI ignores it and leaves it in the default state. People are just using a tool that lets them create without manually typing in each individual character.
reply
Most manually written README's I come across are in a far worse state than an AI generated one. To the point that I will often ask an AI to summarise third-party projects for me because the README's are so abysmal.
reply
deleted
reply
Project releases with llms have grown to be less about the functionality and more about convincing others to care.

Before the proof of work of code in a repo by default was a signal of a lot of thought going into something. Now this flood of code in these vibe coded projects is by default cheap and borderline meaningless. Not throwing shade or anything at coding assistants. Just the way it goes

reply
Been writing code professionally for almost 3 decades.

Not one line of code I wrote 20 years ago has the same economic value as East German currency.

All code is social ephemera. Ethno objects. It lacks intrinsic value of something like indoor plumbing.

It's electrical state in a machine. Our only real goal was convince people the symbols on the screen were coupled to some real world value while it is 100% decoupled from whatever real physical quantity we are tracking.

We all been Frank from Always Sunny; we make money, line go up. We don't define truth. The churn of physics does that.

reply
i think about this xkcd all the time, just colors on a screen in a pattern.

https://imgs.xkcd.com/comics/computer_problems.png

reply
I agree 100% with you. It's even worse though. They haven't checked if the Readme has hallucinated it or not (spoiler: it has):

https://news.ycombinator.com/item?id=46850317

reply
I don’t want to come off like I’m shitting on the poster here. I’ve definitely made that kind of careless mistake, probably a dozen times this week. And maybe we’re heading to a future where nobody even reads the readme anymore because they won’t be needed because an agent can just conjure one from the source code at will, so maybe it actually straight up doesn’t matter. I’ve just been thinking about what it means to release software nowadays, and I think the window for releasing software for clout and credit is closing, since creating software basically requires a Claude subscription and an idea now, so fewer people are impressed by the thing simply existing, and the standard of care for a project released for that aim (of clout) needs to be higher than it maybe needed to be in the past. But who knows, I’m probably already a dinosaur in today’s world, and I really don’t mean to shit on the OP - it’s a good idea for a project and it makes a lot of sense for it to exist. I just can’t tell if any actual care has gone into it, and if not, why promote?
reply
> I don’t want to come off like I’m shitting on the poster

Why not, if they're making people read AI slop without checking it first? They deserve the shit-nudge to fix it.

reply
That seems like a fair perspective; OP “shit” AI Slop on us so the minimum the project deserves is being shit on for making people look at his unreviewed sloppy project without at least warning about it being unreviewed.

Just consider what a bigger AI shit show vortex we are looking at, where this project only exists because of other ill considered AI slop projects. But at the same time, AI is not going anywhere and it does have the potential to massively “improve” things.

I believe it’s really just that we are going through adaptation pains, with everyone really just being sloppy for all the same kinds of reasons that people were sloppy before AI. It’s not like even the biggest corporations didn’t create sloppy messes before AI. Microsoft is a canonical example of this whole notion for basically its whole existence; poorly conceived, sloppily executed, even its core product line being so inherently insecure that it has not just spun up its own separate sectors of industries, but multiple sectors of industries around patching the security sieve called Microsoft, something akin to a monopoly on plumbing created from wire mesh.

It is making me think of how to increase the quality of my QA and final review process though. But frankly, I think we will soon fondly reminisce about a time when AI still produced slop and a human was actually useful and even needed to do QA and final review; as bleak as that sounds. I don’t see how that will not be the case within two years from now, and that’s probably being generous, as fast as things have been developing.

reply
the main reason I'd want a person to write or at least curate readmes is because models have, at least for the time being, this tendency to make confident and plausible-sounding claims that are completely false (hallucination applied to claims on the stuff they just made)

so long as this is commonplace I'd be extremely sceptical of anything with some LLM-style readmes and docs

the caveats to this is that LLMs can be trained to fool people with human-sounding and imperfectly written readmes, and that although humans can quickly oversee that things compile and seem to produce the expected outputs, there's deeper stuff like security issues and subtle userspace-breaking changes

track-record is going to see its importance redoubled

reply
FWIW, this is a variation of the age-old thing about open source.

It isn’t “have it your way”, he graciously made code available, use it or leave it.

reply
You will definitely like Josh Mock's recent post: https://joshmock.com/post/2026-agents-md-as-a-dark-signal/
reply
I am confused by “senior-learning engineer”; so he’s learning as a senior, learning at a “senior” level in a “continuous learning”, “life long learning” kind of way? What is senior-learning? Searching for it only comes up with learning for seniors programs.
reply
I'm looking at it now and it says "senior-leaning" not "senior-learning"

Might've been a typo they've since fixed.

>I am, as many senior-leaning engineers are, ambivalent about whether AI is making us more productive coders

reply
orrrr you could go the other way and read explicitly ai-generated docs that use the code as source of truth https://deepwiki.com/gavrielc/nanoclaw
reply
Cool idea but I just tried it out on one of my own repos and I couldn't get past the reCAPTCHA, maybe remove that.

(I'm a human btw)

reply
> I’d rather read a typo-ridden five line readme explaining the problem the code is there to solve for you and me,the humans, not dozens of lines of perfectly penned marketing with just the right number of emoji

Don't worry, bro. If enough people are like you, there will be fully automatic workflow to add typos into AI writing.

reply
As a practical matter, if it tones down the AI sleuthing vs. reading, it might be a good idea.

Assuming the written/generated text is well written/generated, of course.

reply