What it is
Flashlight is an open-source Android mobile performance audit tool written in TypeScript and licensed under MIT. It is positioned as a Lighthouse for Mobile tool, and it gives Android applications a performance score by aggregating different metrics. The project lives in the Android mobile ecosystem and covers native Android apps, React Native apps, and Flutter apps.
The concrete problem it solves is measuring mobile app performance without requiring instrumentation inside the target application. It can audit production apps, generate reports, and run measures through a CLI, end-to-end tests, or CI workflows. It also supports hosted use through app.flashlight.dev, where a user can upload an app and receive a performance score.
Key capabilities
- Flashlight generates a performance score for Android apps by aggregating different metrics.
- It supports native Android apps, React Native apps, and Flutter apps.
- It requires no setup inside the app being measured.
- It can measure performance on production apps.
- It provides CLI commands for real-time performance measures, end-to-end performance testing over several iterations, and cloud device runs for CI integration.
- It generates reports, including a Flatlist/Flashlist comparison example.
- It provides a hosted upload flow on app.flashlight.dev for getting a performance score.
Who uses it and how
- Mobile developers use the CLI to audit app performance quickly with real-time measures.
- QA or release engineers use flashlight test to automate end-to-end performance checks across several iterations.
- CI users use flashlight cloud to run measures on real devices in the cloud and integrate performance checks into automated pipelines.
- Teams evaluating Android UI performance can compare libraries or components, as shown by the Flatlist/Flashlist report example.
- Users who do not want to install the CLI can upload an Android app to app.flashlight.dev and receive a performance score.
Getting started
Install the CLI on macOS or Linux with curl https://get.flashlight.dev | bash, or on Windows with iwr https://get.flashlight.dev/windows -useb | iex. Then use the CLI commands, the hosted app upload flow, or the cloud device workflow described in the documentation.
When to use it β and when not to
Use Flashlight when the target is an Android app and the team needs performance scores, reports, CLI measurement, end-to-end performance testing, or CI device checks. It is not the right choice when iOS support is required, because the README says iOS support is in the works. The facts do not describe self-hosting requirements, database, storage, SMTP, or paid-product replacement, so teams needing a fully documented self-hosted audit stack should evaluate further.