Hi there!

Good Vibes Only is owned by me, Jessica, and I work as a freelance front-end developer. I write about things I’ve experimented with and thoughts I like to share, focusing on creativity and CSS.

I have a love for CSS because it’s what makes the web look interesting and fun!

Image of logo circles

Quick and trix

Latest beat

We’ve gotten so many new CSS selectors lately that almost feel like magic, but with magic comes confusion. Sometimes it’s surprisingly hard to see the difference between two selectors that look almost identical. Do you know the difference between :has(:not(…)) and :not(:has(…))? A small hint: they are definitely not the same thing if you look at it more closely.

section:has(:not(img)) {
}

section:not(:has(img)) {
}

At first glance, they look similar. But if we rewrite them slightly, the difference becomes clearer:

section:has(*:not(img)) {
}

section:not(section:has(img)) {
}

Now the logic starts to unfold. section:has(:not(img)) selects a section that contains anything that is not an img. On the other hand, section:not(:has(img)) selects a section only if it doesn’t contain an img at all. Same words. Different order. Completely different meaning.

For a CSS nerd like me, this was such a satisfying little aha! moment. I love when something that looks confusing at first suddenly clicks — and you realize CSS is just being very, very precise.

More beats

Top of mind

Things that sparks

Once again, I had the honor of speaking at FrontendForum, this time with a beautiful view at Knightec Group. Big thanks for having me! Even though things didn’t go perfectly with the demo (you know that feeling), I had so much fun and truly enjoyed every moment.

Jessica attending FrontendForum
More sparks

Things I have written

Newest longer vibes

Nordic.js Afterglow

Imagine candy, code and creative chaos in Stockholm, that was Nordic.js 2025 in a nutshell.

Read vibe

Happy New Year (in September) ✨

For me, the first of September is my true New Year. Each fall feels like more of a fresh start than January 1st ever could.

Read vibe
More vibes