frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

Moving away from Tailwind, and learning to structure my CSS

https://jvns.ca/blog/2026/05/15/moving-away-from-tailwind--and-learning-to-structure-my-css-/
44•mpweiher•4h ago

Comments

villgax•41m ago
Relying on React or Typscript in LLM era seems very stupid, just have the LLM setup whatever dom manipulation you want and have it write decent JS without slop. Far more offline compatible development almost negligible supply chain issues as well. At least ones you can control.
freedomben•22m ago
This works great for small sites/apps, but really starts to fall apart if/when it gains complexity where React starts to make sense. I've tried a few times to "just use plain javascript" with the LLM and initial results are often much better, but if the site grows a bit too complex, the LLM starts making a lot of mistakes and it can be hard to reason about as a human and get it on the right track. That hasn't been the case with the React apps IME.
wakamoleguy•10m ago
What a strange take. LLMs produce plausibly correct output, which is exactly where plain JavaScript and DOM manipulation will result in a spaghetti mess.

Frameworks like React that add structure to the data flow, component encapsulation, and a huge repertoire of patterns to train on, plus Typescript for immediate compile-time feedback loops… those are what LLMs thrive on.

TonyAlicea10•39m ago
> I got curious about what writing more semantic HTML would feel like.

I've been teaching semantic HTML / accessible markup for a long time, and have worked extensively on sites and apps designed for screen readers.

The biggest problem with Tailwind is that it inverts the order that you should be thinking about HTML and CSS.

HTML is marking up the meaning of the document. You should start there. Then style with CSS. If you need extra elements for styling at that point, you might use a div or span (but you should ask yourself if there's something better first).

Tailwind instead pushes the dev into a CSS-first approach. You think about the Tailwind classes you want, and then throw yet-another-div into the DOM just to have an element to hang your classes on.

Tailwind makes you worse as a web developer from a skill standpoint, since part of your skill should be to produce future-proof readable HTML and CSS that it usable by all users and generally matches the HTML and CSS specs. But devs haven't cared about that for years, so it makes sense that Tailwind got so popular. It solved the "I'm building React components" approach to HTML and CSS authoring and codified div soup as a desirable outcome.

Tailwind clearly never cared about any of this. The opening example on Tailwind's website is nothing but divs and spans. It's proven to be a terrible education for new developers, and has contributed to the div soup that LLMs will output unless nudged and begged to do otherwise.

freedomben•24m ago
You're not wrong, and I mostly agree with you. I die inside when I see the div soup that a lot of sites have become. However, I think there is value in being able to have the important parts of CSS merged into the HTML a bit. Where that line is, is certainly up for debate (and I don't have the answer), but I've found a lot of my tailwind sites are more readable to me than my pre-tailwind sites, often because I don't have to context-switch and open a different file to be able to reason about the styling on an element. For big stuff the second file can be nice, but there's a lot of style tweaking that is great to be able to do right there in the HTML. Tailwind does really lead you to ignore the css file though (or keep it highly minimal), which I agree is becoming an anti-pattern.
TonyAlicea10•14m ago
The "open a different file" reasoning piece is a common pro-Tailwind statement and I do see the upsides.

I think that upside became more prevalent in the reusable components era, whereas previously CSS was targeting an entire HTML file (and thus the reasoning was more like SQL query than "this one element's styling").

With LLMs I think this upside is much smaller now though.

skydhash•5m ago
It seems that everyone is forgetting the web inspector as a tool for designing web pages. You can tweak properties and styles in a live environment, and then transfer your preferences to the css files.
flossly•9m ago
While I agree I do think there's some "aspiration of purity/correctness" in your approach that I've long let go of.

I look at the royal mess that is HTML/CSS/JS as a necessary evil, required when we want to target browsers. To me it's "just the presentation layer".

In my work I put a lot more emphasis on correctness in the db schema, or business logic in the backend.

When it comes to the messy presentation layer I prefer to write a little as possible, while still ending up with somewhat maintainable code. And for this Tailwind fits the bill really well: LLMs write it very well, new devs understand it quick, and it's quite easy to read-back/adjust the code later.

I 100% agree a Tailwind project is not the best way for a new dev to learn HTML/CSS. But then I prefer the new dev to focus on great db schemas, intuitive APIs, test-able biz logic, etc. Fiddling with the mess that's HTML/CSS is not the place where I consider human attention is best spent on (or where developers pick up skills to become much better developers).

KolmogorovComp•5m ago
For me Svelte and LLM completely removed my need for Tailwind. Turns out I was using it primarily to avoid CSS collision, and (to me) more logical syntax, rather than the self-imposed constraints.
stephbook•3m ago
I'm lucky to have learned the web with Angular 2.x

It scopes CSS to components by default, and keeps HTML, CSS and JavaScript seperate.

Δ-Mem: Efficient Online Memory for Large Language Models

https://arxiv.org/abs/2605.12357
107•44za12•4h ago•26 comments

SANA-WM, a 2.6B open-source world model for 1-minute 720p video

https://nvlabs.github.io/Sana/WM/
37•mjgil•1h ago•12 comments

Accelerando (2005)

https://www.antipope.org/charlie/blog-static/fiction/accelerando/accelerando.html
69•eamag•2h ago•23 comments

Futhark by Example

https://futhark-lang.org/examples.html
59•tosh•4h ago•14 comments

Project Gutenberg – keeps getting better

https://www.gutenberg.org/
1022•JSeiko•21h ago•212 comments

Moving away from Tailwind, and learning to structure my CSS

https://jvns.ca/blog/2026/05/15/moving-away-from-tailwind--and-learning-to-structure-my-css-/
44•mpweiher•4h ago•10 comments

Nearly 50 Years Later, WKRP in Cincinnati Becomes a Real Radio Station

https://www.openculture.com/2026/05/nearly-50-years-later-wkrp-in-cincinnati-becomes-a-real-radio...
40•bookofjoe•3d ago•19 comments

Fecal transplants for autism deliver success in clinical trials

https://refractor.io/adhd-autism/fecal-transplants-for-autism-delivers-success-in-clinical-trials/
105•breve•4h ago•63 comments

Kyber (YC W23) Is Hiring a Founding Marketer

https://www.ycombinator.com/companies/kyber/jobs/1rLQAro-founding-marketer-content-community
1•asontha•2h ago

Frontier AI has broken the open CTF format

https://kabir.au/blog/the-ctf-scene-is-dead
218•frays•6h ago•180 comments

Points are a weird and inconsistent unit of measure

https://buttondown.com/hillelwayne/archive/points-are-a-weird-and-inconsistent-unit-of/
11•danborn26•2d ago•2 comments

Ploopy Bean: a trackpoint for every computer

https://ploopy.co/shop/bean-pointing-stick/
126•jibcage•3d ago•53 comments

I believe there are entire companies right now under AI psychosis

https://twitter.com/mitchellh/status/2055380239711457578
1535•reasonableklout•17h ago•794 comments

Greek Alphabet Cards

https://labs.randomquark.com/alphabet_cards/
6•ricochet11•2h ago•0 comments

A Tiny E Reader

https://nthp.me/blog/2026/a-tiny-e-reader/
36•louismerlin•2d ago•11 comments

Gaining control of every projector and camera on campus

https://www.edna.land/blogs/posts/scanning/
59•ednaordinary•2d ago•15 comments

The bird eye was pushed to an evolutionary extreme

https://www.quantamagazine.org/how-the-bird-eye-was-pushed-to-an-evolutionary-extreme-20260513/
152•sohkamyung•2d ago•55 comments

Orthrus-Qwen3: up to 7.8×tokens/forward on Qwen3, identical output distribution

https://github.com/chiennv2000/orthrus
143•FranckDernoncou•15h ago•23 comments

The Physics–and Physicality–Of Extreme Juggling (2018)

https://www.wired.com/story/the-physicsand-physicalityof-extreme-juggling/
7•ColinWright•3d ago•0 comments

Additive Blending on the Nintendo 64

https://phoboslab.org/log/2026/05/n64-additive-blending
144•ibobev•23h ago•17 comments

Where to buy a non-Apple, non-Google smartphone

https://www.theregister.com/on-prem/2026/05/01/where-to-buy-a-non-apple-non-google-smartphone/521...
101•_____k•5h ago•61 comments

The main thing about P2P meth is that there's so much of it (2021)

https://dynomight.net/p2p-meth/
153•tomjakubowski•14h ago•177 comments

Europe built sovereign clouds to escape US control. Forgot about the processors

https://www.theregister.com/systems/2026/05/16/europe-built-sovereign-clouds-to-escape-us-control...
87•beardyw•2h ago•59 comments

England Runestones

https://en.wikipedia.org/wiki/England_runestones
70•cl3misch•3d ago•26 comments

The sigmoids won't save you

https://www.astralcodexten.com/p/the-sigmoids-wont-save-you
236•Tomte•1d ago•224 comments

A 0-click exploit chain for the Pixel 10

https://projectzero.google/2026/05/pixel-10-exploit.html
398•happyhardcore•1d ago•215 comments

OpenClaw Creator Spent $1.3M on OpenAI Tokens in 30 Days

https://twitter.com/steipete/status/2055346265869721905
74•eamag•2h ago•81 comments

Naturally Occurring Quasicrystals

https://johncarlosbaez.wordpress.com/2026/05/14/naturally-occurring-quasicrystals/
111•lukeplato•1d ago•10 comments

Charity – Categorical programming language (1998)

https://github.com/mietek/charity-lang/blob/master/doc/README.md
16•matteodelabre•3d ago•1 comments

How to Write to SSDs [pdf]

https://www.vldb.org/pvldb/vol19/p1469-lee.pdf
146•matt_d•15h ago•18 comments