Tophat
Tophat lets teams install and test mobile apps from CI artifacts with one click, share builds, route to the right device or simulator, and extend workflows.
What is Tophat?
Tophat is a tool for installing and testing mobile apps with a single click. It is designed to help teams distribute builds from CI artifacts, create installation links, and launch apps on devices or simulators without requiring contributors to clone or build branches locally.
The project also includes extension and command-line capabilities for integrating custom build and caching systems. Tophat supports both iOS and Android workflows through install URLs, Quick Launch, and artifact providers, with recipes that can include multiple artifacts for different targets.
Key Features
- One-click installation links for CI artifacts, so testers and contributors can install builds without a local build step.
- Artifact provider-based downloads, which let Tophat pull builds from built-in providers or providers added through extensions.
- Support for multiple request types, including URLs, Quick Launch, and the
tophatctlcommand-line interface. - Recipes that can bundle multiple artifacts in a single request, useful when different builds are needed for simulators and physical devices.
- TophatKit SDK extensions for integrating custom build and caching systems into the installation flow.
- Quick Launch shortcuts for favorite apps, which can download the latest build, update the app icon, and launch the app on the selected device.
- Device pinning and settings-based customization for quicker access to frequently used devices and environment-specific tooling paths.
- Support for launch arguments, with delivery methods documented for iOS and Android.
How to Use Tophat?
A typical setup starts by integrating Tophat with your build or artifact provider so it can resolve downloadable app builds. You then create install links, Quick Launch entries, or use tophatctl to trigger installs for a chosen device or simulator.
For teams with custom infrastructure, the TophatKit SDK and shell-script provider options can be used to adapt Tophat to existing build and caching systems. Once configured, users click an install link or select an app from Tophat to download, install, and open the build on the target device.
Use Cases
- Sharing CI builds with QA so testers can install a specific app version directly from a link.
- Letting external contributors test pull requests without cloning the repository or building the app locally.
- Installing separate simulator and device builds from one request when the release process produces different artifacts per target.
- Providing quick access to frequently used apps for developers who switch between many projects or devices.
- Connecting Tophat to custom internal build systems or caches through extensions or shell-script providers.
FAQ
Does Tophat only work with one artifact source? No. The source describes built-in artifact providers and additional providers that can be installed through Tophat Extensions.
Can Tophat handle both devices and simulators? Yes. The documentation says a single request can include multiple artifacts, and Tophat can select the appropriate one based on the selected destination.
Can launch arguments be passed to the installed app?
Yes. The source documents an arguments query parameter for install URLs and notes platform-specific handling for iOS and Android.
Is there a command-line option for integration?
Yes. The page references tophatctl and notes that users can list artifact providers from the command line.
Does Tophat require custom tooling to be useful? Not necessarily. The source mentions built-in providers and basic HTTP support, while extensions are available for more customized setups.
Alternatives
- Manual app distribution using direct build downloads or shared links: simpler, but it does not provide Tophat’s device-aware install flow or Quick Launch features.
- CI artifact viewers and download portals: useful for retrieving builds, but typically focused on storage and access rather than one-click installation to a device.
- Mobile device testing platforms: broader end-to-end testing suites that may include build distribution, but usually cover more than Tophat’s focused install-and-launch workflow.
- Custom scripts or internal distribution tools: flexible for specific pipelines, but they usually require more maintenance than a standardized install-link workflow.
Alternatives
FixMyCWV
FixMyCWV audits Core Web Vitals, identifies LCP, INP, and CLS issues, and delivers code-level fixes for developers and teams.
Ably Chat
Ably Chat is a chat API and SDKs for building custom realtime chat apps, with reactions, presence, and message edit/delete.
AakarDev AI
AakarDev AI is a powerful platform that simplifies the development of AI applications with seamless vector database integration, enabling rapid deployment and scalability.
DeepMotion
DeepMotion is an AI motion capture and body-tracking platform to generate 3D animations from video (and text) in your web browser, via Animate 3D API.
Arduino VENTUNO Q
Arduino VENTUNO Q is an edge AI computer for robotics, combining AI inference hardware and a microcontroller for deterministic control. Arduino App Lab-ready.
Devin
Devin is an AI coding agent that helps software teams complete code migrations and large refactoring by running subtasks in parallel.