“Just in Time” CSS: The Compiler Approach to Styling
Atomic CSS first emerged with acss.io, positioning itself as a compiler rather than a static stylesheet. Developers write utility-style rules, and the tool generates only the CSS those rules require — nothing more. The result is dramatically less stylesheet code than traditional approaches produce.
That on-demand compilation model is now known as “Just in Time” CSS, and it’s reshaping how frameworks handle utilities. Tailwind adopted the approach, flipping its original mental model: instead of shipping a massive library of utility classes and purging unused ones, Tailwind now generates only what’s actually used from the start.
The concept is spreading. Assembler CSS, for instance, leans into it heavily, though it expresses utilities differently than class-based systems.
Opinions remain divided. On one hand, “Just in Time” CSS enables styling without leaving templates, and the minimal output is appealing since CSS blocks rendering. On the other, it’s a constrained abstraction — you’re dependent on the tool supporting whatever CSS can do natively. And while the markup gets harder to scan, that’s a trade-off many have already accepted with JSX inline event handlers.



