Research assistant
From 67.1 MB to 11.5 MB. From 164 tests to 465. Built around a live app’s real constraints.

82.9% reduction, calculated from the documented before/after sizes. This is not an install-footprint measurement.
The documented test suite grew by 301 tests.
Regression requirements supported by CI coverage floors.
Security, privacy, and reliability remediation.
The challenge.
A live consumer health app needed continued releases while its security, privacy, and reliability foundations were improved.
My scope was the mobile client and its integration with a research assistant whose answers link back to source identifiers.
The boundaries.
- Support an app already live on App Store and Google Play with active paid acquisition.
- Remove session replay from health screens and prevent personal information in logs.
- Address a runtime ReDoS vulnerability reachable from model output.
- Keep regression requirements and coverage floors enforced in CI.
How it fits
together.
The React Native client integrates the assistant’s planning, retrieval, and source-linked responses into a mobile experience. A 12-phase remediation programme addressed privacy, runtime safety, bundle weight, and regression coverage, with EAS builds and OTA release engineering.
82.9% smaller than the inherited bundle.
The decisions
behind the details.
Privacy at the client boundary
Health screens should not be captured by third-party session replay, and sensitive content must stay out of logs.
TradeoffLess visual analytics; observability must use limited, appropriate metadata.
Reduce the shipped bundle
The inherited 67.1 MB bundle created a concrete performance and distribution cost to address.
TradeoffAsset and dependency changes require careful production regression checks.
Make quality cumulative
Per-directory coverage floors, 34 required regressions, and a non-decreasing coverage ratchet keep fixes from silently disappearing.
TradeoffChanges must satisfy additional automated gates before release.