flashlight
Flashlight is a TypeScript-based CLI and cloud tool that measures and audits performance metrics for Android apps (native, React Native, Flutter). It generates performance scores and detailed reports with no app instrumentation required, supporting local testing, E2E integration, and cloud-based device measurements.
Key facts
Objective fields from the source. Values we can't verify are shown as “Unknown” rather than guessed.
| Field | Value |
|---|---|
| Repository | bamlab/flashlight |
| Owner | bamlab |
| Primary language | TypeScript |
| License | MIT — OSI-approved |
| Stars | 1.6k |
| Forks | 48 |
| Open issues | 29 |
| Latest release | v0.18.0 (2024-07-04) |
| Last updated | 2026-07-07 |
| Source | https://github.com/bamlab/flashlight |
What flashlight is
Flashlight aggregates Android performance metrics via CLI, E2E test harnesses, or cloud-device infrastructure. It produces machine-readable scores and HTML reports without requiring app-level code changes, using tracing and profiling to capture real-world runtime behavior.
Get the flashlight source
Clone the repository and explore it locally.
git clone https://github.com/bamlab/flashlight.gitcd flashlight# follow the project's README for install & configurationNeed it deployed, integrated, or customized instead? DEV.co ships production installs.
Best use cases
Implementation considerations
- Requires Android SDK/emulator or physical device for local CLI testing; cloud option removes device dependency but adds infrastructure cost.
- Integration with CI systems (GitHub Actions, GitLab CI, etc.) is documented but verify your CI provider's compatibility with curl/PowerShell install scripts.
- E2E test harness (flashlight test) assumes test framework is already in place; incremental adoption possible by running alongside existing test suites.
- Performance metrics collected depend on app runtime behavior; synthetic test scenarios must be representative to avoid false positives.
- Report generation is automatic; design review workflows around HTML artifact storage and access control if sharing with non-technical stakeholders.
When to avoid it — and what to weigh
- iOS-First Development — iOS support is explicitly in-progress; rely on Android support only. iOS users should assess maturity before adoption.
- Deep Flame-Graph Analysis Required — Flashlight generates aggregate performance scores and reports. Projects needing fine-grained per-method profiling may require complementary tools like Android Studio Profiler.
- No CLI or Headless Environment Available — The primary workflow is CLI-driven or cloud-based. Teams restricted to GUI-only analysis may prefer web-only platforms.
- Offline or Air-Gapped Environments — Cloud device measurements require internet connectivity. Local measure/test may work offline, but full feature set requires external services.
License & commercial use
Licensed under MIT (MIT License), a permissive OSI-approved license allowing commercial use, modification, and distribution with minimal restrictions (retain license notice).
MIT license permits commercial use and closed-source derivative work. No proprietary dependencies, subscription locks, or commercial restrictions stated. Verify any cloud service terms (app.flashlight.dev, flashlight cloud) separately—infrastructure fees may apply independent of the software license.
DEV.co evaluation signals
Editorial assessment — not user reviews. Directional, with an explicit confidence level.
| Signal | Assessment |
|---|---|
| Maintenance | Active |
| Documentation | Adequate |
| License clarity | Clear |
| Deployment complexity | Low |
| DEV.co fit | Good |
| Assessment confidence | High |
No security flaws detailed. Consider: (1) APK upload to app.flashlight.dev—review privacy policy and data handling for sensitive apps; (2) cloud device measurements may expose app behavior to external infrastructure; (3) local CLI executes app and captures metrics—standard practice but isolate test environments; (4) MIT license includes no warranty—security audit before production use in regulated domains recommended.
Alternatives to consider
Google Lighthouse (web) + Manual Android Profiling
Lighthouse is mature for web; native Android testing lacks integrated CLI automation. Flashlight unifies the flow but sacrifices per-method granularity.
Firebase Performance Monitoring
Google-managed, real-user performance data, no CLI testing. Requires app instrumentation; Flashlight needs no code changes. Trade-off: real data vs. synthetic testing.
Datadog or New Relic APM
Enterprise APM platforms with rich dashboards and alerting. Higher cost, broader instrumentation, less mobile-native. Flashlight is lighter and CLI-driven.
Build on flashlight with DEV.co software developers
Install Flashlight CLI with one command or upload your APK to app.flashlight.dev to get a performance score and actionable insights.
Talk to DEV.coRelated open-source tools
Surfaced by semantic similarity across the DEV.co open-source index.
Related on DEV.co
Explore the category and the services that help you build with it.
flashlight FAQ
Do I need to modify my app code to use Flashlight?
Can I use Flashlight with iOS?
How do I integrate Flashlight into CI/CD?
What if I cannot install the CLI (Windows, restricted network)?
Work with a software development agency
Need help beyond evaluating flashlight? DEV.co is a software development agency offering software development services and web development for teams of every size. Our software developers and web developers build custom software, web applications, APIs, and open-source observability integrations — and maintain them long-term.
Start Measuring Performance
Install Flashlight CLI with one command or upload your APK to app.flashlight.dev to get a performance score and actionable insights.