Week 5

14 Mar, 2021

Light week this week. Spent most of my side project time continuing my Experimental JavaScript course.

I completed a lesson using PIXI.js to play with WebGL. See demo of lesson over at https://tiny.kevinandersen.dk/project3/.

I also completed a lesson using matter.js to play with physics. See demo of lesson over at https://tiny.kevinandersen.dk/project2/.

As usual, I also wrote weekly tweets for @SunOfDenmark. I realized that this is the second to last week before going over to standard time, which ends the stream of tweets. It has been a fun experience writing daily tweets and trying to find creative and appealing twists on the emergence of daylight, but to be honest also has become a bit trivial here at the end.

I had hoped to work on Project Caramel this week, but only did a light bit of reading. I happened to stumble upon a thread mentioning that MicroPython’s built-in ADC only reads in the 0.1MHz range, which might be one of the reasons why I’m not seeing enough data. I need much faster data than that, so I will investigate whether I can build my own MicroPython module in C to gain the required speed. Otherwise, I’ll have to move into building my own C application.

Week 4

7 Mar, 2021

Project Caramel

I received components for Project Caramel this week:

  • STM32F411 Nucleo board (but ended up using a pyboard running MicroPython instead)
  • Passive components (resistors, caps, diodes)
  • LM358 opamp

I followed a microphone amplifier guide and used MicroPython’s built-in ADC module.


Breadboard amplifier circuit and piezo disk connected to pyboard

I’m getting readouts, but it seems the amplifier circuit needs more work. For some reason there’s a high “ambient” value (noise?) but I have to actually tap the piezo itself to get peaks, but I should only need to knock on the table. As usual with this project, I will keep oscillating between prototyping and reading theory.

Experimental JavaScript course

Recently, I have been doing weekly work sessions with Alexis Hope (check out her site, she does cool stuff). She gave me a tip on some cool courses offered by SuperHi and I fell for the Experimental JavaScript course. It goes into using canvas, three.js, matter.js, and PixiJS, which are all libraries I have wanted to learn more about. Here is a quick sketch from the first lesson:


One of the projects I would like to do is make a fun 404 page using some of these technologies. Maybe interactive headlines as well, we’ll see.

Updated Portfolio

I have probably redesigned my portfolio once a year for the past 5-6 years, but never published it. I always get stuck re-writing my portfolio entries or with the website itself. But with my recent success building this website using Gatsby, I felt like I could use the same structure and have it be a small project. I have been unhappy with my current portfolio for a while because of the design and using wordpress which feels clunky and slow.

I ported all my content to the new structure, made necessary design changes, and published it in a couple of days. Available here: portfolio.kevinandersen.dk. I also switched from Google Analytics to Panelbear, a cookie-less alternative that is also free and much simpler to use.

As you’ll notice, my portfolio and this website look eerily similar, and that’s something I will be thinking about how to address. One thought I had is to have the header gradient be sunrise-colors for this site and sunset-colors for the portfolio. Sunrise to represent what’s ahead for me, and sunset to represent my past.

Week 3

28 Feb, 2021

I spent most of my spare time this week working on this site - and publishing it! Also wrote more project pages, like Sun of Denmark and Wall Art.

I should have received components for Project Caramel, but since that didn’t happen there will not be any progress on that project this week.

Project Cocoa

Instead, I started Project Cocoa. I thought the name would be appropriate since the idea is to design a heater cover for friends of mine that renovated their apartment recently. The intention is to design it in laser cut MDF and paint it afterwards, and a fun way of playing with parametric ideas. I got measurements from them, and started drawing up some pencil sketches, and then moved into Grasshopper to try some out.

First Sketches

Building up a sketching workflow in Grasshopper

With people for scale

Including people for sense of scale

In place

Rough placement in context

Next step is to flesh out more sketches. I’m curious about exploring other, less purely geometric principles like magnet fields or physics.

Frequency and refinement

I think about frequency a lot. In preparation for Project Caramel, I read The Scientist and Engineer’s Guide to DSP. Specifically, about Fast Fourier Transforms and how you can use it to go from looking at a signal in time-space to frequency-space.

In the context of interaction design, I think about the frequency of prototype iterations and product releases. During my first five years at LEGO, I have launched two products. In my experience, 2-3 years for product development isn’t unreasonable when developing something that’s both physical and digital. Say I have 30 years of career left, that’s 10-15 products I have left, a frequency around 9 nHz, or 0.28 cycles per year.

One of my hobbies is coffee brewing, and most of the baristas I have met say they serve hundreds of cups of coffee in a single day. As frequency of iterations, that’s 3,170,979 nHz, or 100,000 cycles per year. Not sure what this means or how to think about it, but it’s on my mind.


I have extended the structure so that beyond this blog, but also project pages that I can create for each project. Did lots of styling, built first mobile support, and streamlined the look on the different parts of the site.

Week 2

21 Feb, 2021

First week with this new site. I’ve spent a couple of evenings setting up the site, my github repo, and modifying the site theme and writing these articles.

Project Caramel

The first side project I want to start writing about is Project Caramel. Why Caramel? Working on confidential projects in my dayjob, I’m used to working with codenames. Besides being a fun way to reference what you’re working on, I think it gives freedom to allow the thing you’re working on to develop independently of it’s name. In blogging, I’ve seen it used by Tom Armitage, who I think uses it because of client confidentiality. For these personal non-confidential side projects, it’s about having a way of referencing a project while the idea is still developing.


Project Caramel is an old idea I had while studying. I was curious about creating more sensuous interfaces that allow for expressivity and mastery. Think about how a piano or keyboard key has the notion of velocity and even aftertouch, while a keyboard key is binary. What if the keyboard keys were sensitive to the way you strike the key? Like typing harder would switch to caps?

I want to explore ideas of having interfaces be a natural part of a surface rather than something that’s mounted onto it. Like if the wood itself was the interface rather than a button coming out through it.


First iteration of the prototype I’m building to explore the concept consists of:

Principle sketch of Caramel components

My thinking is, by picking up the audio signal from a surface as I interact with it and performing signal processing, I should be able to quantify interactions.

There’s a lot going on here. Electronics, designing and developing the circuitry needed to properly pick up the audio signal. Firmware development, developing the DSP algorithms needed to qualify the signal. When electronics and firmware is up and running, I will move into the industrial design, designing and prototyping the surfaces that explore the design space that I suspect the sensor opens.

What’s the end-game? the output? I belong to the school of Researching Through Design / Thinking Through Making, where the meaning is something that emerges as you actually start developing and embodying the idea. The answer for now is, I don’t know.

This week

For this week, I researched amplifier-, limiter-, and filter-circuitry, and attended a HackChat Event on signal conditioning with Jonathan Foote. It informal yet informative. The format invited a lot of sharing from everyone present, and after the event I had purchased two new books and had 10+ new tabs open with subjects to research.

I also purchased components for prototyping the above circuitry, which should arrive next week.

Week 1

17 Feb, 2021

Hi, welcome, you made it. And since that’s the case, so did I! I’m Kevin, and I work as an Interaction Designer at LEGO.

This isn’t my portfolio. This is where I display and blog about my side projects. Since leaving the Scratch Team and the Media Lab last summer to go back to Denmark, I miss being part of a community that’s interested in the intersection between art, design, and technology. And living in COVID-19 lockdown for months, I am feeling even more alienated but also exhausted. Since my day job is mainly working on confidential future products, I can only share it with a small circle of people. Working remotely, that circle is even smaller.

This site is an attempt to increase the size of my circle by making it revolve around a thing - either physical, digital or both.


Since my side projects, like my day job, are often a mix of physical and digital components, and often require me to learn a new skill, they take longer to develop.

The primary inspiration for making this site was Matt Biddulph who I met at a conference last year. He runs the hackdiary, but also launched an instagram profile for his side projects. It got me thinking, that a space dedicated to side projects might be what I need.

Inspired by Tom Armitage, I’m planning to use codenames for some projects. Partly, to be able to talk about them while keeping them private until they’re ready to show, but also perhaps to talk about them before I understand what they are.