Real-time Flutter debugging SDK. Inspect Riverpod state, network requests, and events from an in-app overlay — without leaving your app.
Real-time Flutter debugging SDK. Inspect Riverpod state, network requests, and events from an in-app overlay — without leaving your app.
You're debugging a Flutter app and something breaks. You don't know:
- Did the state update?
- Did the API return?
- Why didn't the UI change?
- At which step did this flow break?
You end up with scattered print() statements and mental reconstruction of what happened. FlowScope solves this.
FlowScope gives you three answers in real time:
| Question | Panel |
|---|---|
| What is my state right now, and why did it change? | State |
| What happened, and in what order? | Timeline |
| Did this come from the network or local state? | Network |
All visible from a floating overlay inside your running app. No external tools. No context switching.
dependencies:
flowscope: ^0.1.0void main() {
runApp(
FlowScope(
child: ProviderScope(
observers: [FlowScopeObserver()],
child: MyApp(),
),
),
);
}final dio = Dio();
dio.interceptors.add(FlowScopeDioInterceptor());FlowLogger.log('User tapped login');
FlowLogger.log('Something failed', level: FlowLogLevel.error);That's it. Tap the floating button in your app to open the overlay.
- Live view of every Riverpod provider
- Current value with color coding
- Tap to expand: previous value vs new value (diff view)
- Timestamp of last change
- Chronological feed of everything that happened
- Color coded tags:
STATENETWORKLOGERROR - Newest events first
- Every Dio request captured automatically
- Method, endpoint, status code, duration
- Tap to expand: request body, response body
- Color coded: green for 2xx, red for 4xx/5xx
- Clear — wipe all captured events
- Pause — stop capturing temporarily
- Close — collapse back to floating button
- Draggable — move the floating button anywhere
FlowScope(
enabled: kDebugMode,
child: ProviderScope(
observers: kDebugMode ? [FlowScopeObserver()] : [],
child: MyApp(),
),
)- Screen-aware logging (attach events to current route)
- Bloc/Provider support
- Shake to open gesture
- Export session as JSON
- Replay network requests
Kennedy Owusu — built by a Flutter developer who got tired of debugging with print statements.
MIT
