bensoussan.de

Homescreen

A wall-mounted dashboard for our household in Hamburg: weather, rain radar, the next train, and the Jewish calendar. It runs on a Raspberry Pi and is never touched.

The Homescreen dashboard running full-screen on the wall tablet

Full-screen on the wall, always on.

Why a screen on the wall

Every morning the household asks the same few questions. Do I need a jacket. Will that rain arrive before we leave. Which line gets me there, and have I missed it. How long until Shabbat.

Each answer lived in a different app, on whichever phone happened to be charging. Now they are all on one panel, always on and readable from across the room.

What it shows

Time and sky

A clock with a day–night bar under it, so the remaining daylight is readable at a glance. Beside it, seven days of forecast with the current day broken out by hour.

Then the part I use most: an animated precipitation timeline over Hamburg, scrubbing through radar tiles, so you can watch a band of rain approach and tell whether it arrives before you leave.

I had wanted to use rainbow.ai for the radar. Their billing changed and the same usage would have cost around $300 a month, so the timeline is built from DWD tiles instead — the German weather service publishes its radar composite. Forecast data comes from OpenWeather.

Getting out the door

Live departures for the U-Bahn, S-Bahn and bus stops within walking distance, in minutes rather than clock times.

StadtRad availability sits next to them, for when the answer is that you have already missed it.

The departure data comes from Hamburg's own transit API, on credentials the city issued on request. StadtRad availability is published openly, so the bike counts need no arrangement at all.

The Jewish calendar

The day's zmanim — halachic prayer times, which shift with the sun through the year — computed for our location, next to the Hilulot falling on that date.

On Friday the screen becomes a countdown to candle-lighting, and after Shabbat, to Havdalah. It is drawn as candles rather than a number: two base candles always lit, following the minhag of lighting two, and one further candle for each child in the family. A tracked pregnancy shows as a fruit that grows with the gestational week, from poppy seed to watermelon.

How it is built

Next.js

The dashboard itself — widgets, layout, and the data fetching behind them.

Yocto on a Raspberry Pi

A purpose-built image rather than a desktop OS with things switched off: Cog and WebKit on Wayland, full-screen, started by a systemd kiosk service at boot.

Podman Quadlet, Traefik

Deployment. The image and the app are built and released in CI; containers are described as units and handed to systemd, with Traefik in front.

The contrast is the point: a custom Linux image, a supervised kiosk service and a container deploy path, in service of a domestic problem. A wall panel has no keyboard and no user — whatever it does at boot it has to do by itself, which is why the image and the service exist rather than a browser somebody remembered to open.