KYC Studio, Schema-Driven Flows
A config-driven UI platform with Git-based config-as-code, so compliance changes ship in hours without a frontend deploy.
- Role
- Senior Frontend Engineer
- Period
- 2025–present
- Stack
- TypeScript · jsonform · Mini Program · Git · CI/CD · Schema validation
The problem
Verification flows for 100+ countries meant duplicated code and an engineering ticket every time compliance or product wanted to change a regional rule.
The approach
- Render forms from schema. The UI reads JSON or YAML configuration through jsonform: the schema generates the fields and validation rules. Custom actions, like starting the native NFC bridge or a liveness check, stay in code.
- One step, different outcomes. The configuration decides what a step does for each country and platform (web, mobile or Mini Program). Where NFC is supported the step shows scanning guidance and a Scan with NFC button; otherwise it shows the normal form fields and a Continue button. Product and Compliance change that in config, not in code.
- Config as code. Compliance and product officers submit changes through Git. Each change opens an automated pull request and runs CI with strict schema validation backed by TypeScript types, so malformed config fails before production.
Two decisions worth explaining
jsonform for rendering, code for actions. A fully server-driven UI that runs arbitrary logic sent from the server invites remote-code-execution risk and performance problems. Data-driven rendering with actions bound to pre-compiled handlers keeps the flexibility without that exposure.
Git instead of an admin form. Easy edits without governance break production flows. Pull requests, type checks and CI make every change attributable, reviewed and easy to roll back.
The result
Config releases no longer depend on frontend deploys, so multi-market compliance updates moved from weeks to hours, and regional code duplication stopped growing.