EXP Suite Web & Mobile
The Problem
EXP Suite is an enterprise Environmental Health & Safety platform used by field workers, safety managers, and compliance officers. The legacy system had separate codebases for web, iOS, and Android — each with diverging feature sets and inconsistent UIs that confused users switching between platforms.
Field workers in low-connectivity environments (construction sites, oil rigs, remote facilities) needed reliable offline functionality. The existing offline implementation was fragile, with frequent data loss during sync operations.
Approach
We rebuilt the platform using a Turborepo monorepo architecture — Next.js for the web dashboard and React Native with NativeWind for mobile. Shared business logic, validation rules, and API clients lived in common packages, ensuring feature parity across platforms.
For the Flutter-based EXP Suite 7.0 mobile app, I designed an offline-first architecture with conflict resolution. Field workers could capture incidents, run audits, and complete safety inspections entirely offline, with intelligent sync when connectivity resumed.
Challenges
The monorepo approach required careful dependency management to avoid bloating mobile bundles with web-only code. We built custom Turborepo pipelines that tree-shook shared packages differently for each target platform.
Offline conflict resolution in a multi-user enterprise environment was the hardest problem. When two inspectors edited the same audit offline, we implemented a field-level merge strategy with automatic resolution for non-conflicting changes and a clear UI for manual resolution.
Results
Achieved 100% feature parity between web and mobile for the first time in the product's history. Development velocity increased by 35% thanks to shared code and unified testing pipelines.
The offline-first architecture reduced data loss incidents from ~12 per month to zero. Field workers reported a 50% reduction in time spent on paperwork due to the streamlined mobile inspection workflows.
Interested in working together?
I'm available for senior and lead roles, freelance projects, and technical consulting.
Get in touch