Kilian Valkhof

Building tools that make developers awesome.

JS Party podcast: Polypane-demonium

Web, 21 June 2024

I was invited to the JS Party podcast to talk about all things Polypane, from the business side of things to nitty-gritty features that I’ve been working on. I had a lot of fun and I think Nick and Jerod did as well.

The problem with new URL(), and how URL.parse() fixes that

Javascript, 24 April 2024

As someone building a browser I need to parse a lot of URLs. Partially to validate them, but also to normalize them or get specific parts out of the URL. The URL API in browsers lets you do that, but it’s ergonomics aren’t ideal.

Your page can’t change media features

CSS & HTML, 23 April 2024

Yesterday on Mastodon we had a short discussion about the (terribly named) overflow media feature. Because it has the same name as a CSS property it’s easy to think it has more power than it really does. Underlying that is the issue that your page can’t change the value of a media feature: media features say something about the medium: the device, browser or user preferences.

The gotchas of CSS Nesting

CSS & HTML, 13 June 2023

I've written before about the problems you can run into with CSS nesting (keep in mind that article uses an older syntax but the point still stands) and the question that @ChallengeCSS tweeted out today made me realize there's actually a few more gotcha's.

:root isn’t global

CSS & HTML, 1 May 2023

Most developers prefer to keep all their CSS custom properties in one place, and a pattern that has emerged in recent years is to put those on :root, a pseudo-class that targets the topmost element in your document (so that's always <html> on web pages). But just because they're in one place and in the topmost element, it doesn't mean they're global.

Polypane browser for responsive web development and design Hi, I'm Kilian. I make Polypane, the browser for responsive web development and design. If you're reading this site, that's probably interesting to you. Try it out!

I develop more software and tools:


Use the design system you already have


A cross-platform, simple and smart autosaving scratchpad.

A Messenger Adventure!

Go on a text adventure in Facebook Messenger.


Browser extensions that automatically fix accessibility issues.


Drag-and-drop lossless compression of PNG and JPG images for web.

Messenger Demo Viewer

Demo your (bot) interactions on Messenger.