2023 – present · Project owner & developer — publisher integration, the serving API, and ongoing site configuration

Skins

A market-entry skin format that fits any publisher's layout from a single API call.

  • Engineering
  • Product
Skins

The brief

A skin is the big branded wallpaper that wraps around a publisher's page. The usual way to run them is a pain: you hand-measure every site you want to appear on, keep a table of breakpoints and positions for each one, and then maintain all of that as the sites change. It's the kind of overhead that makes the format expensive and slow to sell. Cavai didn't have a skins product at all, and I wanted to get us into that market without taking on all that maintenance.

The approach

Instead of storing every site's measurements up front, the skin works it out on the page it actually lands on. When the creative loads it sends its current URL to an API I built, and the API sends back what it needs for that specific site. This includes a CSS selector to find an element of the right width to line up against, the z-index to sit at, the padding to leave, and (when a site is being a bit of a pain) a bit of extra site-specific JavaScript. The creative finds that element and sizes itself around it. Adding a new publisher is just a new entry in the config, not a development job. I am currently the one maintaining it and it usually takes me less than 5 minutes to add a new site.

My role

I own this one end to end. I talk with the publishers to get it working on their sites, I built and maintain the serving systems behind it, and I keep the list of supported sites and their individual settings up to date.

The result

It runs on around 800 sites across most of the major Benelux publishers. I can't easily dig out the total number of skins we've delivered over the years, but the API that serves them gives a sense of the scale, it handles somewhere around 725,000 requests a month. Mostly it just runs quietly in the background now, which is what you want from something like this.