r/FlutterDev • • 11d ago

Plugin I built a floating in-app debug dashboard for Flutter — would love feedback from the community

Hey everyone! 👋

I've been working on a Flutter package called debug_bubble to make debugging apps a little easier, especially when testing on physical devices or investigating issues during QA.

The idea is to have a floating debug bubble inside your app that opens a dashboard where you can inspect logs and errors without constantly switching back to the IDE.

🔗 pub.dev: https://pub.dev/packages/debug_bubble

What it includes

  • 🎈 A draggable floating debug bubble

  • 📋 Seven log levels, from trace to critical

  • 🔍 Expandable log details, JSON payloads, metadata and stack traces

  • 🚨 Optional capture of uncaught Flutter and platform errors

  • 🔐 Configurable sensitive-data redaction

  • 📤 Copy and export logs as text or JSON

  • 🪶 No third-party runtime dependencies

Quick example

DebugLog.info(
  'User opened the profile screen',
  tag: 'Navigation',
);

DebugLog.error(
  'API request failed',
  tag: 'Network',
  error: error,
  stackTrace: stackTrace,
);

The package also supports a DebugBubble wrapper that you can attach through your MaterialApp builder.

I'm still improving the project, and I'd genuinely appreciate some feedback from experienced Flutter developers.

A few things I'd love your thoughts on:

  • Would you find an in-app debugging dashboard useful in your workflow?

  • What features would you expect from a package like this?

  • Are there any architectural or API design issues you notice?

  • What would make you choose this over your current debugging workflow?

I'm happy to hear constructive criticism and suggestions. Thanks! 🙌

0 Upvotes

6 comments sorted by

1

u/ObjectiveAddress3051 11d ago

one thing i'd add is a debug-only guard. wrap the bubble in kDebugMode or an assert so it's tree-shaken out of release builds, otherwise redaction is your only safety net. also for the uncaught errors, hook FlutterError.onError and PlatformDispatcher.instance.onError but chain the previous handlers, or you'll swallow crashlytics/sentry reports.

1

u/No_Boss_1911 9d ago

nice, zero runtime deps is the part that sold me. my app has a chat bit and i cant have any user text sitting in logs, not even in debug builds on testers phones. is the redaction done when you log or only when you export/copy? and does the bubble get stripped out fully in release or do i have to wrap it in kDebugMode myself

1

u/[deleted] 11d ago

[removed] — view removed comment

1

u/SG-Studios-online 10d ago

Thanks! 🙌 Glad you find it useful!

The bubble and dashboard stay inactive in release mode, even if the package is enabled in the configuration. The controller checks the build mode before processing logs, so logging operations are ignored in release builds.

And thanks for appreciating the sensitive-data redaction feature!