WhoBuilt

The Power Of Process Automation

Oct 22, 2020· 38 min· 541 views·Watch on YouTube

Speaker

Alexander Kuttig of Horizon Alpha discusses automating React Native development processes at React Native EU 2020, hosted by Callstack.

A complex app, a small team

Kuttig describes LearnMatch, a language-learning app launched in 2016 with a three-week release cycle, 36 languages, more than 50 country configurations, and white-label versions. Around 300,000 active users were served by a two-developer team, with 99.8% of sessions crash-free. As the project grew, only 30% of development time remained for features.

Build a connected workflow

Kuttig’s setup links an issue tracker, code management, CI/CD, and stability monitoring. His team used Jira, Bitbucket, Bitrise, and Bugsnag, while noting alternatives such as GitHub, GitLab, App Center, Sentry, and Crashlytics. The systems report build and error information back to a shared project hub.

Automate reviews and testing

Each task gets an issue, branch, and pull request. Branch creation and pull request events move Jira issues through the workflow, trigger automated checks, notify reviewers, and create customer testing builds after merge. Checks include merge conflicts, Flow or TypeScript, linting and formatting, security analysis, unit and snapshot tests, coverage requirements, and iOS and Android builds.

Test releases on real devices

The team used Jest and React Native Testing Library for unit and snapshot tests, plus Appium with AWS Device Farm to test core features across Android devices and configurations. Device Farm returned logs, performance details, and recordings that helped diagnose failures. Because end-to-end tests could be flaky, partial failures created Jira issues for a person to investigate before deciding whether to proceed.

Release, monitor, and reclaim time

Release pipelines handled builds, versioning, content, store uploads, and Bugsnag source maps; iOS and Android releases could run in parallel. Production errors were automatically added to Jira and assigned for prioritization, with source maps helping identify the relevant JavaScript line. By 2020, the team had more than doubled the time available for feature development while keeping its three-week release cycle.

Takeaways

  • Connect issue tracking, code review, CI/CD, and error monitoring so project status stays visible in one place.
  • Automate repeatable checks and release steps to free developers for feature work and complex decisions.
  • Use source maps with production error monitoring to make React Native crashes easier to investigate.
  • Test core flows on representative real devices, and give someone ownership of investigating partial or flaky failures.
  • Keep human review for judgment and creative decisions; let automation handle predictable steps.

Mentioned in this talk

Search inside this talk

What was claimed 13

  • feature
    LearnMatch: Language-learning app available in 36 languages and more than 50 country configurations
    “The app is available in 36 languages, and it also has more than 50 different country configurations.”
    YouTube
    Unverified1 source· Talk
  • uses
    “The project started back in 2016 and was based on React Native right from the beginning.”
    YouTube
    Unverified1 source· Talk
  • metric
    LearnMatch: 99.8% of sessions are crash-free
    “99.8% of sessions are crash-free.”
    YouTube
    Unverified1 source· Talk
  • metric
    LearnMatch: Around 300,000 active users
    “We have around 300,000 active users from all around the world at the moment.”
    YouTube
    Unverified1 source· Talk
  • founded
    “I founded my own software company in 2012.”
    YouTube
    Unverified1 source· Talk
  • metric
    Horizon Alpha: 25 people
    “We’re based in Munich and have 25 people, mostly developers.”
    YouTube
    Unverified1 source· Talk
  • integrates with
    Bitbucket integrates with Jira
    “We use Bitbucket because it integrates very nicely into Jira.”
    YouTube
    Unverified1 source· Talk
  • feature
    Bitrise: Provides React Native presets and pipeline steps based on Fastlane
    “It has a lot of steps based on Fastlane, which can be combined via a drag-and-drop editor.”
    YouTube
    Unverified1 source· Talk
  • feature
    Bugsnag: React Native integration supports Hermes source maps
    “We use Bugsnag because it has very good React Native integration. We can even use Hermes source maps.”
    YouTube
    Unverified1 source· Talk
  • feature
    DeepCode: Provides code insights and security problem information using self-trained AI
    “It gives you interesting insights, hints, and information about security problems in your code.”
    YouTube
    Unverified1 source· Talk
  • uses
    “We ended up using Appium and AWS Device Farm.”
    YouTube
    Unverified1 source· Talk
  • uses
    “We ended up using Appium and AWS Device Farm.”
    YouTube
    Unverified1 source· Talk
  • metric
    LearnMatch: The team more than doubled the time available for feature development
    “We more than doubled the time we had available for feature development.”
    YouTube
    Unverified1 source· Talk

Related talks

The Power Of Process Automation, Alexander Kuttig · WhoBuilt