Software-Defined Inverters: a cross-platform UI system for smart energy
Siemens (via T7Lab) · Software-Defined Inverters · 3-year engagement
The Situation
Siemens was developing Software-Defined Inverters (SDI) for smart energy. The hardware existed, but the platform needed two very different user interfaces: one for end users (monitoring battery status, solar generation, household consumption) and one for field technicians (a highly specialized configuration UI used at customer locations). Both needed to work across iOS, Android, and Web.
The Real Problem
Three platforms, two distinct user types, and the expectation that all of it should look and behave consistently. The end-user app needed to be simple and intuitive. The technician app needed to surface complex configuration options in a way that was reliable under field conditions. Building and maintaining separate implementations for each platform and user type would have been a maintenance nightmare.
The challenge was finding an architecture that could serve both audiences across all three platforms without tripling the development effort every time something changed.
Key Decisions
- Designed a JSON-based ruleset that defined UI structure, validation rules, and interaction patterns in a platform-agnostic format. Each platform (iOS, Android, Web) interpreted the same JSON configuration to render its native UI. When business rules changed, they changed in one place and propagated everywhere.
- Built two distinct UI experiences from the same foundation. The end-user interface showed battery levels, solar generation, and energy consumption in a clean, accessible format. The technician interface exposed deep configuration options for inverter setup, diagnostics, and firmware management. Both were driven by the same underlying JSON ruleset, with role-based configuration determining what each user saw.
- Established cross-platform consistency standards. Rather than letting each platform team drift into their own patterns, the JSON-driven approach ensured that a field change or a new configuration option only needed to be defined once. The web app served as the reference implementation that iOS and Android teams aligned with.
The platform launched with full feature parity across iOS, Android, and Web. End users got a clean, simple interface for monitoring their energy systems. Technicians got a specialized tool they could rely on during on-site installations. The JSON-based ruleset meant new features and configuration changes could be rolled out across all platforms simultaneously, without platform-specific development cycles.
The Exit
Three-year engagement through T7Lab. The cross-platform architecture, JSON ruleset system, and both UI applications were documented and transitioned to Siemens's internal engineering team for continued development.
Facing something similar?
Every situation is different but the patterns repeat. If your team is stuck, your architecture is uncertain, or you're about to make a big technical bet, tell me what's going on.