NKNeelesh K.
All case studies
Tempo · Legacy UI·Frontend engineer·2020 – 2024·Sunset

Tempo V2 UI (cxt-tempo)

The legacy editor that runs in parallel with V3 during rollout

38
Tenants supported
parallel with V3 rollout
25+
GraphQL provider schemas
stitched in Saber BFF
Module
Version diff
side-by-side history

The previous-generation merchant-facing CMS used by hundreds of site merchants across 38 tenants for years. Still serves production traffic for tenants/features not yet migrated to V3.

The problem

Months-old branches, slow dev loop, monolithic GraphQL resolvers, brittle module-definition forms, and a UX that drifted from Walmart’s Living Design system. Editors needed an audit trail and version history they could actually act on.

Versioning + diff visualization

Integrated a custom JSON-diff renderer into the module editor so merchants can compare any two published versions side-by-side and recover from accidental changes in seconds. Previously, version recovery meant filing a ticket against the Tempo team.

End-to-end RBAC

Implemented role-based access controls across the full stack (React → GraphQL resolvers → backend ACL) so merchants only see modules for the tenants and page-types they own — the same tenant × pageType grain that RMA enforces in V3.

Dynamic module-definition forms

@cxt-tempo/seed-to-schema converts Seed JSON module definitions into JSON Schema, then renders dynamic forms via @walmart/json-schema-form — field transformers, conditional logic, validation rules, locale handling, PRISM module support, all driven from the same Seed source of truth that backs Tempo Service.

What I shipped

  • Shipped versioning + side-by-side diff visualization for module history — cut version-recovery time from "file a ticket" to "compare two versions in the UI."
  • Implemented role-based access controls end-to-end (React → GraphQL resolvers → backend ACL) at tenant × pageType granularity.
  • Built reusable React + TypeScript components (history tables, content modals, dynamic module editors) on Walmart’s internal @saberjs/ui library.
  • Raised Jest + React Testing Library coverage on the critical-path editor flows.

Stack

React 17TypeScriptRedux ToolkitRedux PersistApollo GraphQLKoa (Saber)MongooseEmotion / Saber UIFormik + YupAJV (JSON Schema)Jest + RTLNx monorepo