PROJECT
Lead React.js Developer

Service Management Platform

An enterprise-scale micro-frontend platform for Universal Weather and Aviation, enabling distributed teams to independently build, test, and deploy domain-specific workflows inside a shared shell architecture.

Tech Stack

ReactTypeScriptMicro FrontendsWebpack Module FederationRedux ToolkitRTK QuerySWRGraphQLApollo ClientREST APIsMaterial UITailwind CSSReact Hook FormZodJestCypressGitHub ActionsDocker
Service Management Platform

Status

Production Ready

Type

Enterprise platform

Designed shell app architecture with routing, auth, and runtime dependency management across all MFEs

Integrated Sabre APIs (REST) and GraphQL with Apollo Client for real-time service and booking workflows

Established monorepo with shared design system - version-consistent UI components across all teams

Implemented feature flags and backward-compatible releases for zero-downtime deployments

Defined state management standards using Redux Toolkit, RTK Query, and SWR across distributed feature teams

Developed reusable, accessible TypeScript components using Material UI, Tailwind CSS, React Hook Form, and Zod

Optimized platform performance through code splitting, lazy loading, and independently deployable module boundaries

Service Management Platform

Overview

Service Management Platform is an enterprise aviation operations product built to support multiple domain teams shipping into one cohesive application. The platform used a micro-frontend architecture so service, booking, and operational workflows could evolve independently without compromising the shared shell or user experience.

Business Context

Universal Weather needed a frontend platform that could scale across teams, releases, and domain boundaries. The challenge was not just technical modularity. The experience also had to remain consistent for aviation professionals moving across interconnected workflows.

Core goals included:

  • independent team deployment without regressions in the shared shell
  • consistent routing, authentication, and runtime dependency management
  • integration with Sabre APIs and GraphQL-backed services
  • common UI, accessibility, and validation standards across domains
  • safer enterprise releases through compatibility and rollout controls

What I Built

  • Architected the shell application, including routing, authentication boundaries, and shared runtime contracts.
  • Implemented a Webpack Module Federation strategy so teams could build and deploy domain-owned features independently.
  • Established shared libraries and design system foundations in a monorepo workflow to reduce duplication and improve consistency.
  • Integrated Sabre REST services and GraphQL endpoints through resilient data-access patterns.
  • Standardized state management approaches using Redux Toolkit, RTK Query, and SWR based on workflow requirements.
  • Built accessible, reusable TypeScript components and form flows with Material UI, Tailwind CSS, React Hook Form, and Zod.

Architecture Highlights

Shell and Module Federation

The host shell coordinated navigation, auth, layout, and runtime interoperability between independently delivered micro-frontends. This allowed teams to move faster without fragmenting the platform into disconnected experiences.

Shared Design System

A reusable component and design-layer strategy enabled consistency across feature teams. Shared form patterns, navigation primitives, and layout conventions reduced drift and improved maintainability.

Release Safety

Feature flags, backward-compatible integration patterns, and zero-downtime deployment practices were important because several teams depended on the same production shell.

Outcomes

  • supported independent delivery across multiple engineering teams
  • reduced duplication through shared libraries and common UI standards
  • improved consistency across forms, state management, and enterprise workflows
  • created a scalable frontend foundation for aviation-focused operational systems

Notes

The screenshot paths currently use temporary existing images from public/images/projects so the dataset no longer points to missing assets. These should be replaced with approved Service Management Platform visuals later.