Culinola

The home dashboard for the screen in your kitchen

Culinola brings your house, your media and your family's day together on one touch display – arranged the way you want, set up entirely in the browser.

Get started View on GitHub

Culinola dashboard with energy gauges, presence, sun and moon and a clock

Why Culinola

Everything at a glance

No scrolling, no menus: a grid of tiles that fills the display and scales with it.

Works with what you have

openHAB, Home Assistant, Homematic, MQTT, FRITZ!Box, IMAP, Google Calendar, RSS, cameras via go2rtc – each one is a plugin.

Set up in the browser

Drag tiles into place, pick datapoints from a searchable list, add sources and credentials. Displays pick up every change without a restart.

Made for the whole family

An egg timer on the clock, recipes to cook from, ingredients onto the shopping list, a doorbell message with the camera behind it.

Yours

Runs on your own hardware in your own network. The source is open to read and change, and free for private and other noncommercial use.

One API for everything

The interface uses the same HTTP and WebSocket API as any other program – with access tokens in three levels.

A look around

Layout editor with tiles and the list of tile types
Layout editor – move, resize, add and configure tiles on a true-to-scale preview.
Dashboard in the light theme
Six colour themes, with an automatic switch at sunset.
List of sources with their state
Sources – each connection restarts on its own and tells you what it found.
Settings for display, messages and access
Settings – language, themes, on-screen messages and access tokens.

The screenshots show the built-in test instance with made-up values.

Get started

You need Node.js 22.18 or newer.

git clone https://github.com/achrista/culinola.git
cd culinola
npm install
npm run build
npm start

Open http://localhost:8090. Without a configuration of your own, Culinola starts with made-up demo values. Add ?layout=main&edit to the address to open the layout editor.

Culinola is young: expect rough edges, and please report them on GitHub. The interface is available in German and English.