🇨🇭 Software engineer at galaxus.ch Currently working on yak (yak.js.org) the almost zero runtime css-in-js solution

Zürich, Schweiz
🎨 What's actually happening inside compile-time CSS-in-JS? @Mad__Kat, Senior Software Engineer at Digitec Galaxus, opens up the internals most of us never think about. Grab a seat: reactadvanced.com/
2
1
13
123,627
Looking forward to it ☺️
2
71
Luca Schneider retweeted
There is something there about below the fold and being able to prioritize visible content but a) you can use intersection observers on activity today and b) we want to solve this better with suspenselist
1
1
4
181
Finally, after adding turbopack support, next-yak also supports vite (for rolldown and rollup). Additionally we published a new storybook addon (compatible with webpack & vite). Read up upon here: yak.js.org/docs/vite & yak.js.org/docs/storybook
3
114
Luca Schneider retweeted
ik several reasons why app router is hated because it breaks every mental shortcut engineers expect from a router. People see a folder /app/dashboard and think, “okay, a page, easy.” No. That file is a server component segment. That layout is a suspense boundary. Every fetch you place inside it is an async landmine. One tiny fetch in a child layout can suspend the parent, trigger Flight payload waterfalls, and your client components hydrate in the wrong order. Debugging this is brutal. Flight payloads are opaque JSON structures representing React elements. If something fails, you get undefined or cannot read property X of null. Good luck tracing it. Nested layouts? Forget it. Passing useParams, usePathname, or context through multiple segments can fail silently. The parent segment may not have resolved, leaving child segments with undefined. Streaming SSR tries to help. It flushes partial HTML while children suspend. But this introduces fallback flickers. The UI shows a placeholder, then swaps content, then sometimes remounts unexpectedly. That’s what people see and hate. Caching is another nightmare. Each segment has its own cache. Fetches inside server components are cached per segment. Revalidation only affects the segment, but nested async children may cascade refetches, streaming new Flight payloads, breaking client hydration. Engineers hate this because it’s non-intuitive, inconsistent, and easy to break without realizing why. Suspense boundaries, streaming, and client/server separation compound the pain. Client components must be explicitly marked. Server components cannot access client-only hooks or state. Cross-boundary communication is fragile. One wrong assumption, one misaligned fetch, and hydration breaks silently. In short, people hate the App Router because it forces engineers to think differently. You can’t reason about pages anymore; you must reason about trees of async segments, Flight payload serialization, per-segment caches, streaming SSR, suspense boundaries, and incremental hydration. It is fast, future-proof, and minimal on client JS, but it is opaque, brittle, and extremely difficult to debug. That’s the reality. No hype. No fluff. It works beautifully when you understand it, and it breaks horribly when you don’t. That’s why engineers rage, and that’s why they swear by the old Page Router when the app is small.
2
4
54
3,051
We've merged and released an initial turbopack support for next-yak 🎉🎉 All features work out of the box aside from imports in .yak.ts files. It also tackles long standing issues and should work generally better than the webpack version.
1
2
141
And if you look at the horizon, you might spot our next big release 🚀
24
Luca Schneider retweeted
Starting from v1.15.0, the Wasm plugins of @swc_rs are now backward-compatible! Read more at blog.swc.rs/2025-11-4-wasm-b… Thank you so much for the hard work, quininer (on Github) and @rspack_dev! This will improve the QoL for users of @swc_rs, @rspack_dev, and @nextjs!
6
12
47
8,624
Luca Schneider retweeted
This is the only way to be. The answer might surprise you. More often than not you end up learning something that will help with your own goals. Sometimes the best outside perspective is the one really on the outside, because it isn't limited by your assumptions.
A thing that you can do, when seeing a technical choice you disagree with: pause. Take a breath. Be curious. Ask yourself, "why might they have done that?". Ask the authors why they did that? What context do they have that you don't?
2
4
88
11,490
Luca Schneider retweeted
Took me over a year to finish writing this monster of an article. 4,000+ words, 200+ links, and lots of research covering countless JavaScript runtimes and engines. Please have a read! I guarantee you'll learn something new. Link below.
8
25
212
19,026
Luca Schneider retweeted
🌐 learn.next-intl.dev is officially live! Learn how to build delightful, multilingual apps with Next.js—from the basics to advanced patterns, all through a real-world project. 🎥 10 chapters · 42 lessons · 5+ hours of 4K video 💻 All code, recaps & resources included
7
25
124
17,923
Luca Schneider retweeted
Chrome 135 shipped a new #CSS feature to improve accessibility and keyboard navigations However there is a discussion going on to revert part of it - in particular its "donut holes" feature dev.to/jantimon/focus-contai… #a11y
1
2
13
317
We found a way to run our custom SWC plugin on the client in WASM 🎉 If you want to see how next-yak transpiles your input to static CSS have a look here: yak.js.org/playground
1
1
4
1,117
Thank you @aberba for the feedback. If something doesn't work or is missing, don't hesitate to open an issue. We're always happy to help 🚀
Replying to @jantimon
I'm migrating all my personal and client projects to next-yak as I'm too deep in the styled-components style. I really like that style and I have built many powerful things will it for yrs. It truly scales and is easier to read and maintain.
1
2
138
We've released a eslint plugin for next-yak to make the migration from styled-components even easier and faster 🎉 Install it, try it and write us what you think. yak.js.org/docs/eslint-plugi…
1
1
109
Luca Schneider retweeted
we are making great progress on Turbopack support for next-yak many kudos for the outstanding support by the @vercel team first HMR performance tests are looking very promising! who would have thought that Rust & CSS might be such a great mix
2
4
34
2,121
Luca Schneider retweeted
📚 I haven’t blogged in quite a while (new job I guess), but I got so many questions about how I got started with open source at React Paris that it was finally time for me to write that down: tkdodo.eu/blog/my-open-sourc…
8
12
131
7,247
We love it here yak.js.org
Fumadocs for your next docs
1
49