Matt RaceEdge InteractiveContact
Back to selected work

Fixing an existing mobile app without stopping feature work.

An iOS and Android app still needed new features, but the team also had platform bugs, build configuration issues, and releases to manage. The goal was to fix the problems without rewriting the app.

The problem

A bug that shows up on a screen isn't always caused by that screen. It might come from permissions, navigation, a native dependency, build settings, or an API.

I worked on bugs and releases across iOS, Android, phones, and tablets while feature work continued.

What I did and why

01

Reproduce the bug first

Constraint: The cause could be in JavaScript, native code, or platform settings.

Approach: Reproduce the issue on a device or emulator, narrow down the cause, and fix that part of the flow.

Tradeoff: A focused fix is easier to test and less likely to break unrelated features.

02

Get the release process under control

Constraint: Different signing, environment, and distribution paths can turn an otherwise good code change into a failed release.

Approach: Work across Expo/EAS, build configuration, signing requirements, and release verification for both platforms.

Tradeoff: A fix isn't finished if the team can't release it.

03

Test the whole flow

Constraint: Permissions, overlays, keyboard behavior, and device form factors can hide issues that basic unit tests miss.

Approach: Test critical flows across iOS and Android, including tablet layouts and native permission transitions, and address platform-specific regressions.

Tradeoff: A screen can pass a component test and still fail on a real device.

04

Fix problems without a rewrite

Constraint: Engineering cleanup must coexist with active customer-facing development.

Approach: Prioritize fixes affecting users and releases, strengthen repeatable implementation patterns, and keep changes reviewable.

Tradeoff: Small changes are easier to review, test, and release.

What changed

  • Feature work continued while platform and release issues were addressed.
  • Build configuration, distribution, and release checks received focused attention.
  • Platform-specific bugs were investigated and fixed using device-level testing.
  • Changes were made in the existing app without starting over.

Tools and experience

React NativeExpoTypeScriptEASiOSAndroidCI/CDDevice testing

The client's name and project details are omitted. This describes the work I contributed to, without sharing private metrics.

Working on something similar?

Tell me what's going on. I'll take a look.

Discuss your project