What is JetWhale?
JetWhale is an extensible debugging tool inspired by Flipper.
It is built with Kotlin and Jetpack Compose, making it especially familiar and approachable for Kotlin / Android developers. Thanks to its Kotlin-first design, JetWhale can be introduced with a minimal learning curve.
Active development
This project is under active development. We welcome feedback as we work toward a stable release. Please note that the Plugin SDK APIs are not yet finalized and may change in the future.
How it works
JetWhale consists of two sides connected over a WebSocket:
- The host — a desktop application (the debugger UI) that you run on your development machine. Debugging tools are implemented as plugins, loaded at runtime as JAR files.
- The agent — a small runtime you add to the app being debugged (the debuggee). It connects to the host and exchanges type-safe messages powered by kotlinx.serialization.
One host can debug multiple sessions simultaneously — for example an Android device and a desktop app at the same time. Each session is labeled with the app's name and icon and grouped by the device it runs on — resolved automatically, and customizable via the agent's app { } block.
The connection is plain ws by default, and can be upgraded to secure WebSocket (wss) with a locally-issued certificate — see Secure connections.
Session security indicator
Each session in the host shows a lock indicator for how its transport is secured:
- 🟢 Green lock — connected over TLS (wss); encrypted end to end.
- ⚪ Neutral lock — plain ws over a loopback peer (local or ADB-forwarded device). The traffic never leaves the machine, so it is effectively secure.
- No lock — plain ws to a non-loopback peer; the traffic is unencrypted on the network.
Next steps
- Getting Started — install the host and integrate the agent into your app
- The Host Window — sessions, the plugin drawer, and popping a plugin out
- ADB auto port mapping — zero-setup Android debugging
- Network Inspector — inspect and mock HTTP traffic
- MCP Server (experimental) — let an AI agent drive the app
- Developing Plugins — build your own debugging tools