incident.io Mar 25, 2024

incident.io harnesses the power of native modules and CNG

Article Summary

Dan Kelly explores how incident.io shipped a production mobile app in months without hiring a single mobile engineer. Their secret? Leaning hard into Expo's 'golden path.'

incident.io (used by Miro, Vercel, and Linear) needed their first mobile app but faced the classic startup dilemma: hiring native engineers is expensive and slow. CTO Pete Hamilton chose React Native + Expo to turn their existing product engineers into a mobile team.

Key Takeaways

Critical Insight

incident.io calculated ROI by adding up six months of revenue they'd have missed waiting for a native build.

The team's monorepo setup means every engineer already has mobile installed when running the web app, and they're about to unlock something powerful with it.

About This Article

Problem

incident.io needed to send critical notifications to Android phones that bypass silent mode and Do Not Disturb settings. Existing React Native libraries couldn't do this.

Solution

The team built a custom native module using Expo's module tutorial and the npx create-expo-module command. This automatically generated the necessary bindings, so they didn't have to write native code manually.

Impact

incident.io got the feature they needed while spending only 2% of development time in native code. The rest of their work stayed in their main codebase.