Consumer · Consumer reference app
Blumcatch
Three platforms, two stores, one release command.
- Role
- Mobile + release engineering
- Duration
- 7 months
- Team
- 2 from our side
- Sector
- Consumer reference app
Interface illustrations, not screenshots — the client's product is under agreement.
The situation
Plant identification and reference for iOS and Android, with a companion Chrome extension sharing the same catalogue and account.
A small team shipping to three platforms, where the cost of releasing was starting to determine how often they were willing to release.
The problem
Releasing meant a long manual sequence per platform: bump versions, build, sign, screenshot, upload, fill in metadata. Hours of careful clicking, and every step a place to make a mistake at the end of a long day.
The predictable consequence is batching. Releases get bigger and rarer, which makes each one riskier, which makes the team even less willing to ship.
What we built
- 01
One React Native codebase, three targets
iOS, Android, and the extension sharing catalogue, identification, and account logic rather than three drifting implementations.
- 02
Fastlane over the whole release
Versioning, signing, building, screenshots, and store metadata as code. The pipeline builds from a clean checkout, so it cannot depend on one laptop's state.
- 03
Push and analytics wired once
Notification handling and event tracking behind a single interface, so adding a campaign does not mean touching platform code twice.
- 04
CI on every branch
Build and test on push, so a broken release candidate is found on a pull request rather than during submission.
The outcome
Release cycle cut from a manual multi-hour process to a single automated command across both stores.
Shipping stopped being an event that needed scheduling. Smaller, more frequent releases followed, which is the actual benefit — the saved hours are secondary.
More work
Sincci
Adding a new patient language became a content edit instead of a code release.
EnterpriseTrydent Ops Portal
A permissions model complex enough that it had to be built test-first.
Field opsAS Data Collector
Inspection checklists that finish where there is no signal, and reconcile when there is.