Skip to main content
← All case studies & guides

Project account · Post Op

Modernizing a healthcare app with Expo

My role in Post Op’s React Native modernization, plus the architecture, native-code, and release decisions to resolve in an Expo migration.

The project and my role

At Post Op, I worked as Staff Mobile Architect from February 2024 to September 2025. I led a six-engineer team through a legacy-to-Expo modernization. My work covered React Native, TypeScript, mobile architecture, API integration, testing, and release delivery.

The work included personalization, rendering performance, mobile UX, and local-first client data with TanStack DB. A healthcare product puts an additional constraint on modernization: existing users still need to complete their daily workflows while the foundations change. The engineering challenge is to improve the system in increments that the team can verify and release.

What to establish before migrating

For teams considering a similar migration, begin with an inventory of what the current application must keep doing. The following is a migration planning guide, drawn from that kind of ownership.

  • Map sign-in, persistence, API contracts, navigation, permissions, and the workflows users rely on most.
  • List native dependencies and app configuration. Identify what a development build must include before choosing an upgrade sequence.
  • Capture the existing release process and define how a failed release would be contained or replaced.
  • Agree on observable acceptance criteria for each migrated workflow, including failure and recovery states.

Expo and custom native code

An Expo project can include custom native code. Development builds let a team use native libraries and its own Swift or Kotlin modules while retaining Expo tooling. The decision is which native capabilities the product needs and how the team will build, test, and maintain them.

Native changes also affect the release plan. An over-the-air JavaScript update must match the installed native runtime. A new native dependency requires a compatible application build; an OTA update alone cannot add that dependency to devices.

What a migration should leave behind

A useful handover includes repeatable builds, critical-flow tests, documented API boundaries, and a clear release procedure. Review the maintainability of the resulting code alongside the visible product changes.

The Post Op role is one example of the work I take on: hands-on implementation, technical direction, and coordination across a mobile team. The product links below show the current patient and clinician applications; the role described here covers my 2024–2025 tenure.

Sources and further reading