Essential Tools and Services for React Native Apps in 2025

Here are the essential tools and services we rely on for creating successful React Native mobile applications in 2025. Reduce errors, improve user experience, monetise and scale your app with ease.

Tuesday March 18th 2025 | 8 min read

Essential Tools and Services for React Native Apps in 2025 blog post header image

As developers, we love to "roll our own" solutions, and as founders, minimising ongoing costs is always a priority. There's a fallacy here and actually sometimes you need to leverage tools and services that add value to your project rather than doing everything in-house.

Everything you build takes time away from building something else (for instance features to reduce churn or increase revenue) and adds maintenance overhead. So doing it all in-house can actually slow you down, cost more in the long run and lead to a poorer user experience.

The right tools don't just make the development process easier and cheaper, there's additional benefits in that they can help increase revenue, improve user experience, and reduce engineering overhead. While every project has unique requirements, we've found a core set of tools that are indispensable for scaling React Native apps efficiently.

Let's explore these battle-tested tools we're using in our React Native projects in 2025 and create a very high level business case for each of them.

The foundation: robust error tracking

Nothing kills user trust faster than a constantly crashing app. That's why proper error tracking is essential, not just for debugging, but for retaining users and improving app store ratings.

We standardised on Sentry for not just React Native projects but all our codebases (Ruby on Rails, Swift, Node.js, Next.js, etc). We love Sentry for its real-time error tracking, session replay, and deep integration with our development workflow.

It's low effort to set up and the benefits are huge. Here's a simple example of how we use it to track errors in our code and add breadcrumbs for better context:

try {
  Sentry.addBreadcrumb({
    category: 'auth',
    message: 'User attempting to log in',
    level: 'info',
  });

  const response = await authService.login(username, password);
  
  if (!response.success) {
    throw new Error(`Login failed: ${response.message}`);
  }
} catch (error) {
  if (__DEV__) {
    console.error(error);
  } else {
    Sentry.captureException(error);
  }
}

Beware. Just tracking errors isn't enough - you need to actually act on them. Sentry integrates with tools like Slack, Jira, and GitHub, allowing teams to triage and fix issues faster. The range of integrations is vast so it should fit within your existing workflow.

Other crash reporting tools are available such as Firebase Crashlytics and Bugsnag but we've found Sentry to be the most feature rich, developer friendly and overall best for our workflow and it works across all our projects.

Sentry business case

  • Reduce crash rates → Higher retention & revenue
  • Save developer hours → Focus on building, not debugging
  • Fewer support tickets → Happier users

Monetisation: simplified subscription management

Most apps need to generate revenue. The most straightforward way to do this is through the default store payment methods on the App Store and Google Play. Whether that's through in-app purchases, subscriptions, or one-time payments, managing this in-house on the surface looks easy but is actually a bit of a nightmare. You need to consider failed payments, refunds and receipt validation.

We've found RevenueCat to be the easiest and fastest way to get our purchases set up for the App Store and Google Play. It handles cross-platform subscriptions, entitlement management, and empowers us to experiment with pricing and offerings. We're big fans of RevenueCat and have previously written a guide to adding RevenueCat to your React Native app.

  • Managing entitlements & offerings
  • Providing deep revenue analytics
  • Tools for running pricing experiments

We've found RevenueCat to be the easiest and fastest way to get our purchases setup for the App Store and Google Play.

RevenueCat business case

  • Increase revenue → Optimise pricing, reduce churn
  • Faster time to market → No need to build a custom solution
  • Reliable payments → Reduce billing failures

Data-driven decision making

Understanding user behaviour is crucial for app success. PostHog has revolutionised how we approach analytics in 2025, especially with their powerful dashboards that give the raw analytics data meaning. Allowing us to make data-driven decisions about our app.

Over the years we've tried a number of analytics tools but PostHog is the only one that has given us the ability to understand our users and make data-driven decisions about our app. Pricing is also very reasonable for the features you get, it again works across all our projects (Ruby on Rails, React, Node.js, etc) and has some powerful features like data warehousing and a feature flagging system.

PostHog business case

  • Understand user behavior → Improve UX & retention
  • Test & iterate faster → Built-in A/B testing & feature flags
  • Single tool for analytics & experimentation → One tool across your entire product stack

Reliable Push Notifications

User engagement drops fast without proper push notifications. Firebase Cloud Messaging (FCM) is our go to tool for handling push notifications in React Native.

Unlike other third-party services, FCM is:

  • Free and scalable
  • Integrates seamlessly with Firebase Analytics
  • Reliable across iOS & Android

Here's a very simple React Native + FCM push notification setup:

import messaging from '@react-native-firebase/messaging';

async function requestUserPermission() {
  const authStatus = await messaging().requestPermission();
  if (authStatus === messaging.AuthorizationStatus.AUTHORIZED) {
    console.log('Push notifications enabled.');
  }
}

useEffect(() => {
  requestUserPermission();
  
  const unsubscribe = messaging().onMessage(async remoteMessage => {
    console.log('FCM Message Data:', remoteMessage.data);
  });

  return unsubscribe;
}, []);

Other services like Expo Push Notifications are also available but we've found FCM to be the most reliable and feature rich for our use case. OneSignal is another popular choice which has a free tier and is also a great option that we've used in the past.

FCM business case

  • Increase engagement → Bring users back to your app
  • Boost retention → Reduce churn
  • Free & scalable → No extra costs

Deployment & CI/CD: fast, predictable, repeatable releases

Back in the olden days deployments for Android and especially iOS were painful. Managing keys, keystores, certificates and provisioning profiles was a nightmare with conflicts, mismatched versions and other issues. This happened as a single developer; working as a team was an absolute nightmare. There was a bit of a meme back in the day when managing profiles and certs in Xcode that the "Fix this" button that popped up was guaranteed to do anything but fix the issue.

That was a long time ago now thankfully. We've been using Fastlane to manage this process for a long time now (probably close to 10 years) and it's a godsend. While the initial setup requires some effort, the time savings are enormous. You'll get repeatable builds and deployments that are reliable and predictable.

Best of all, there's no cost to using Fastlane. It's open source and widely used. We've used Fastlane as a key part of our CI/CD process using a range of services such as Bitrise, Github Actions and Azure Devops.

Here's an example of GitHub Actions and Fastlane for a simple iOS build. The GitHub action workflow is quite straightforward and invokes our Fastlane 'lane' which is below too:

jobs:
  build-and-deploy:
    runs-on: macos-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v3
      - name: Install dependencies
        run: yarn install
      - name: Build & Upload to TestFlight
        run: fastlane ios beta

and our fastfile looks like this with the :beta lane:

platform :ios do
  desc 'Push a new extenral testflight release'
  lane :beta do
    setup_api_key
    match(type: 'appstore', readonly: is_ci)
    build
    upload_to_testflight(
      distribute_external: true,
      skip_waiting_for_build_processing: true,
      changelog: 'Bug fixes and performance improvements'
    )
  end
end

As you can see we're leveraging Match from Fastlane to help with signing. This is probably the most complex part of the process and the one with the most benefit. If you do nothing else setup Match for your project.

NB Apple now has Xcode Cloud which is a new way to manage your builds and deployments within the Apple ecosystem (iOS, macOS, watchOS, VisionOS, etc) and we've found it to be quite good for native (ie Swift) projects but for React Native we still prefer the Fastlane approach.

Fastlane business case

  • Reduce deployment friction → No manual App Store uploads
  • Ship updates faster → Automate approvals & reviews
  • Eliminate signing issues → Fast, repeatable builds

Applying these tools to your project

These tools aren't just technical conveniences - they directly impact revenue, user experience, and team efficiency. We've seen some great results from our clients who have implemented these tools and services.

While these tools are powerful and are relatively straightforward to implement in your project, at Add Jam, we specialise in creating successful React Native apps that scale. If you need help scaling your React Native app get in touch for a chat about your project.


Looking for more technical insights? Follow us on LinkedIn or subscribe to our blog RSS feed for updates on building better mobile apps.

Michael Hayes's avatar

Michael Hayes

Co-founder

Recent case studies

Here's a look at some of products we've brought to market recently

Educational Intelligence: Money Matters

Educational Intelligence: Money Matters

How Add Jam partnered with Educational Intelligence to create Money Matters, a digital platform addressing the UK's financial literacy crisis where 12.9 million adults struggle with money management.

Great Glasgow Coffee Run

Great Glasgow Coffee Run

Celebrating Glasgow's vibrant coffee culture and running community through an interactive digital experience that maps out the perfect coffee-fuelled running route through the city.

One Walk A Day

One Walk A Day

During lockdown we rapidly prototyped a health and wellbeing app using React Native then expanded on the concept and redeveloped using SwiftUI

We take products from an idea to revenue

Add Jam is your plug in team of web and mobile developers, designers and product managers. We work with you to create, ship and scale digital products that people use and love.

Hello, let's chat 👋