---
title: "Tophat: Crafting a Delightful Mobile Developer Experience"
description: "Shopify built Tophat to reduce the time and friction involved in manually testing mobile pull requests, where switching branches, stashing changes, and waiting for Xcode or Android Studio builds slowed review. The macOS menu-bar application links GitHub pull requests to iOS and Android artifacts produced by CI and stored in Google Cloud Storage, allowing contributors to install builds on simulators or real devices with one click. Tophat parallelizes tasks such as downloading applications and booting devices, and its Quick Launch feature retrieves builds with up-to-date native code for React Native development. The project also addressed real-device iOS installation and signing challenges, integrated with Shipit Mobile, and provided automated setup guidance. After the latest improvements, daily usage doubled, and Tophat was later made open source."
---

# Tophat: Crafting a Delightful Mobile Developer Experience

[Shopify](https://yomu.fyi/company/shopify) · 2023-10-18 · Aug 23, 2024

**Type:** Problem & solution

## Summary

Shopify built Tophat to reduce the time and friction involved in manually testing mobile pull requests, where switching branches, stashing changes, and waiting for Xcode or Android Studio builds slowed review. The macOS menu-bar application links GitHub pull requests to iOS and Android artifacts produced by CI and stored in Google Cloud Storage, allowing contributors to install builds on simulators or real devices with one click. Tophat parallelizes tasks such as downloading applications and booting devices, and its Quick Launch feature retrieves builds with up-to-date native code for React Native development. The project also addressed real-device iOS installation and signing challenges, integrated with Shipit Mobile, and provided automated setup guidance. After the latest improvements, daily usage doubled, and Tophat was later made open source.

## Context

Shopify’s mobile teams were shipping large changes rapidly during the migration to React Native, while local compilation and low usage of earlier tophatting tools suggested that pull-request testing was inefficient. Testing on real devices was also difficult, particularly on iOS, where no public API equivalent to Android’s adb existed and builds required suitable signing.

## Approach / What changed

Tophat is a macOS menu-bar application that exposes a lightweight HTTP server and connects GitHub pull requests to CI artifacts stored in Google Cloud Storage. It installs builds on iOS and Android simulators or real devices, parallelizes downloading and device startup, supports Quick Launch for current native builds, integrates with Shipit Mobile, and includes onboarding instructions for required dependencies.

## Takeaways

- CI-generated iOS and Android artifacts stored in Google Cloud Storage eliminate local compilation during pull-request tophatting and can be installed on simulators or real devices through Tophat links.
- Tophat supports React Native workflows with Quick Launch, which retrieves a current native build so developers can attach it to the local Metro JavaScript bundler.
- After the latest improvements, Tophat’s daily usage doubled; the tool was later made open source, while future plans included device management and more bundled dependencies.

**Tags:** [Android](https://yomu.fyi/topic/android), [CI/CD](https://yomu.fyi/topic/ci-cd), [Developer Experience](https://yomu.fyi/topic/developer-experience), [iOS](https://yomu.fyi/topic/ios), [Open Source](https://yomu.fyi/topic/open-source)

- Source: [Shopify](https://shopify.engineering/shopify-tophat-mobile-developer-testing)
- Source URL: https://shopify.engineering/shopify-tophat-mobile-developer-testing
- Ingested by Yomu: 2026-08-30T13:20:20.426Z

[Read original post](https://shopify.engineering/shopify-tophat-mobile-developer-testing)
