One design system.Every customer’s brand.
The design system for epilot portals, ready for custom Spark blocks like HEMS too. Pick a brand below and watch everything follow, live.
Power Network
ViewHero Metric
ViewBadge
ViewEntity Card
ViewButton
ViewEnergy Breakdown
ViewSwitch
ViewCallout
ViewOperation completed successfully.
Heads up: review before continuing.
A new firmware version is ready.
Slider
ViewInfo Block
ViewProgress
ViewStepper
ViewTypography
ViewSolar
3,400 WGrid
520 WTheme at every level
Set the brand once for the whole portal, then adjust a page, a single block or even one button. Settings cascade down, so editors configure instead of writing CSS.
Change a single element, like one button inside that block.
Good morning, Alex
Everything about your home energy in one place
Go dynamic
Charge your car when power is cheapest and save up to 30% a year.
- No custom CSS
- Every level is a handful of settings. Non-developers can brand a portal without touching code.
- Upgrade-safe
- No stylesheets reaching into component internals, so updates ship without breaking anyone’s brand.
- Contrast built in
- Each level generates its own accent scale and checks text contrast, whatever color it gets.
Everything a portal block needs
Components, theming engine, portal bridge and AI tooling, maintained together and released as one.
Themeable by contract
One CSS-first contract: --spark-* tokens plus data-* presets. Accent, neutral, radius, spacing, emphasis and fonts re-theme the whole tree at runtime.
ThemingPortal-native blocks
Live portals inject the customer’s tokens over postMessage, so a custom block wears their brand automatically. The SDK handles session, entities and localization.
Portal blocksBuilt for energy
Power network diagrams, energy breakdowns, Sankey, solar forecast and history charts: the HEMS components behind real home energy dashboards.
HEMS componentsAI-ready from day one
An MCP server and an agent skill give your assistant real props, examples and tokens, so it builds with Spark instead of guessing.
MCP serverWCAG 2.2 AA
Base UI primitives, axe checks on every change, and contrast-safe accent scales generated for any brand color you throw at it.
AccessibilityTree-shakeable
Import one component, ship one component. Icons included: thousands of rounded Material Symbols, one import each.
IconsShip your first custom block today
Scaffold a block, theme it with the customer’s tokens and embed it in a live customer portal.