A recurring problem I've faced: multi-tenant frontends where each client needs variations in the interface. Same screens, different contexts. The classic result — replicated code, bugs isolated to one tenant, maintenance that becomes a nightmare.
The approach I ended up building around: treat the interface definition as data. A JSON schema describes what to render; an engine interprets it and generates the UI. Same schema works in React, Vue, and Vanilla JS.
It also fits naturally into AI workflows — when an LLM generates UI, a declarative schema acts as a guardrail for deterministic rendering.
Curious how others have solved this. We open sourced the engine: schepta.org.
guynikan•1h ago