The asteroid currently hitting front end web development
nolanlawson.com
nolanlawson.com
She's now working on a biotech start-up pre-funding. They have pretty much zero money. They want to redesign their website.
I set her up with my deepseek key and she's been using flash-v4 with image detection (I think deepseek says it's still experimental). She just provides the current website, tells how she wants it to look and it works great. I mean it's obviously ai generated but she gets quick results and is able to tweek things to look better by just telling deepseek what to do. She was even able to change the text in one of their images to its new product name without having to contact the graphic designer.
This is a simple example. Basically it's one of those earlier jobs that you could get someone to bid on for $x but now you can do yourself for $20.
like the OP, all those years of learning how it works under the covers gives me a distinct advantage since i can easily tell what is slop and what is going to perform. as well as how to get AI to iterate and fix the things it isn't good at (yet). i feel like now i have super powers. i love it and can't get enough.
the fact that your wife can be productive at lower cost means that more products will be built and more opportunities will be made. instead of spending money on website design, her business can spend money developing biotech.
i welcome that, even if it means that things will change from the past and those that have made a career out of charging thousands will get replaced by a $20/month subscription.
i just built a financial dashboard for my business. in realtime, i'm sucking in all the data from quickbooks, mercury, stripe, deel APIs and presenting it to myself, and my investors. it does all that sitting in cloudflare as a worker, for $5/month. took me a couple weeks of iteration, not a single line written.
from that i just told ai... "i'd like to get rid of quickbooks because yesterday it was down and i couldn't log into it. figure out what i'm using there and present me an interface that allows me to do whatever i'm doing in quickbooks, but with my existing data from stripe, deel and mercury."
it then dutifully went off and built me that app and now i'm running it in parallel and synchronized with quickbooks, until i feel that i can just turn that off. it is customized exactly to my business workflow and easily maintained with full unit tests. it costs me nothing but a $200/mo codex subscription and a few hours of work.
Granted, it seems it is easier now to give prompts to an LLM so it will spit things out than back then where you had to know the tool and fiddle with menus and thingies to sort of try to produce a result.
But the drawback seems to be the same for both - lots of unreliable and unoptimized code that will go live if you don't know what they're doing under the hood and can potentially cause issues in the future. Remember that all this tools do are sorts of interpolation. I've seen lately lots of "modern" websites with tons layers of !important in their CSS and who knows the monstrosities that they have with their JS.
Meanwhile I and all people like me still don't have a job because all of this and the alleged "thousands" I was getting for doing this things.
the beauty of what's happening today is that AI might produce slop on the first try, but you can also refactor just as easily too. "clean up all !important and optimize the code for speed", is just as easy of a prompt and it'll go off and do a fantastic job at that. that is what the OP was talking about in his article.
you don't have a job because you're not adapting to this new world order quickly enough. i predict that there will be insane demand for porting existing applications off these over priced SASS contracts and building tailored products for businesses. as much as they are trying to convince people, you don't need a $5m/yr salesforce / servicenow contract when you understand the business model and can envision a better solution to the actual problem out of thin air.
i'm burning 500m+ tokens a day on a $200/mo subscription. it is creating 10000x more value for me. it is no longer how much you know HTML/CSS, it is how well you know how to get AI to do what you want it to do and the only way to develop that skill, is to do it.
I'm sure many people will think that; and I'm also fairly confident that 5 years later they'll take their obscure, bug-ridden, vibecoded monstrosity that nobody really understands, throw it out, and get a salesforce contract. Technical debt doesn't disappear just because you have agents working for you; in fact, it is exploding right now, and I would bet good money that 2-3 years for now there will be a flourishing cottage industry of consultancies specialized in dealing with such monstrosities.
If I can vibe code up a solution that fixes my problems for $200, it doesn't matter what happens in 5 years. The rate of change that's happening today in the increase in quality of the output of the models, I can just tell it to fix whatever we have and make it better.
When your software has to produce legal documents, satisfy auditors, and certify a bunch of things to shareholders and governments, I'm sorry but your $200 vibecoded hack is not going to cut it. You will have to get it certified, to get it audited, to get it secured according to this and that legislation, to prove where it gets each and every number and how it modifies it, and then you will have to maintain it because standards and laws change every other day. Sure, get an agent to cook you up a full consolidation solution, see how quickly you get laughed out of the room by grown-ups.
Btw, I am not "adversed to things" - the stuff we do has agents built-in, that do all sorts of wonderful things. The difference is that we can demonstrate that they do them right, with financial intelligence standardized and battle-tested across thousands of customers all over the world. Our customers don't have to worry about rewriting their pile of vibed hacks, or about being humiliated by auditors, because we take care of all that stuff for them. That's worth more than the pennies you save by having cousin' Vinnie vibe up a multidimensional financial engine that takes 3 days to calculate trillions of useless intersections before falling over.
Get ready. AI is coming for every single industry, full steam.
It is, indeed. The C-Suites at every company are making plans: https://www.youtube.com/watch?v=DmU9uovmT2A
But more real... Giacomo fails to take into account the concept of when OpenAI decides to create an audited financial service that guarantees that their output is valid. ChatGPT Work is already a beginning of that future.
AI is another tool in the toolbox, not magic. It's not about being pro or against it, it's here already (hey, we sell it!) and obviously it will continue to get better; but it won't magically solve everything for $2.
it has the best spam control on the planet.
i'd never use anything else.
No, of course you don't, you write email servers.
Sure, your local garage will now do their accounting in vibed apps instead of vibed Excel files. I suspect multinationals will choose not to.
As I said, I already know what AI is doing - I already use it just fine, I even help building and selling it. The impact it is having is obvious. But like recipe books did not turn everyone into Michelin chefs, it won't turn hacks into rigorous builders of trusted systems.
Why the fuck do so many people write like this nowadays? Quit acting like you have access to some sort of universal knowledge or unique insight into other people’s state of mind; it’s extremely obnoxious. You’re presumably trying to communicate with adult professionals, not children.
Yes, I do have some unique insights based on decades of experience building products and businesses. People who think that AI is going to produce shit vibe code forever, deserve the decency to be warned about what is coming.
for those of us who have been coding non-stop for decades, it has made me fall in love with code again. i'm excited, based on personal experience about something that is truly revolutionary. why shouldn't i talk about it with praise and go up against the doubters who are just angry and aren't putting the same level of effort in?
“Same to you. You’re all over this thread with smug comments and cheap snipes. Why are you even here? Are you gaining anything at all from this discussion?
There are loads and loads of people on this site with decades of experience building products and businesses. Don’t talk down to them.”
I deleted it because, in my haste, I did not have time to fully vet the first paragraph. Other than that, I stand by my words on basic netiquette 100%. If this comes off as “very angry and hateful,” you may be a bit sheltered.
As for the grandparent comment, my personal feeling is that this type of rhetoric stems from insecurity and/or contagion from the deluge of AI corp propaganda we’re all drowning in. No previous technological advance elicited this sort of persistent cheerleading — not smartphones, nor the internet, nor personal computing itself. (There was no need for it: you just used the new thing and if it worked, then it worked, QED.)
I genuinely wish you the best.
Best,
Jon
I did the first few prompts (single static page, basically a brochure, don’t worry about hosting) into ChatGPT to get her started and a few days later she sent me a .zip which I uploaded.
Only took a while because she wasn’t paying for ChatGPT so had to wait for the free limit to reset quite a few times.
But overall it was super empowering for her.
Because you have it.
This perspective declares all the personal websites of people worthless, however, they are priceless.
Because people's curiosity and creativity is priceless as well.
Similarly, why create art and share it around if it doesn't bring in customers? Why make music, take photos, dance? Do we live to serve customers, or do customers' existence serve us to live a better life?
Questions, questions...
If OP's mother runs a donation-funded pro-bono psychology practice then you can translate the dollar signs to units of happiness or whatever (which I would imagine is her real goal regardless).
This person is spending her time to create the website (with ChatGPT's help). How much is that time worth? Of course when it's your business hourly pay is tricky, but I imagine she values her time highly enough that $20 is not worth very much of it.
If their company can do well with this website, her psychology practice can do as well.
Some of the best services I got was from professionals with no or mundane online presence. Instead, their abilities and expertise moved them to the top in their respective fields, and the whole community knows how and when to reach them.
So, maybe a shiny website is not a hard-requirement for a good psychology practice, IDK.
So, the thing is, maybe this was her way to explore new things and decompress while doing some mundane thing from her perspective for free. Sometimes it's not that $20 which you can pay without any negative side-effects, but the desire to see how far the thing goes without the token, or just because you don't feel any urgency to do the task, so that $20 looks like an unnecessary waste.
I have been in both places.
If once she's decided to update the website—surely it's worth more then $20 at that point? Otherwise, she probably shouldn't be spending any time on it herself either, given the opportunity cost.
Obviously she decided otherwise, I just find it kind of surprising.
Like, in general, I'm always kind of surprised at what people are and aren't willing to pay for. People will suffer through horrible full screen ads in mobile games instead of paying $5 one time to turn them off. And they'll do this on a phone that costs $1,000+. I don't know their financial situation, but I would buy a cheaper phone and get rid of the ads...
I know people who won't subscribe to a service, but go through great pains to get the thing the service offers (another brand, similar yet inferior service, etc.).
For example, if an application I use has ads (i.e. a game), and it needs a subscription to remove these ads, I'll simply won't install it, or get the paid version of it from the start. For me, playing a game with no end and paying monthly to "hide" advertisements doesn't worth it.
* You propose I buy your ¤4 overhyped toothbrush. If I spend 10 minutes digging around, I could find a sub-¤1 toothbrush. Effectively I'm doing 10 minutes of work at less than minimum wage in order to avoid owning the premium toothbrush. Do I do this? I might! The reason is that I want no part in your hype.
* You offer me a loyalty scheme that will genuinely save me money if I participate. I only have to pay attention to your offers and routinely identify myself and I might get 10% savings, all the time. I decline this because you don't get to use my brain cycles for your profit, even if I profit too.
* You offer me a free thing that happens to track me and funnels data to data brokers. I decline it even though it does me no actual harm at all, because I don't want you to make money from personal facts about me, even when the facts are robotically aggregated and anonymised. Ethics are at stake: ethically speaking, you can just piss off. That is worth more than a free gadget, and it's not even an equation.
the problem here really, from both sides of the argument, is the assumption that humans are rational economic actors.
One side assumes that it is not worth 20 dollars to update the site quickly thus she does not do it, but really for that to be true (given costs of psychologists sessions etc.) then it would not even be worth updating the site, or paying for the site hosting or the domain at all.
The other side assumes that given that she is updating the site it must be worth paying 20 dollars to do so quickly and asks why she does not, given that it is worth updating the site.
If humans are rational economic actors she should be updating her professional site because it has some professional benefit to her that she is aware of, but this creates the two problems stated above.
This problem, and the examples you give, are resolved by understanding that humans are not really rational economic actors and the reason that she is updating the site and not paying the extra 20 dollars at the same time cannot be resolved to a non-contradictory answer.
We are at best, partially rational economic actors. Rational-like.
> The idea was nice, but it involved humans.
She probably put it off because the need to actually contact other people to kick off the process was way more of an impediment than anything, whereas on a Sunday afternoon when I was visiting, we kicked off the process on a whim.
She was able to "work with" ChatGPT during after-hours and in <15-minute sessions, between her doing other things, so it's not like she was likely to have used the time productively anyway.
Behavior is largely sentiment driven or random and then we invent a story after the fact to frame the behavior as "rational".
"Rationality" is when these two processes happen to line up and that happens very rarely.
We do have the right language in "economic actor" because economics itself is a type of performance. Economics is closer to theater than to chemistry. The non-performative version of economics is a hedge fund.
Did you notice that this is completely unrelated to the idea that the $20 would turn a profit for the business?
It's just the argument "$20 isn't very much money, so why not spend it?".
But as for the "value of her time", despite having to wait due to the rate limits for free users, this was probably still less time consuming for her than paying someone else to make the website.
She basically just did maybe half a dozen (probably less) sessions of less than 15 minutes each. This was a very a low-priority thing for her and did it between other things and after hours, so it didn't really use up time she was likely to use productively anyway.
If she had dealt with a web designer, she would probably have used up more of her time with several back-and-forth interactions with them, which also probably would have had to be done during business hours. Chances are that ChatGPT was better at intuiting what she wanted in a case like this and gave her quicker feedback loops despite the waiting for more "free tokens".
Would $20 have been worth spending on this? Absolutely. But the scope and priority were so minimal that the hassle of doing the once-off sub was more for her than just doing little bits between other stuff. If it wasn't available for free we would have used my Claude sub or she would have just paid.
The once off nature, scope and priority were so minor that it wasn't worth the hassle of actually paying, but if free wasn't an option we would have either used my Claude sub or she would have just paid, no big deal.
Scope of work and urgency were so minimal that it was simply not worth the hassle to actually subscribe and then have to unsubscribe later.
If there was no free option we could have done it on my Claude sub or she would have just paid.
The domain's used for email anyway and is on a very cheap local hosting plan, probably all-in-all like ZAR 84 per month and ZAR 200 per year for the domain, so ZAR ~1200 (USD ~75) per year.
Old website was built in a different era, Google Business didn't exist, "HTML5" wouldn't be a thing for another 5 years, web design styles were completely different and was before iPhone meaning that modern day "mobile friendly" was not even a thought.
When my father started running guest suites over 10 years-ago I made a single page website with essentially the same goals but using a Hugo template. The website still feels "modern" today, so I expect this new one of my mother's will age well too.
It depends what "nicer" means. Paying a web designer/developer to create a bespoke website doesn't guarantee that said website will have a better UI/UX and, most importantly, "convert" at a higher rate. Not every web designer/developer understands IA, content, performance optimization, etc.
The popular AI tools produce websites that are clearly AI-produced if you know the patterns, but that doesn't mean they can't be usable and quite effective at converting. And if you have a bit of skill with prompting, AI can be really good at working through performance bottlenecks, etc.
People already knew about her and website is essentially just “this is what I do, where I am and how you can contact me”.
Anecdata: I’d be more likely to use the services of a company with a good, old-style site than a bad, new style site. Things like pop-overs, text that animates in as you scroll, banner images that take up most of the “abive the fold” are all red flags for me.
Oh, and the most common one: “Read more”.
A modern site that avoids all those can be great. But those are rare, IMO.
Another goal with the website I didn't note before is that its "quality" or "style" should generally not be consciously noticed, it shouldn't stand out for any bad reasons, people see it, get a good impression, do what they were looking to do with ease, success.
I got this philosophy from my interior designer (not to be confused with decorator) brother who told me how when he's done a good job, no one notices, but when he's done a bad job then people either almost instantly notice or simply feel uncomfortable without necessarily being able to exactly identify why, e.g. first impression of your hotel room should instantly be "feels nice" (and same with a public space in a building) and then you remain feeling comfortable throughout because the space is actually big enough for its purpose and laid out practically.
If it because the poster's mother dislikes the idea of subscriptions, then I totally get it. (Though I admit I have no idea if this has anything to do with the poster's mother's decision.)
I'll go out of my way as much as I can to avoid signing up for anything that is a subscription because of how horrible the entire corporate world has abused subscription dark patterns over the past couple of decades.
These days just the packaging of anything into a subscription makes me assume there is intent to screw people out of money.
While signing up for LLM usage is fairly low risk as far as subscription lock-in goes, someone non-technical might not be aware of that fact.
Personally though? I’ve made peace with the fact that I might have a 20/month subscription indefinitely. It’s slowly working its way towards being like a cell phone or Internet bill, although there’s reason to hope that the amount might decrease over time eventually.
The short version, wasn’t for wanting to save money, but simply a matter of it not being worth the hassle to any of us to subscribe and then later cancel for such a small scope of work. If it was too frustrating I would have let her use my Claude sub.
Also, she’d been meaning to have it updated for years, a few extra days was nothing.
She did short sessions in spare time between other things, the wait between was maybe a little frustrating, but also gave the benefit that she would have had better clarity develop between sessions.
Website is not key to her business where it’s mostly word of mouth at this point (she’s been practicing for >20 years). Goals of website were:
- Findable in Google by “psychologist/therapist <area name>” (she also has a Google. Business profile so is findable on Google Maps).
- Minimal copy. A comforting sentence or two to state philosophy, qualifications, therapy types offered, where located, how to contact.
- Doesn’t feel dated.
Essentially it’s meant to complement the word of mouth aspect and maybe bring in the occasional completely new patient.
In my head, I'm not really buying a subscription, I'm just buying one month of access. I can always decide to buy another month if I want to, but it will never be automatic.
Person not understanding this should not work in marketing, or even claim they understand human psychology.
Is that legal... ? I admit I don't know much about graphic design is contracted.
If it's a stock image or a licensed image, they need a license to alter the original image.
You mean the very web sites that the "AI" trained on?
If you think AI can't make buggy code, there are several dozen thousand comments on HN that disagree.
Plus the context here isn’t any random person, but people who intend to pay for website development for their businesses.
https://www.pewresearch.org/internet/2026/06/17/americans-an...
It’s true that about half of all adults overall never use chatbots, but it’s not out of a negative perception, it’s largely just lack of interest with a side of privacy concerns and inaccuracy concerns. While people do tend to think AI will eventually be a net negative in society, this isn’t like an overwhelming feeling and opinions on the impact to themselves personally is less strong, not more.
https://www.natesilver.net/p/why-does-everyone-hate-data-cen...
For small shops and startups, this probably doesn't matter. For mission critical sites, who's more dependable? AI is a tool, that's all it is.
There is still a cost to the business owner, they have to find a place to hire a freelancer, interview and then explain what problem they need solved, go through several iterations with them (either via meeting or email, or both) etc etc. If you're a small business that's not setting up an online storefront, the time spent setting it up and building it yourself is possibly less time. And then there's the bigger headache: what happens when the freelancer stops returning your calls? For the average small business website/page it is 2-10 pages. The average business owner can probably crank out that site with AI in less time than setting up a single interview.
And yet now with AI (chatgpt codex in my case) i can make useful little apps without ever looking at what kind of html/javascript gets generated.
I’ll be honest: my agents.md explicitly states to use vanilla javascript and plain bootstrap for frontend, in case i might have to look at it in the future, but so far i’ve never had that need.
Another winner takes all situation. This and the other post on agent tool use[1] makes me think we are in a period of great homogenization. I'm sure there's a group that's delighted about this but for me, it just makes me feel a little uneasy.
[1] https://armature.tech/blog/which-tools-coding-agents-install
It's called alignment. And that's the correct word for it in my opinion.
The most important part is that we have to find a way to tackle the knowledge enshittification problem.
Because now that slopcode and slopposts are everywhere, the average quality level will decrease. We had the peak internet knowledge, and it's now gradually getting worse.
That's not a personal opinion, that's how attention matrixes and their keys/values computation works.
Alignment is such a polite term for "a giant boot that is crushing all of the uniqueness out"
Once it is done crushing, congrats! Everything is aligned.. by being flattened
Personally for me, I am much less interested in the implementation in frontend and more interested in performance, accessibility, responsiveness, etc.
Frontend frameworks are just means to an end. If we can standardize to one, then I will have more time to focus on the more important parts.
To be fair it is stupid that NaN !== NaN but that is how IEEE and CPUs made floats to be
hypot(Inf, NaN)
being Inf rather than NaNto my weak undestanding only pow and hypot behave like this; pow for math reasons and i could guess that hypot does that to sorta have |x| <= hypot(x,y)
funny story, I was once interviewing for a job where the tech guy did not know that NaN existed. I guess JavaScript wasn't his language, but not sure what was, and the code was in JavaScript for a Web Dev role.
JS is weird, and not having a stronger separation between ints and floats makes NaNs more common than in other languages (eg parseInt would not return NaNs in C or python) but for many "weird" examples people are making fun of normal stuff.
Vue's reactivity is quite similar to Solid's, AFAIK, so I wonder why there would be so many issues with Solid.
We have also started to have success getting LLMs to create custom lints for us to handle tricky edge cases. For example, discovering deep watches or tricky interactions - you can get a fair way asking an LLM to create a lint using a codemod library (in our case, vue-morph) that fires on this example but not on that example.
Still, I have great success with it, especially with Typescript.
It's all just cycles, seemingly forever, judging by the last ~20-30 years.
The functionality more or less works and the website is usable, but the design follows that "AI style". I'm not sure how else to describe it.
I think the AIslop of websites is down to the lack of vision or user journey and just going with the default which will always be generic and bland.
If it does feel in the "AI style" I'd love to understand what it is.
At least, it's missing the cargo cult telltales like the beige or unreadable neon hax0r dark mode theme, that console looking font with three different sizes and tiny headings, formatting vomit with italics/bolding every other word, useless cards/animated colored dots, scrolling text, excess boilerplate text on every surface, useless generated tags/categories/chips everywhere, etc that plague the designs of the last year.
Overall it's clean and modern (and the interactive table actually has content not pointless filler). It definitely wouldn't have triggered my visceral slop reaction and therefore wouldn't bother me if I later learned the dev used AI to make it.
I can't speak for everyone, but personally my issue isn't the use of AI at all (I use it myself), the problem is being able to recognize a carbon copy Claude/Codex design in <5 seconds. At that point I can't help but assume it's just slop that was fired off with a couple prompts and not worth my time engaging any further.
(Mostly) the same with prose. But that's playing with fire a bit because while a website/app might have a utilitarian purpose, I will have zero motivation to continue reading text I didn't prompt myself once I suspect it's from an LLM. There's just too much spam now to give benefit of the doubt unfortunately. The writing on your site doesn't scream LLM either though so I think you're good on both fronts.
It's like the saying "if you're explaining you're losing": once the seed is planted that it's AI, it's extremely hard to successfully argue your identical Claude-designed site is the exception that deserves users' limited time. Putting in some minimal thought and care in advance to avoid that first impression means fewer of those arguments with potential users experiencing slop fatigue like me. Anyway, nice job!
> my issue isn't the use of AI at all (I use it myself), the problem is being able to recognize a carbon copy Claude/Codex design in <5 seconds. At that point I can't help but assume it's just slop that was fired off with a couple prompts and not worth my time engaging any further.
You absolutely hit the nail on the head.
What am I going to teach them? How to run Codex or CC? Who in his right mind would like to dive in super complex browser internals? We have always considered ourselves forward-thinking with live coding, paired programming, AI-assisted visual artefacts.
And then one day came this bloke who was holding chatgee in his hand and asking me questions right off it, as if testing me. I went berserk, and this was the moment I decided we stop giving these lectures. Everyone autodidact themselves, I dont care anymore.
Was that the first/only moment you had a draining/bad student? Seems quick to give up because of one bad experience, maybe this was repeating?
Personally, I felt similarly once the people I'm mentoring started using CC and Codex and similar stuff, as a lot of the questions they asked me were easily answerable by the agent, so I guess I had a brief moment of "But what value do I even provide in the world anymore?".
I ended up kind of restructuring what I'm trying to teach, and instead of getting them more exposed to the mechanics of software engineering, I've started leaning more towards the soft skills like how to collaborate, how to get a feel for when things are right/wrong, how to understand better/faster, and similar things, all still related to software engineering of course, but I basically try to ask myself what I can teach them that no agent/model could, and do that stuff.
I even started introducing mentees to each other (not sure why I didn't before but alas), and have them collaborate on projects together, and figure out what works/not in collaborations with others, as no model can teach you that, as just another example. It's surfacing a whole new host of issues to work through, so seems to work fine :)
Coding was hard enough that even most bad students understood they knew very little because they'd falter, students with decent knowledge were very seldomly total assholes.
I think the big change in the equation is that chatbots churning out good enough shit without tripping up on basics or tedious tasks makes the insufferably stupid people (those worst affected by Dunning-Kruger) think that they actually know something.
Hah, are we talking about the same profession here? Programmers, famously known for understanding what they don't know, and the ones who know stuff seldom were assholes? Not often my real-life experience pretty much differs 180 with what I read here, but this is one of those cases.
> the insufferably stupid people (those worst affected by Dunning-Kruger) think that they actually know something
Yeah, this is like 50% of all the developers in the software engineering ecosystem, if not more. We're all riding the highs of past successes then extrapolate that over our entire lives and future work.
Assuming these behaviors often come from a place of insecurity then I think the normal behavior of programmers may be modified in the case they are in a university class trying to learn from a teacher, because then the programmer's natural fear of saying something and being shown to be an idiot will keep them quiet unless they are very very sure.
I was a TA the whole time I was in university, for computer science and computer engineering classes. I don't remember any of my students being an asshole even once, and I think this is the kind of thing I (unfortunately) would remember.
Yeah, I think this is fair, I was thinking professionally and don't have much experience of academic students in that way, from either side. Clearly feels like I misunderstood/mistook the wider context here, so thanks for the correction!
inevitable, and we cannot close our eyes about it. but okay, lets say a single asshole does not resume the whole group. then again - it is very difficult to convince anyone in 2026 (myself included!) he needs to do something in coding manually. but then again if you don't get one's hands dirty, even like... taking paper notes, then he will inevitably very quickly forget all that is tought. so we cannot 100% agree that teaching with cool AI artefacts is going to be sufficient. also im not sure which manual tasks should be forced upon otherwise (supposedly) smart peoples.
well, in 2025, not sure if related to agentic dev, but very likely, there is a very well felt drop in attention. also we figured there is a massive misproportion between people who have already used GPTs alongside classic dev, and those who have adopted or been exposed to agentic dev.
my surprise is that these people, being 3rd and 4th graders, were not equally exposed to harness-based dev, even though most are already employed on certain roles in actual companies.
> started leaning more towards the soft skills like how to collaborate, how to get a feel for when things are right/wrong, how to understand better/faster, and similar things,
well I agree this is important, but it is not a class in JS anymore. told the faculty staff we need to reinvent the program, and they are not even aware yet how damaging this impact is.
in all honesty - nobody knows at present moment what skills are needed to teach to people. besides, with LLMs, everyone curious enough can teach themselves.
so this changes massively the whole idea of knowledge transfer done by humans, does it not? we should teach other skills, not the technical trivia. i can give many examples, but this is going to eventually become very long post.
...
to add injury to insult, one of the team members invested early on in a 512GB mac studio, put some harness with Qwen on it and is currently collecting trading signals and doing finance. he expressed doubt there's more to do for him in the area, and he was perhaps one of the top notch ES6 devs I've ever known, with vast experience in UI and a long list of contracts (many of them got cancelled recently)!
So while many complain about their job security (due to AI), I can tell you the whole academia is nosing down rapidly. add to this the fact that most compute is concentrated in private enterprises - same entities that slurp my students afterwards and never say thanks.
However it's not that anyone cared before otherwise AI would know better than that
The question is what is that we going to command the LLM do, how complete this requirement will be. But hold on - writing JS is not doing UX, and is not doing business analysis - definitely not the same thing.
JS is a general purpose language with fair amount of functional and declarative stuff in it, heavily influenced by Perl and LISP. So why would a person who's not inclined to dive in this matter (typically very hard stuff) would want to learn it, instead of spending a day out in the sun before the world ends? Well she did so (back in the day) mostly because there was a market demand for such skills.
And then we have autodidacts who don't need this type of education (not schooling!), and those that are not. The latter still want to take good salary and perhaps they can be trained into it. So, in essense, many people learned JS because there was a demand, and my prognosis is this demand for people writing JS goes down, not because the demand goes away, but because we won't be needing most of the JS code and perhaps also we won't be needimng UIs very soon (not in the same way we did before).
And, just imagine, if one's aware of first principles in programming, they can easily command the LLM/harness to create a perfectly working Swift code. Saying it because is exactly what myself did, even though this is remotely a language I am good at. Perhaps the amount of effort to get these libs right would've otherwise costed in the hundreds of thousands, now it costs 200$ a month for Fable/GPT6 and not-so-much-of-an-actual-understanding on my side, but a steady pace to keep the harness follow the road intended.
Why would then anyone want to learn JS, save for the fun of it?
The world has spoken, and it does not want "good". It just wants "good enough". The "idea-guy" got 100-fold more dangerous.
It's hard to go back and just ignore it
I would have loved this in college. I know most don't, but I think we'll hit a point where the people who don't know enough to assess when model output is sub-par will fall by the wayside.
I'm not arrogant enough to think that I won't be included in this blast radius, so I try to dig as deeply as I can whenever possible (and where it makes sense,IE: I couldn't tell you all of the details of LLVM or hypervisor internals)
You can tell the year of distinct repos. There are no slides as we adopted the mathematical approach of writing live and solving as we progress in order to demonstrate the thought process.
This is not a complete snapshot of all discussed in the classes, but is a comprehensive history of what I claim we did.
There is still a chance we give it one more time in 2026/2027. At least one team member already dropped out, perhaps a second also. I’m considering with the other leading person whether to continue. Thanks for the feedback.
Now, still as a frontend engineer albeit much more senior. The writing is on the wall, again. It's time to reskill for AI.
It's not bad news.
We as experienced engineers are needed to help build in the guardrails, frameworks, the new tooling, etc. There is a lot of work that is needed that requires actual engineers with technical experience.
Like the early internet, I see this as a new beginning and we get to decide how it evolves.
So yea, I really welcome the change.
[1]
What I mean with being a generalist:
Did iOS dev as a student, web dev bootcamp instructor, teaching assistant (programming), teaching fellow (programming), found some SQL injections + docker vulnerabilities + replicated rowhammer with WebGL, did a lot of full-stack engineering (5 years), did a UX bootcamp, studied 2 bachelors + 1 masters + research master which is 2 years (psych, business, CS and game-design). Each full-stack engineering job was in a different language (C#, Java, JavaScript, TypeScript, Pharo/Smalltalk, currently JS & Python).
I was just speaking with my wife about this a few days ago, that I am actually happy that I didn't specialize in one specific discipline, or rather spend my time around learning a little bit of everything, which now gives me the foothold into any direction that I want to go.
I'm just curious, what do you think that looks like for you and for others? AI is not so much a skill as it is an interface, and one that is quite possibly one of the easiest to use that we've ever created. It is an interface for information, essentially. It's the skills that you come to the table with that determine the results that you're going to get back, and whether they're going to be quality or slop.
It sounds like what you're describing is similar to this new course that Theo Browne (ugh) and Kent C Dodds (double ugh) are launching called "mega.dev", and it appears that it's essentially just talking about the systems and tooling that's going to go into utilizing agents, and code is no longer even a topic.
If you want to fight businesses, you need to have some kind of a clue how they work.
That was maddening to read. Here I was thinking we should all be migrating to better performing frontend solutions. Does it really take an agent that many more tokens to write Lit or regular HTML and HTMX?
Definitely not. That's skill issues. The shadow DOM can be a bit tricky.
> The income from my book sales went from being enough for me to live off (2024) to zero (2026).
Oof that hits hard. I'm not an author or anything like that, but wow.
Now mind you the FEs will still be cooked in the end because Eng leadership is overwhelmingly tilted towards backend devs, who will protect their own. I think we'll end up seeing a lot of janky UIs because most backends find the act of polish and pixel perfection beneath them and they'll increasingly be doing more FE work.
I think this is more generally,
> So where does this leave education?
We need to figure this out anyway, because gpt galaxia and gpt cosmos will mean no skill is worth learning functionally.
The law of 42: Any debate regarding artificial intelligence and human skill will inevitably collapse into a discussion on the meaning of life, the universe, and everything.
The AI is a fantastic assistive tool, and in many ways it surpass my skillset as a software developer(I'm a skilled software developer, although it's not my job).
However, I do not believe I would be able to build what I'm building using LLMs, without myself having the right skills.
I do not believe random Joe, even an intelligent one, will be able to build advanced software using LLMs in the near future.
LLMs piping out UIs from PM prompts aren't solving that imho.
I think that frontend devs merely have to move from debating their frameworks to focusing more on user problems, maintainability, performance etc. but that is every dev right now...
I maintain a free open-source React portfolio template on GitHub. For years, almost none of the questions I got were "how do I change the layout". They were "how do I get this online", "why is my GitHub Pages build 404ing", "how do I point my domain at it", and six months later "I forgot how to edit it".
LLMs collapse the authoring cost to roughly zero, which is genuinely new. But the deploy/domain/keep-it-alive tail is untouched, and that is where a non-technical person still stalls. The zip-file-sent-to-a-relative step in the top comment is that tail being absorbed by unpaid favours rather than eliminated.
So I doubt the floor disappears. It moves. Nobody pays for the HTML any more; people still pay for "make it exist at a URL and keep existing".
The smaller the problem, the less risky it is to do this, regardless of the nature of the problem. This is not a frontend-specific issue today.
Systems engineering isn’t like that. Vibe coders beware: A database could silently corrupt data, or have latent security vulnerabilities. It might have a badly designed query language that will be difficult to change later. But frontend code can be rewritten at will. It’s a perfect target for LLMs.
??? Have you never debugged weird react state before??? Have you never used a nontrivial SPA before? Even the most simple react SPA has about a trillion states.
I don't really know how to respond to your statement than "no, they can definitely be invisibly broken."
Other kinds of software - for example, the backend of a website - have far more invisible failure modes. Security. Correctness. Performance. Bad API design leading to overfetching. Etc. Software works great on your machine and when you demo it, but it falls apart at scale. Endpoints that aren't secured properly. Race conditions cause silent data corruption. Memory leaks. And so on.
If claude messes up writing a react frontend, we're more likely to find the problem quickly. And frontend bugs usually don't continue to cause problems after they've been fixed. Silent bugs in the backend are more dangerous and more expensive.
Any website that has any UI state management or does any kind of network calls can be invisibly broken in many, many ways
Whatever lets you sleep at night man. If you really think you’re better than the machine at spotting arcane Unix incompatibilities, or that you’re somehow more “safe” than frontend jockeys, I’ve got really bad news for you.
Extrapolate this thought to more than just front end dev, especially because we'll have fewer actual practitioners to invent the next framework.
Maybe the agents will do it for us I guess?
On the positive side We won’t get the cars, but our horses will be damn fast ;)
https://sparkbox.com/foundry/helene_and_mobile_web_performan...
Discussion regarding that post: https://news.ycombinator.com/item?id=46494734
I even ended reading those instead of main "interactive" websites myself
As agents are not great at navigating react either, this will catch on and you will have what you want
I had Codex or Claude create simple web apps for me in Objective-Smalltalk. And it did a good job.
I am pretty sure that Objective-Smalltalk web apps are so underrepresented in the training set as to be almost or even actually nonexistent.
Prompt: Answer without searching the internet:
Woah! Must it discard all pre-training as well?It already slurped "the internet". You can't seriously say it doesn't count!
before 'A.I' - frontend was a tarpit - very few people did it well specially with SPA frameworks. There was always something broken whether due to state mismatch or something else. the state management libraries didn't help either with most of them being so complex. HTMX etc were a reaction to that complexity. Then add performance stuff - very few people had the skills to solve for that too.
now with 'A.I' - most of the educational material has either been taken offline due to 'A.I' scrappers, the llm's tend to hallucinate - so how are we gonna nurture talent to become experts. One thing I give to llms though - is that they're very good at plain javascript, decent at the frontend frameworks. But complexity around frontend work still remains - with 'A.I' generated code & devs who don't understand how to fix stuff - just a disaster waiting to happen.
I got out before this. My new role since 2020 doesn’t go near the front end. I don’t know anything about React. I don’t know what the state of the art is on the front end. I have actually come to despise the “new” web. Alas so have our customers in recent years because the user interfaces are generally a lot less suited to LOB applications. Everything is too large, too generic, no visual cues, nothing works with the keyboard. Now everyone is building swathes of this stuff because LLMs can crank out new user interface fast. Our endpoints have multiplied, ROI has declined.
I had a customer the other day say they wish we still distributed our Visual Basic application as it was much simpler and easier to use. That was a real eye opener for me.
This is the asteroid we need to keep an eye on.
This is why I find the contempt for frontend engineering so maddening. It's based on such a shallow understanding of what the job actually is. It's so much more than just "make it look pretty"
Tell that to Digg.
If you slop oit a front-end, your users will leave. It's that simple. The front-end is the part the users use the most, nobody cares how "elegant" your APIs are, or what kind of database the system uses. The front-end matters to users, a lot.
I've seen AI take a perfectly good front-end and slop out a piece of crap that will make the users leave in droves. And when nobody raises their hand (or in my case, everyone else is in the grip of AI psychosis) then bad times are ahead.
We need to kill this two-party-system-brain crap and siloing front end and back end. Learn both. It isn't difficult. It allows you to design much better systems that avoid complexity and unreliability.
If I can do it, others can do it, too. I even built an entire full-stack framework (w/ a custom components system + Node.js back-end), deployment system, database, and CSS framework (and now those all run my businesses). When I started, I didn't have the slightest clue beyond some basic HTML and CSS. I think people limit themselves too much trying to fit into the narrow containers of a job title/description. I get why, but it's worth asking yourself what else you're capable of beyond your job if you're eager to learn.
I've seen this way too often across my career.
The Web has always been a bunch of things: complicated backends that just need something in the frontend to operate, flashy marketing sites that don't do much behind the scenes but build brand credibility, cheap-to-free sites that people cobble together just to get something out there. Some are "web sites", some are "web apps".
For some of these cases, frontend is probably dead. For some, either the robots aren't quite able to have the level of originality and fidelity people are after yet, or the robots will enable more people to do better frontend work.
And like you're saying, it has to "feel" good/right. That can be a hard thing to prompt!
We'll get there eventually, but later than with the rest of software development.
If your state management gets out of sync with the form controls your users are working with it can become pretty high risk because now users see one thing and something else actually gets sent to the backend.
This is a weirdly reductive take on frontend correctness. Just for the record, I'm a backend dev. So I don't have much stake in this game.
This idea is, of course, not uncommon. "If the backend has to treat the frontend as adversarial anyway, and has all this cool stuff (constraints etc) for guaranteeing consistency of the system, then the frontend can just do whatever, right?" It plays into a lot of biases around typical frontend devs, typical backend devs, language stereotypes, etc. So it _sounds_ good.
Let me tell you for a moment about one of the spookiest bugs I've seen. It was an app for sorting personal photos. You'd upload pics/vids off your phone, they appear in the UI, you click a folder for them to go into (or click delete to discard), etc. Simple app, right?
Well, naturally, pics from even vaguely modern phones are regularly 5MB or more. Not really something you want to sling around while a user is browsing and their main activity is going to be looking at said pic to decide what folder it goes in (or if it gets deleted). So we thumbnail. And the main app only ever shows the user the thumbnails. The backend organized things quite simply: it gets a list of images from the frontend, it assigns each of them a zero-based index, and generates a thumbnail you'll also access via index. Imagine a URL scheme like `images/0` and `images/0/thumbnail` serving the real assets and the thumbnail.
Well, this app had a bug at one point. The backend was indexing by the arbitrary order the user uploaded them in. The frontend was mostly doing this too. Unfortunately the logic for thumbnails was incorrectly indexing by the "taken time" (which was a post-upload timestamp constructed by looking at basically every available timestamp and picking the "best" one. i.e. hopefully the one the iOS camera app adds, but obviously pics come from other places too and you never know what a user will upload). The end result being users would upload pics, see a thumbnail of an accidental pic they took of their shoe, hit delete. But actually they were deleting a pic of their baby or similar.
Literally none of the testing caught this for 2 main reasons: headless tests don't look at images, and you can't write an assertion like ("does this image look like a downscale of this other image") (at least not easily... i guess image models could do it now? but probabilistic? not a word i like in my unit tests? I digress, this predated the current crop of "AI").
Now let me generalize: your frontend isn't just a weird way to call RPCs on your backend. It's part of the application. I don't think you can just hand-wave. And as we saw above, you can't even say "well the frontend is stateless! any bug is 1 deploy away from fixing!" - deploying the frontend didn't get anyone their baby pictures back.
You can though. Maybe not exactly what you are thinking but there are some pretty good image similarity algorithms like dhash out there that do stuff like this. Mostly they get used to check for duplicate uploads, copyright materials, or "does this look like porn" style filters
This isn't something that needs image models to accomplish really.
Such is true for many bugs. Even if you have unit tests, they only test on things you've thought of. It's usually the stuff you haven't thought of that gets you.
No reason not to unit test of course, but don't get a false sense of complacency or assume testing is easy either. That's why it's great to do things very carefully (and probably not with AI Agents).
I reviewed some code earlier which clearly wasn't intended for consumed by humans and I know with certainty this dev wouldn't have understood 90% of what that code did. It looked like hours of Claude trying to force square into a round hole tbh, but it worked.
Was I going to reject the PR because of my code preferences? No, of course not. Ultimately it doesn't matter anymore. If Claude can maintain it then who cares... Even if it's broken (which it didn't seem to be) it's just FE anyway so not the end of the world.
I wish it did matter of course, but like most of coding these days, it just doesn't.
You absolutely should've rejected it. Putting slop into production is a huge trap, because now the humans can't understand it and the LLM is just going to make it worse and worse over time.
The issue I had was that it was doing a lot of weirdness like using `Object.defineProperty` to try to force an existing library to do something it wasn't suppose to do. No human would have written that code.
Although I generate most of my code with AI I still personally try to keep it understandable by a competent developer. Where as most people on my team are not good at FE so they just trust the LLM to get it right. But ultimately it just doesn't matter anymore.
Last week alone I was unable to access two major websites because their auth flow was broken (I was attempting to log in with Apple, so not "the happy path"). I was just locked out, had to contact support. I guess this mentality is what causes it.
We had safeguards and best practices built over the years of learnings to avoid introducing these kind of regressions. And we threw them away in half a year to...gain some productivity in delivering features that most likely the users don't even want.
In fact this reminds me of my last face to face interview. The employer wants to stand up a new enterprise SAAS solution from scratch in TypeScript to rid themselves of a costly venture. The idea is absolutely solid and the financials make complete sense on both ends. But... Supposedly there is an urgent need to fill that position and yet months later the position is still there and vacant.
The problem is that there are exceptionally few people who can write original applications from the ground up in JavaScript/TypeScript in the world of corporate employment. Yes, yes, there are trillion fantastic open source applications written in these technologies, but businesses just can't do it. Secondly, the compounding factor, is that they don't know how to interview for it because almost nobody in the corporate employment space knows what it looks like to write an original application.
That is not a technology problem. Its an institutional and culture failure and it isn't new. In the web space if you want to be a real programmer you do it for free on your own time because your employed time is prioritized with putting text on screen like a beginner.
* I scrutinize every line of backend code and frequently make revisions.
* I pay just barely enough attention to the frontend code to make sure it's not doing anything dumb.
* I pay zero attention to the CSS.
Either our expectations for UI interaction are going to go up a lot, or FE devs should start looking at product management roles. I think the asteroid metaphor is apt.
If you only liked doing the thing because other people couldn't do the thing, did you even like doing the thing to begin with? Or did you only like doing the thing because you thought it said something about you as a person? This is probably at the root of all gatekeeping behavior, really.
A separate document explaining how a system works can go out of date. While I'm quite good at highlighting the most important insights and non-obvious traits of a system, I'd still be guessing what the reader needs from my doc at the end of the day. Claude can answer questions based on what the reader is curious about and wants to learn.
Some types of document are still useful, namely higher-level directional or philosophical topics about the intention of a codebase. e.g. "we would like to eventually move X system to Rust for Y reason", "we chose mutable data structures over immutable in this part of the system because Z". But fewer than before.
Good documentation does not explain "the how", it captures "the why."
Like hunger and diseases are global problems not to be worried about.
How about we worry about this smaller problem today so the bigger problem tomorrow is less big. Or doesn't materialize at all?
Do we have to sleepwalk off this cliff?
Tech people give you better odds, but you still will find that most believe that AI is useless for something that you know that it's totally capable of doing. Damn, the last one I talked said that "Fable can't even do React"
But solving hard problems and developing systems intuition was. If you're trying to tell me that people working on code bases predominantly written by AI are still solving hard problems themselves, or understand the systems the AI is building, I think they're lying to themselves.
I need (and am exploring) custom review tooling to improve this AI->Human code flow. Reviewing PRs were always the hardest part for me in programming. They were often full of the developers decisions and you have to rediscover those as you're reading code for it to make sense[1]. However i find this even more difficult to discover these decisions from AI.
However unlike human PRs we can ask more of AI. Rarely have i had a developer put on a presentation for a PR - but AI could right? AI could produce a guided walkthrough of the code. Not sure if it will help of course, but my thought is we're all stuck in the old "PR review flow" but instead of PRs it's AI - and the volume of them is far greater than anything prior. So i expect we need to tweak how we review, how we get information from LLMs.
[1]: I'm speaking generally, and about larger PRs. Not some small func where you can easily see what it does. Business logic and complex code can be difficult to decipher in PRs, imo.
Also, you need a different kind of toolset/skillset to grok a system that was vibe coded all the way - different failure scenarios. Older devs tend to just say “see, I told you, it’s just spaghetti underneath, you need to clean it up”, and the newer gen learns to work with that spaghetti.
All this really means is using more AI to cover up their blind spots. Don't flatter them.
So you agree that you're dependent on an LLM to do your work?
Two different kinds of dependence here: one is taking advantage of a pre-existing tool to perform some set of tasks. The other is there to outsource your thinking over concepts you are not able to reason about yourself.
For example for a problem I had recently Claude pointed out (after some prodding for me) that the determinant of the Jacobian of a function I'm interested in is a polynomial in polar coordinates, so I used a fancy root finding library (which I also didn't write) to solve it efficiently.
Code is fascinating! An abstract language to compile to program a CPU. So many ways to do this!
Now we're using natural language, which at times is extremely verbose. "[{}]" versus "array of objects", for example.
You are simply learning a new language, whose syntax happens to look like English (or whatever language you speak), but with new, undiscovered, and constantly changing design patterns and best practices.
If you outsource everything to a llm, I just don’t think you get very good results right now. Language models aren’t great at remembering all the little design decisions that are needed in medium to large projects. The code ends up riddled with semi-conflicting design choices, which have been slammed together and maintained by context inertia. For a lot of projects this is more than fine - sometimes higher quality work simply isn’t worth my time. But for a lot of projects, you will pay for that slop later.
But I think there is a useful middle ground. If you carefully review all the decisions an llm makes, I think you can often be more productive than just programming everything by hand. But it’s a very different way to do engineering. I think I learn more this way than if I program by hand - if only because I’m touching more code. My mind roves around the design space a lot more. I don’t lock in as much as when I’m programming each piece individually.
If you work with an llm like this, your engineering skill matters more than ever.
Try checking in only your prompts and nothing else. Just the parts you actually typed. See how well it works to regenerate the same application next week, let alone next year. Prompts are fundamentally a different sort of thing from code. Do not mix them up.
> See how well it works to regenerate the same application next week, let alone next year. Prompts are fundamentally a different sort of thing from code
I mean... yes, but also no. C is actually a great example. So much of the code we wrote is about manipulating the specifics of that specific computer system we happen to be using at that exact moment. Everything from cpu specific instructions to how the ram behaves or how much of it there is all the way up to how library functions operate at any given point in time.
And in relatively short amounts of time, it can all change out from underneath you.
Also when someone says something like "I literally worked on a browser performance team", using the parlance of a middle school cheerleader to describe that work, I dont have a feeling that these experts bowing out is really going to have much impact.
In general, I have always felt UI, and UI adjacent developers to be the least serious of us and this article backs that up.