Selected engineering work with context, constraints, architectural decisions, and honest retrospectives. Focused on regulated environments, systems design, and cross-team delivery.
Healthcare Device Platform Modernization
STERIS · FDA-Regulated · HIPAA · Enterprise MDM · May 2024 – Feb 2026
Context
STERIS's Mobile Handheld Computer (MHC) platform supports sterile processing departments across live hospital environments — scanning surgical assets, documenting sterilization events, managing case cart builds, and capturing quality non-conformances. The existing application ran on Xamarin MAUI (C#), deployed on Zebra TC52X Android scanners under FDA and HIPAA constraints.
Constraints
- FDA-regulated clinical workflows
- HIPAA-protected health information
- Microsoft Intune MDM enforcement
- Legacy SOAP/XML backend services (no rewrite in scope)
- Zebra TC52X hardware with DataWedge barcode integration
Challenge
The legacy Xamarin platform presented compounding risk: declining support trajectory, tight backend coupling, no design system, limited architecture documentation, and growing onboarding friction. A modernization that disrupted offline continuity, scanner integration, or MDM compliance would have direct operational impact on clinical workflows.
Approach
Led full architectural modernization from Xamarin MAUI to React Native.
Architecture & Infrastructure
- Defined modular React Native architecture with Zustand state boundaries and a pnpm monorepo with shared packages (API client, scanner module, design system, ESLint config).
- Designed a typed API abstraction layer converting SOAP/XML services into stable data interfaces via React Query — REST primary, SOAP fallback — without requiring backend changes.
- Established offline-first data layer using SQLite with indexed schemas for clinical reference data; background refresh hooks maintain freshness; session state persists across restarts.
Hardware & Compliance Integration
- Built a custom Native Module bridging Zebra DataWedge Android Intent broadcasts to JavaScript — standard barcode libraries do not support DataWedge.
- Integrated Microsoft Intune SDK with App Protection Policies; MDM config (domain, site, server) injected at runtime from fleet management, not hardcoded.
UI & Delivery Infrastructure
- Built Storybook component library aligned with Figma; all components reviewed before screen integration.
- Configured Jest unit tests and Playwright E2E tests covering critical workflow paths.
Key Tradeoffs
| Decision | Alternative | Reasoning |
|---|
| REST + SOAP fallback | REST only | Backend coverage was uneven; dual support preserved compatibility without a rewrite |
| SQLite offline cache | React Query cache only | React Query cache is in-memory and lost on restart; SQLite required for clinical reliability |
| MDM config injection | Hardcoded endpoints | Fleet-managed devices must receive config from MDM; user input is not auditable |
| Dedicated scanner module | Inline DataWedge code in screens | Isolation makes the scanner contract stable, testable, and swappable |
| Zustand | Redux Toolkit | Lower boilerplate; easier to audit state shape; sufficient for this complexity |
Outcome
Delivered a production-ready React Native platform on Zebra TC52X devices across hospital sterile processing environments. The new architecture reduced frontend/backend coupling through typed API abstraction, enabled scalable feature expansion through shared monorepo packages, improved onboarding velocity with documented architecture and Storybook, and maintained compliance alignment under FDA and HIPAA constraints.
Retrospective
- Hardware-in-the-loop from sprint one. DataWedge issues only surface on physical Zebra hardware. This should be a first-sprint requirement, not a later discovery.
- WSDL-derived TypeScript types earlier. SOAP services lacked formal contracts. Generating types from WSDL sooner would have reduced adapter maintenance and caught contract drift earlier.
- Observability from day one. Retrofitting error reporting late means early production issues go unobserved. Integrate from the first sprint.
Healthcare Member Platform Engineering
Presbyterian Health Services · HIPAA · Enterprise Mobile · Feb – Dec 2023
Context
Presbyterian Health Services (PHS) is a regional healthcare system and insurance provider. The myPRES mobile application gives health plan members secure access to claims, digital ID cards, provider search, secure messaging, wellness resources, and external MyChart integration. The platform manages authenticated sessions containing PHI and ships via App Store and Google Play.
Constraints
- HIPAA compliance across all authenticated flows
- Okta SSO for identity; JWT session management
- Enterprise backend integrations (claims, CMS, care portals)
- WebView integration with external MyChart portal
- Production App Store deployment lifecycle
Approach
Contributed to React Native architecture across claims, messaging, coverage, and wellness modules.
Identity & Session Architecture
- Unified Okta SSO across native and WebView surfaces — JWT stored in encrypted storage, session passed to WebView — eliminating inconsistent login states between native and embedded portal flows.
- Implemented Redux Toolkit + Redux Saga for state management, isolating PHI across authenticated sessions and making multi-step auth flows explicit and testable.
Content & Reliability
- Integrated Sitecore CMS with static fallback for member-facing content; non-technical stakeholders manage content without code releases, and the app degrades gracefully during CMS outages.
Compliance Controls
- Applied
FLAG_SECURE at the window level (screenshot prevention) and inactivity auto-logout (~20 min) to limit unattended session exposure.
Observability
- Integrated Sentry and Firebase Analytics, establishing production crash visibility and event tracking where none previously existed.
Key Tradeoffs
| Decision | Alternative | Reasoning |
|---|
| WebView for portal content | Full native reimplementation | Sitecore already maintains portal content; native replication creates a content sync problem |
| Unified Okta session | Separate WebView login | Separate login produced session inconsistency; unification was the correct architectural fix |
| Sitecore API + static fallback | API only | CMS availability is not guaranteed; fallback prevents blank content during outages |
| Redux Saga | RTK async thunks | Multi-step auth flows with branching error handling are cleaner in Saga's generator model |
| FLAG_SECURE at window level | Per-screen application | Window-level is simpler, more reliable, and harder to miss on new screens |
Outcome
Delivered a production-ready healthcare member application supporting secure PHI access across claims, messaging, and wellness workflows. The architecture supports stable cross-platform delivery (iOS + Android), HIPAA-compliant session handling, and member self-service content updates without engineering intervention.
Retrospective
- Scope auth unification first. The Okta session unification was the highest-risk change — touching auth, WebView, and encrypted storage simultaneously. It should have been estimated and sequenced before dependent work began.
- Define a staleness policy for static fallback. The fallback is a reliability win, but without a defined refresh strategy it can silently serve outdated content during extended CMS outages.
- Enforce FLAG_SECURE at the architectural level. A lint rule or test assertion verifying window-level application would prevent regressions as the app grows.
DIRECTV Stream: Platform Migration & Monetization Engineering
OTT Streaming · Cross-Platform · Ad & Ratings Compliance · May 2021 – Feb 2023
Context
DIRECTV Stream operates within the broader DIRECTV platform, which served approximately 11–13 million subscribers during 2022–2023 across satellite and streaming distribution. The service delivers live TV, on-demand content, cloud DVR, and entitlement-based subscription tiers across web, iOS, and Samsung Smart TV.During the AT&T-to-DIRECTV brand transition, the platform was fragmented: the web product ran in Angular with no shared codebase, and there was no path to Smart TV without a third independent client.
Joined as a senior React Native engineer; took on platform migration leadership, monetization-critical integrations, and cross-team delivery.
Constraints
- Live production iOS app — architecture changes required backward compatibility
- Fragmented stack: iOS in React Native, web in Angular, no shared component model
- Ad and ratings integrations (Comscore, Adobe Heartbeat, Nielsen) were revenue- and compliance-critical
- React Navigation v2 had structural debt that would compound across platforms
- Hard contract deadline with uncertain backend readiness
Architecture Strategy
Navigation upgrade before expansion. Led React Navigation v2 → v5 migration on iOS before cross-platform work began. Navigation debt compounds across targets; upgrading after would have meant migrating three platforms instead of one.
React Native for Web as the unification layer. Initiated as a solo R&D effort. Demonstrated that the existing RN component model could render in the browser without a separate codebase — the architectural foundation for incremental Angular replacement.
Platform abstraction via base classes + OS extensions. Introduced a pattern isolating platform divergence at the leaf, not the root. Kept the shared core clean; made platform-specific behavior explicit and auditable rather than scattered via Platform.OS checks.
Webpack + Babel pipeline targeting Samsung Tizen. Tizen requires a vanilla JS bundle. Configured Webpack and Babel to transpile React Native for Web output into a Tizen-compatible bundle, enabling Smart TV deployment from the shared codebase without a separate team or client.
Storybook + mocked API layer. Proposed and demoed to VP of Product: build UI against a contract-mocked API using Storybook as the development environment. Decoupled frontend delivery from backend readiness and prevented the contract deadline from being missed.
Incremental Angular replacement. Replaced the Angular web app incrementally rather than via cutover, allowing the new platform to prove itself in production before full replacement and giving the Angular team time to transition.
Ad & Ratings Compliance
Owned Comscore, Adobe Heartbeat (Media Analytics), and Nielsen integrations across web and TV surfaces. These integrations drive audience measurement, ad revenue attribution, and regulatory ratings compliance — event timing errors or missed heartbeats have direct revenue and compliance consequences. Debugged playback integrity issues and instrumented New Relic observability across platforms.
Also led DTV Everywhere (DTVE) consolidation into DIRECTV Stream through the brand transition, maintaining subscriber entitlements, subscription tier enforcement, and session continuity across the platform boundary.
Key Tradeoffs
| Decision | Alternative | Reasoning |
|---|
| Upgrade navigation before expansion | Expand first, migrate later | Debt compounds across platforms; one migration is significantly easier than three |
| Base class + OS extension pattern | Platform.OS checks | Inline checks scatter divergence; extension pattern makes it explicit and auditable |
| React Native for Web | Maintain separate web codebase | Separate codebases diverge; RN for Web enabled a single component model for browser and TV |
| Webpack/Babel to Tizen | Native Tizen app | Native Tizen requires a separate team and codebase; transpilation kept TV within the existing platform |
| Storybook + mocked API | Wait for backend | Waiting would have missed the contract deadline |
| Incremental Angular replacement | Big-bang rewrite | Rewrites carry high risk on a live production product |
Organizational Impact
- Recruited and led two engineers onto the React Native for Web initiative; designed interview assessments.
- Onboarded the Angular team onto the React Native codebase, enabling contribution to the unified platform post-migration.
- Established Storybook-driven component architecture as the org-wide standard for component development.
Outcome
Delivered a unified React Native platform spanning iOS, web, and Samsung Smart TV from a shared codebase. Replaced the Angular web app incrementally. Shipped Samsung Tizen TV deployment via Webpack/Babel transpilation. Maintained monetization-critical ad and ratings reporting integrity across Comscore, Adobe Heartbeat, and Nielsen. Led DTVE consolidation through the brand transition.
Retrospective
- Navigation upgrade sequencing was correct. The v2 → v5 migration before platform expansion was the right call. Complexity on a single platform was significant; three would have been compounding.
- Storybook as a delivery mechanism, not just a dev tool. The mocked API approach reframed Storybook from documentation into a delivery unblocking tool. Worth formalizing in future engagements with uncertain backend timelines.
- Monetization integrations need dedicated test harnesses. Heartbeat event timing issues are difficult to reproduce in development. Dedicated playback simulation and event assertion tooling would reduce debugging cycles on revenue-critical flows.
- Cross-team transitions need structured onboarding plans. Onboarding the Angular team worked, but milestones and explicit ramp checkpoints would have accelerated independent contribution.