Mirror, Mirror

Benjamin Seibel (@bnjmnsbl) | 10/03/2018

Who hasn't thought about open data while brushing their teeth? At the lab, we often wonder how public data can be made more accessible. One way to achieve this is through interfaces that bring data out of your computer screen and into your everyday life – for example, into your bathroom mirror.

Einfach zauberhaft

Doesn't he look nice?

The idea behind this "Magic Mirror" is to put a display behind a semi-transparent mirror. The mirror lets in just enough light to hide the display itself, while the information on the display seems to appear within the mirror itself – as if by magic. We had a leftover screen at the foundation and decided to do some upcycling. Here's the recipe:



Our workbench (3D printer was not used)


Hardware-wise, the biggest challenge was putting the foil on the picture frame without creating bubbles. I'm notoriously bad at stuff like this and was quite nervous ("We only have one attempt, guys!"), but Louise and Seb managed to do it masterfully. Meanwhile, I freed the display from its case with a screwdriver using a delicate mixture of precise techniques and brute force, meaning it was the perfect task for me.

Einfach zauberhaft

Louise and Seb – professionals at work.

We spraypainted the styrofoam black and built a passe-partout to fit the display nicely behind in the picture frame. The final construction ended up quite heavy, so we decided against hanging the mirror on the wall and put it on the easel instead. Having it on an easel also makes it quite easy to move the mirror around.


Software-wise we did take a look at the modular Magic Mirror-Framework for the Raspberry Pi. This framework is a nice, open source project from the Netherlands that offers many different modules and even some open data widgets from Berlin, like this one for the public transport timetables. The installation is also fairly easy to complete. Unfortunately, the framework turned out to be a bit slow for animations – the second hand of our digital clock, for example, was moving quite erratically.

Browser Magic

Our Magic Mirror runs straight from Github Pages

In the end, we decided to go the easy way by just building a regular website and letting it run in the Raspi browser's fullscreen mode. It performs better, and you are able to use all the usual array web tools out there to make your data look nice. This made it particularly easy to include a map on Berlin's air quality, live news or a twitter feed, for example.

Browser Magic

Our final Magic Mirror (also in the picture: the fabolous @sebimweb).

Given that it wasn't too much of an effort to build, we're quite happy with the result. The mirror is a real eyecatcher at events and manages to draw attention outside the data viz community as well as within it. For us, it's a nice playground to experiment with different visuals. We'd like to try some things with facial recognition and machine learning soon – there is probably significant potential to execute more complex applications. Maybe even in the bathroom. And for those of you who've had your interest piqued and would like to construct your own Magic Mirror: happy building!

Project on Github mm-mockup
Project on GitHub
Benjamin Seibel

Über den Autor

Benjamin Seibel

Ben is Director of our Ideation & Prototyping Lab. Before, he took care of Open Data Projects at the Technology Foundation Berlin. He did his Ph.D. in Darmstadt & Harvard on the early history of E-government and worked as a journalist and curator in New York City, Nicosia and Rotterdam. Twitter: @bnjmnsbl