🧪 killBottleneck is in public beta — cloud and self-host.🧪 killBottleneck is in beta.Beta on GitHub →
Skip to content

Skins

In the avatar menu → Appearance everyone picks how their killBottleneck looks. The choice is saved to the account, so it applies on every device, in both light and dark mode, and in the simplified lite view too (the picker there sits in the footer).

The Appearance dialog — picking, importing and exporting in one place.

The built-in skins

Indigo is the default. The others: High contrast (pure black and white, sharp corners, system fonts), Terminal (green on dark, mono fonts), Paper (warm paper tones with serif headings), Ocean, Forest, Midnight (deep night blue with golden accents), Plum, Peach, Graphite (no colors, just content) and Ruby (red on black — preserves night vision).

Light, dark, and what never changes

The same map in the Terminal skin — the status colors stay readable.

Every skin defines both a light and a dark variant — the light/dark switch stays yours. What a skin deliberately does not change are the status colors: red for overdue, amber for in progress, green for done, readable everywhere the same.

Map export (PNG/PDF) is true to the screen — only the background doodle is deliberately left out of the export. It is captured — captured in the active skin and mode, including the background color. The project dashboard PDF and the My day image deliberately stay light, so they can be sent to anyone.

On the phone (simplified view)

No need to switch to the full version on a phone: in the simplified lite view the appearance picker sits right in the footer, next to the light/dark toggle. You pick from the same built-in skins and the choice is saved to your account — phone and computer then look the same. A custom skin imported in the full version is offered here too.

Changing the appearance right on the phone — the picker in the lite footer.

Custom skins

A skin is a small JSON file (the kb-skin v1 format) — a set of colors (HSL), fonts and a corner radius. The Appearance dialog can export the current skin (for a built-in one, its definition — take it and tweak it) and import somebody else's, from a file or by pasting.

By design a skin is not arbitrary CSS: the values pass a whitelist on both the client and the server, so a shared skin cannot run or send anything. No web fonts are ever downloaded — only fonts bundled with the app and system fonts are used, and an unknown font harmlessly falls back to the next one in the stack.

Editing the JSON by hand isn't necessary, though: the gallery ships a standalone skin editor (MIT) — it runs entirely in the browser, starts from any built-in template and shows the light and dark preview side by side. Step by step in the Your own skin tutorial.

The skin editor — 35 colors, 4 fonts, the radius and the doodle, with a live preview.

Ready-made skins from the community live at https://github.com/tengolabs/killbottleneck-skins (CC0 — skins are free data; submissions welcome). The Appearance dialog links straight to the gallery.

A company look

An administrator sets the instance-wide default skin in the organization settings — it applies to everyone who has not picked their own, including the login screen. A user's own choice always takes precedence.

Next

fair-code — self-hosting and internal use are free, reselling as a hosted service is not.