Blog
Notes from the theming front line
Release notes, architecture deep dives and guides — all written while building Theme Kit, and all dogfooding it. Search, or filter by tag.
8 posts
"How Theme Kit remembers the user's choice across reloads and keeps every tab in sync — persistence adapters, BroadcastChannel, SharedWorker, and the StorageEvent fallback."
"Scope a theme to a single region — a video player, an embedded widget, a legacy component — with ThemeScope, the theme-kit-scope element, or an imperative binding."
"Theme Kit themes semantic tokens — background, foreground, primary, muted — instead of component classes. Here's why that scales to every framework and every component library."
"Theme families let users switch colors independently from light/dark mode — giving you plum-light, plum-dark, mint-light, mint-dark, and every combination from a single API."
"The three techniques Theme Kit uses to guarantee a user never sees a flash of incorrect theme — blocking bootstrap scripts, SSR CSS variables and cookie-based fingerprinting."
"How Theme Kit synchronizes theme changes across tabs and windows using BroadcastChannel, SharedWorker and StorageEvent — with a graceful cascade of fallbacks."
"Use Theme Kit's scheduled option and NOAA solar math to switch light and dark modes based on actual sunrise and sunset for the user's coordinates."
"How Theme Kit's accessibility toolkit keeps themes readable — WCAG contrast ratios, full-theme audits and color-vision-deficiency simulation — all at runtime."