Monitoring Bubble Apps Made Easy: Introducing Flusk Monitor 📊 | View logs visually, catch errors instantly

Hi Bubble fam, Wesley from Flusk here :wave:t3:

It’s been a few months we’re working underground on something game-changing for the Bubble ecosystem and the way you develop Bubble applications at scale.
We are specialized in Bubble security and are already running Flusk Vault, a tool that performs automated security audits on Bubble apps. But that’s not the topic today.

Context

My co-founder Victor and I started Bubbling a few years ago. We went from Bubble freelancers to teaching Bubble at Ottho, the 1st teaching organization in France. :fr:

All this to tell you that we’re professional Bubble developers, and know as much as you how hard it is to scale a Bubble application to a high level and get the important metrics and alerts to know what’s wrong (and when it’s wrong).

Problematics we faced

When you start to get some traffic on your app, it becomes impossible to keep track of what’s happening and which unexpected errors your users are facing.

The Logs Tab

I’m pretty sure no one will disagree: the Logs tab on Bubble is horrible to work with.
When you start Bubbling, you just don’t go because you don’t understand anything.
And when you become good enough to actually understand how Bubble works, you sometimes need to know what happened with a specific User and how he came to a specific situation on your app.

  • Digging though the workflows with the current UI/UX is hard.
  • The way the logs are ordered is rarely the order the workflows runs on your app
  • It’s everything but visual, in opposite to the nature of no-code
  • You have to be pro-active by looking for errors yourself. There’s no global error handling methods
  • You don’t have any global statistics about your workflows: how long they took to run, how many WUs they consumed, % of success, …

Error handling

At scale, and even before, you want to be aware of any errors that your users might face.
As of today, you have 2 ways to find errors:

  • Filter all your logs, enjoy that nice UI, find some error logs, replace them in the context (good luck with this) and try to fix them
  • Wait for a user to create a bug report

And what about the errors happening on the back-end?
As no client is currently running those actions, the ONLY way of catching them is to go by yourself, on a regular basis, check for server-error logs.
An awesome tool like Bubble needs something better.

Our solution

:warning: Flusk Monitor is still in a very early stage. We’re running a private alpha testing phase at the moment, and plan to switch to open beta in the next few weeks.
See the end of the post for early-access.

Images tells way more than I, so here’s a preview.

Maybe another one to see how you could analyze your workflows:
image

Quick overview

All those problems we all face have a solution, and it’s called Flusk Monitor.
It’s your Bubble app’s sniper.

Key-feature #1

Reprocess your logs and display them in a visual way.
Like a Make scenario, with each node being a step of your entire workflow, with the enriched data to be able to troubleshoot efficiently.
This way, you can find out which step of your workflow failed, why, and what’s the current data in it.

Key-feature #2

List log-viewer with analytics.
In a clean interface, visualize the last logs from your app and quickly identify errors.
Explore with enriched data from the previous steps of your workflow, and get insights such as duration, the page this wf was run on, success % of this workflow, and much more.

Key-feature #3

Finally a way to be notified on errors, boosted by AI.
As soon as a User faces an error on your app, you will be instantly notified.
We trained an AI model over 9,000,000+ logs entries to detect whether an error log should be considered critical or not.
You don’t want to be spammed by random errors.
But if a Stripe workflow fails, you’ll instantly be notified by Email and Push Notifications.
The same we had for Flusk Vault:

Screenshot 2023-02-25 at 7.50 1 (1)

And this even works for backend workflows! :partying_face:

And now, what?

From now, I’ll regularly post under this thread to reveal a few features as we integrate them.
The goal of this thread is for you to express what you need to build scalable Bubble apps, and for us to get feedback on our ideas/next builds.

How can I get access?

Flusk Monitor is currently under private alpha. We’ve brought together the best experts and agencies founders to give Flusk the right direction from the beginning. :partying_face:

Open beta is planned for early August.

Want to join private alpha?
Reply to this post, and I’ll get in touch by DM. :arrow_down:

:link: Flusk Twitter | Exclusive Bubble pro-tips

14 Likes

Man, this looks HUGE.
How does the connection to an app works?

Thanks, @Cosmic.Steve!
Appreciate your support.
For us to be able to retrieve your logs, we will need a read-only collaborator access to your application.
That’s not the best deal, but we actually don’t have any other way (or maybe we’ll find one soon?).

This is amazing, crazy that Bubble haven’t even made this in house yet you’ve done it externally… Great stuff

3 Likes

Very cool, love the visualization!

1 Like

That being said, we take some extra measures in order to protect your data.

  • The collaborator access is linked to a ghost Bubble account, neither we nor our employees have access to the account. It has 2FA enabled and is only connected to our backend.
  • All data related to your app is encrypted in our server with a different key for every app.
  • You can choose where to store the data we save and process (US or Europe) for extended GDPR compliance
  • User passwords are never processed by our system

There’s also a way to make it work using Chrome Extension, but this really add frustration in the onboarding in my opinion (and doesn’t really solve the legal/security point)

1 Like

Thank you for the support @georgecollier !

Thanks, @gerbertdelangen ! :rocket:

Product Feature Reveal #1

Today’s feature: deploy when no users live

Hi there!
A few times per week, I’ll post here a few feature we plan to add to Flusk Monitor. This way, you can:

  • React if you absolutely want it
  • Suggest improvements
  • Give us some feedback

The problem

When running a Bubble app with many users, you don’t want to push your new version live when some people are currently using it.
You don’t want them to see this awful popup we all know, asking them to refresh the page.
They’re probably doing something important and you don’t want to add any more friction.

But how do you even know WHEN to actually deploy? Do you look at the Bubble logs?
That’s not how it should be.

The solution

As easy as it could be: schedule a deployment from version X to version LIVE for whenever no users are live on your app.

We are constantly monitoring your app, so whenever no users are using it, we will deploy the specified version live.
Want to be alerted, I guess?

Sure. We’ll send you notifications (email and/or push) and even a webhook wherever you want (maybe you want it to Slack, or to a specific endpoint?).

How does it sounds?
Let me know! :heart:

5 Likes

This looks amazing! However, I think users will be concerned about the workload impact to the app. Are all these tracking metrics recorded straight from the app design page and have no impact on WU?

1 Like

That’s right, we only use functions that don’t impact WUs! Same for our current tool Flusk Vault.
That being said, workload units are also on our list of features enriched by the tool :yum:

1 Like

How much will this cost? Will there be provisions for agency accounts to have and monitor multiple apps?

Hi @Pro-Bubble,
We’re currently working on a special pricing for agencies.
Would you be up to help me setting this up? Your feedback would be highly appreciated!

Yup, stop with all the security nonsense, and just help Bubblers who aren’t @adamhholmes understand workload units. :wink:

All joking aside… and I am not smart enough to know if this is possible… if you could show folks in an easily readable/understandable way that a workflow/operation costs a certain amount of WU and then give them suggestions on how to reduce that cost, Bubblers would (or at least should) beat a path to your door. Oh, and hire Adam as your WU consultant. Just sayin’. :slight_smile:

4 Likes

Honestly? Great idea. If you want to be part of the alpha @adamhholmes and suggest features, we’d love to have you onboard!

Otherwise, we already have half the feature built-in. Currently, we show the average consumption per workflow (soon in the editor!)
I’m adding suggesting alternatives in our roadmap, that’s a really good idea!
Thanks!

3 Likes

Product Feature Reveal #2

Today’s feature: Flusk Errors Catcher

Hi there!
In today’s update, I’d like to introduce our new Errors Catcher :partying_face:

The problem

When your users are using your app, they’re probably doing things in a different way from you or you devs and those different paths may lead to unexpected errors.
It could be plugin errors, workflow errors, or even worse: Stripe errors.
This can easily be translated to money being left on the table because your users just can’t use your app and you don’t even know it.

When your users are facing Bubble errors, you never get alerted (except if you’re catching all the potential errors in your app - which results in a lot of workflow and is not of a clean way to develop I guess).
The only way you can know about errors is:

  • …if a user sends you a bug report
  • …if you check the logs by yourself on a regular basis

Here’s the current conclusion: as of today, you have no automated and scalable way to monitor errors in your Bubble application.

PS: this also works with back-end workflows.

The solution

So we came up with an idea to fix this.
A flexible, WU-efficient, and scalable way to catch all the errors your users are facing - and reporting them to you instantly.

We called it the Flusk Errors Catcher, and here’s what it can do for you:

  • Catch all errors your users are facing including screenshot of what they currently see
  • Catch all back-end errors (workflow failed, or did not auto re-schedule)
  • We instantly send them to you the way you want (currently email, push notification, or Slack integration)

It’s a simple, free plugin to install on your app that will handle all the hard work for you. (we also use this plugin for the real-time feature I’ll tell you next week)

Does it sound good? :sun_with_face:

1 Like

Product Feature Reveal #3

First of all, I wanted to say a BIG thanks for our alpha-testers batch, who are doing an awesome job by helping us define which feature we should prioritize, what we should add and what’s less important. :heart:
We’d be glad to have you around too. If you want to join, simply reply to this post and I’ll get in touch :slight_smile:

Today’s feature: activity monitoring

The Problem

With native Bubble, you don’t have any way to track usage of your app and to see where and when people go on your app.

The only way of achieving this today is to implement some analytics software (Hotjar, or Google Analytics).
It’s one more service, one more JS file to load on page load, and probably one more subscription…

The solution

As we’re pulling your sanitized logs into our infrastructure, we actually have the data to provide those analytics inside of Flusk.
We’ll never go as deep as specialized analytics software, but we provide some basic charts and maps that can help you resolving some business problematics without spending hours connecting a 3-rd party software.

Oh, and it’s plug-and-play. You install Flusk, you get these charts instantly.

With Flusk Monitor, you’ll be able to see:

  • …the number of users in real-time (where they are in the world and who they are)
  • …your website activity (per hour, per week, or per month)
  • …the average number of users per hour of the day, based on your previous data (the table below is still a bit empty, we’re just starting! :wink:)
  • …and a few more we’re trying to prioritize…

What do you think? :slight_smile:

1 Like

I can confirm flusk is amazing, if you’re building on bubble you should be using flusk, allowed me to simple give a junior dev the security issues to fix which saved me a lot of dev time.

I haven’t tried all these new features though @weswas can you add me to the pilot or let me know when the beta is open please?

Hi @john40, thanks for the kind words!
Sure, we’d love to see you there. I’ll get in touch by DM. :rocket:

Product Feature Reveal #4

Let’s continue with our feature reveals, and for this week, something really exciting is coming! :partying_face:
Today, let’s talk about logs and how to apply them efficient filters.

Today’s feature: applying complex and custom filters to logs

The problem

When you start having a consequent amount of logs generated by your users on your Bubble app, it can sometimes become hard to find the one you’re looking for.
The current filter system is hard to work with. And it does not allow in-depth filtering and researching.

The solution

Let me show you a quick video that will help you understand what it is all about.

Our UI allows you to build custom filters, by applying complex constraints of your choice to your logs.
You’ll be able to create “Views” of your logs database, with filters on top of the following logs fields:

  • App version (live, test, custom)
  • Location type of the log (API, on a page, or backend)
  • Location it was thrown from (choose a page or a reusable element of your app)
  • Workflow type (action or event)
  • Log type (error, running event, action completed, …)
  • User type of the user who created this log (admin, visitor, logged-in user)
  • User ID (if you want to retrieve logs for a particular user - can also be done with email or User IP)
  • Display (filter by the name of the log, can contain a page name, or any text value to search on)
  • Workflow item (see get all the logs from a particular workflow)
  • Workflow Units Used (> or < to a particular value)
  • Duration (in ms, > or > to a particular value)
  • Has error (choose between true or false)

This allows you tu performs searches on particular view, such as:

  • Show me all the logs performed by logged-in users on page ‘dashboard’ who encountered an error
  • Show me all the logs who contains an errors and were threw on the backend side of my app
  • Show me all the workflows who took more than 0.8ms to complete
  • …and so on

This is already available for our alpha-testers.
If you want to join us making Bubble development an easier process, we’d love to see you around!
Just comment this post, and I’ll get in touch by DM :partying_face:

Wish you a great week all, talk to you soon!
Wes :heart:

1 Like