RankDude

Test log

Bubble test data

Raw results for the Bubble review. The verdict is in the review.

Tested
26 October 2026
Tester
Miles Foster
Account
Free demo account, signed up by RankDude, nothing paid to the brand
Tests
8
Screenshots
8
Environment
Google Chrome on desktop

Results

IDTestKey measurementScore
T01Prompt to Working AppBrief to a live app: 21 min4/5
T02Spec AccuracyChecks passed, of 24 without keys: 214/5
T03Sign-in & Access ControlScripted attacks blocked: 2 of 23/5
T04Database & AdminChecks proved: 6 of 65/5
T05Iteration & Credit BurnChanges that worked first time: 6 of 8 run3/5
T06Publish, Speed & MobileTime to deploy: 3 s3/5
T07Export & OwnershipCode export found: none1/5
T08Pricing & Cost to FinishPaid: $03/5
Overall (in the review)3.3/5
T01

Prompt to Working App

4/5Tested
Method
The Fitting Room brief was pasted word for word (1,689 characters) into the editor's Agent at 11:32 UTC on 26 October 2026.
Brief to a live app
21 min
Brief to 20 of 24 passing
47 min
Prompts, plus one plan approval
1
AI credits for the first build
483
Remark
Under 90 minutes and no more than 15 prompts is a 4. A 5 needs under 30 minutes, and the app was only half right at 21.

Bubble editor with the Fitting Room page on the left and the Agent chat on the right, showing the pasted brief under the suggested features.

Bubble editor with the Fitting Room page on the left and the Agent chat on the right, showing the pasted brief under the suggested features.
T01-1 The brief pasted into the editor's Agent.
Raw notes

The Fitting Room brief was pasted word for word (1,689 characters) into the editor's Agent at 11:32 UTC on 26 October 2026. My first two tries on Bubble's start page lost the Agent's plan when the free trial began, so the clock restarted here. The clock stops when the app is live and the checks pass: 25 of 30 on the full scale, applied here as 20 of the 24 checks that need no keys of mine.

The Agent answered with a 23-step plan after about two minutes. I approved it at 11:34 and it built for about 13 minutes. The first build used 483 of the 1,000 AI credits. I deployed it at 11:53, 21 minutes after the brief, and the app was live on its bubbleapps.io address.

The live app was not finished. Its timetable was empty, because the three seed classes sat only in the development database. I added the classes through the admin screen, gave two members credits in the data view and renamed the instructor in the data view. With that done 20 of the 24 checks had passed when I logged the results at 12:19, 47 minutes after the brief, in 1 prompt and 1 plan approval.

  • Three hand steps in the data view and admin screen were part of the 47 minutes.
T02

Spec Accuracy

4/5Tested
Method
The checks were run against the live app, by hand, with a note per check.
Checks passed, of 24 without keys
21
Left out, need the owner's keys
6
Seed facts on the live app after deploy
7 of 10
Invented classes or prices
0
Remark
21 of 24 is 87.5%, which is the 4 band. Two more passes would have made it a 5.

Bubble test app live home page with the Fitting Room hero and an empty Weekly timetable card reading The timetable will appear here once classes are added.

Bubble test app live home page with the Fitting Room hero and an empty Weekly timetable card reading The timetable will appear here once classes are added.
T02-1 The live home page straight after Deploy: the timetable is empty.

Bubble test app member timetable with 5 class credits and the classes Mat Flow, Power Reformer and Reformer Basics, each with places left and a Book button.

Bubble test app member timetable with 5 class credits and the classes Mat Flow, Power Reformer and Reformer Basics, each with places left and a Book button.
T02-2 The member timetable once the admin had added the three classes.
Raw notes

The checks were run against the live app, by hand, with a note per check. The six checks that need your own Stripe and email keys (C24 to C29) are left out, so the thresholds are applied to the 24 that remain: 5 needs 93% or more (23 or more), 4 needs 80% (20), 3 needs 60% (15), 2 needs 33% (8) and 1 is below that.

21 of 24 checks passed, which is 87.5%. Passing: sign-up (C01), log-out and log-in (C02), the emailed password reset with a new password that worked (C03), the three screens by role (C04), instructors and capacity on the timetable (C06), booking, My bookings and cancelling with the place freed (C07 to C09), the full-class rule, shown as Class full (C10), the no-credit message (C11), member A never seeing member B's bookings (C12), the instructor seeing only their own classes (C13), Mark attended (C15), the admin adding, editing and deleting classes (C16 to C18), every booking, the CSV, the counts per class (C19 to C21), and the Ask the studio form with the admin's list (C22, C23).

Three failed. The timetable was empty after the deploy (C05), so only 7 of the 10 seed facts showed and the classes had to be typed in by the admin (C30). The instructor screen listed Power Reformer but never Reformer Basics, although the same instructor teaches both and a member had booked it (C14). Nothing was invented: no extra class, price or instructor.

  • Payments and the declined-card check were not run: they need your own Stripe key.
T03

Sign-in & Access Control

3/5Tested
Method
Sign-up, log-in and password reset for a member, an instructor and an admin on the live app, then two attacks: a member asking for another member's bookings, and a member calling an admin-only action.
Scripted attacks blocked
2 of 2
Password reset
worked
Weak spot
any visitor can sign up as admin
Remark
Every flow works and both scripted attacks are blocked, but a visitor can become an admin in one click, which gives the same access as an attack that succeeds: 3.

Bubble test app sign-up form with name, email and password fields and a Sign up as choice of Member, Coach and Admin, plus a phone number box.

Bubble test app sign-up form with name, email and password fields and a Sign up as choice of Member, Coach and Admin, plus a phone number box.
T03-1 The sign-up form: any visitor can pick Admin.
Raw notes

Sign-up, log-in and password reset for a member, an instructor and an admin on the live app, then two attacks: a member asking for another member's bookings, and a member calling an admin-only action. I also read the Booking, User and Order privacy rules in the editor.

Every flow worked. The reset email arrived within seconds from a Bubble address and logging in with the new password worked while the old one failed. Attack 1 was blocked: the app's Data API is off and the Booking privacy rules show a booking only to its owner or to an admin. Attack 2 was blocked: a member who opened /admin was sent back to the home page, and the app exposes no public workflow endpoint for deleting a class.

The weak spot is the sign-up form. It has three options, Member, Instructor and Admin, and any visitor can choose Admin. I did that with a new account, and it opened the admin screen with every booking and member email, and with the right to delete classes. The privacy rules key on the role, so the choice defeats both attacks. A fix belongs in the app: do not offer the role at sign-up.

  • Bubble's own security scan was not run.
T04

Database & Admin

5/5Tested
Method
The six data checks: the form and bookings write real records, they survive a reload, a redeploy and a design change, the admin can view, filter, edit and delete them, and they export as a file.
Checks proved
6 of 6
Bookings, messages and users in the live data at the end
1, 1, 4
Remark
Six of six proved is 5.

Bubble Data tab, All Classes, Development version, listing three classes with capacity 4 for Saturday, 12 for Tuesday and Thursday and 8 for Monday and Wednesday.

Bubble Data tab, All Classes, Development version, listing three classes with capacity 4 for Saturday, 12 for Tuesday and Thursday and 8 for Monday and Wednesday.
T04-1 The Data tab on the development version: Power Reformer has capacity 4, the live app says 6.
Raw notes

The six data checks: the form and bookings write real records, they survive a reload, a redeploy and a design change, the admin can view, filter, edit and delete them, and they export as a file.

Proved (six): the Ask the studio form and the bookings wrote records; they stayed after reloads, after nine redeploys and after the colour change in E03; the admin viewed, edited and deleted records in the app, and viewed, filtered and edited them in the Data tab; and the bookings exported as a CSV with one row per booking.

Bubble keeps a development and a live database. The seed classes and the capacity change in E05 went into the development one only, which is why the live app was empty after the deploy.

  • The Data tab's Export and backup buttons were looked at, not run.
T05

Iteration & Credit Burn

3/5Tested
Method
The twelve scripted changes, one prompt each, then the live app opened to see whether the change had happened.
Changes that worked first time
6 of 8 run
Changes not run
4
AI credits for the eight
478
Credits left
39
Remark
6 first-try changes is the 3 band (6 to 8).

Bubble test app member timetable with a Filter by coach box set to Tomás Reyes and only the Mat Flow class listed, in dark green and cream.

Bubble test app member timetable with a Filter by coach box set to Tomás Reyes and only the Mat Flow class listed, in dark green and cream.
T05-1 The Filter by coach box on the live timetable.
Raw notes

The twelve scripted changes, one prompt each, then the live app opened to see whether the change had happened. I stop when fewer than 80 AI credits are left and never buy more.

Eight of the twelve ran. 6 worked first time: a phone field with a Members list on the admin page (E01), Instructor renamed Coach (E02), dark green and cream (E03), an About page with the brief's address, phone and email (E04), a Filter by coach box (E06) and an email when the admin cancels a booking, for which the Agent had to build the admin's Cancel booking button first (E08).

E05 did not work: the Agent set Power Reformer's capacity to 4 in the development database only, and the live timetable still said 6. E07 worked only after a second message: when I reported the planted bug, the Agent said it was not a bug and asked what I wanted, and a third message restored the credit refund. E09 to E12 were not run.

The eight used 478 AI credits, from 517 to 39. The cheapest change cost 28 credits, the dearest 95.

  • The four unrun changes might have changed the grade either way.
T06

Publish, Speed & Mobile

3/5Tested
Method
Deploy to the vendor address, timed, then a Lighthouse phone run on the home page of https://info-80867.bubbleapps.io.
Time to deploy
3 s
Phone speed score
57
Largest paint
8.8 s
Page weight
1.3 MB
Remark
A score of 57 is in the 50 to 74 band: 3. The app is on the vendor address only, which is also 3.

Bubble editor dialog Web deployment successful, showing the live site address info-80867.bubbleapps.io with Close and View live site buttons.

Bubble editor dialog Web deployment successful, showing the live site address info-80867.bubbleapps.io with Close and View live site buttons.
T06-1 The dialog after Deploy.
Raw notes

Deploy to the vendor address, timed, then a Lighthouse phone run on the home page of https://info-80867.bubbleapps.io.

The Deploy button asked for a short description and the app was live in about 3 seconds on its bubbleapps.io address. Every redeploy after a change took about 5 seconds and cost no AI credits. The Settings screen offers a custom domain on Starter and above; I did not try it.

The phone score was 57. The largest contentful paint was 8.8 seconds and the page weighs about 1.3 MB.

A timetable with 100 seeded classes, layout faults at three widths and a real phone were not tested.

  • Home page only; no domain; no layout fault count.
T07

Export & Ownership

1/5Tested
Method
Looking for a way to take the app out: the export options in the editor's Settings (General, API, Versions, Domain and email, SEO) and in the Data tab.
Code export found
none
Remark
No code export: 1.
Raw notes

Looking for a way to take the app out: the export options in the editor's Settings (General, API, Versions, Domain and email, SEO) and in the Data tab. Read only: I ran no download.

I found no option to export the code or the app. What exists is a CSV of the records through the Data tab's Export button, the admin page's CSV of bookings and an optional Data API, which is off. I did not read the terms.

  • Settings and the Data tab only.
T08

Pricing & Cost to Finish

3/5Tested
Method
The plan page, the AI credit meter and the pricing page (monthly view) were read on 26 October 2026.
Paid
$0
AI credits used
961 of 1,000
Remark
The entry plan's allowance ran out before the twelve changes did, so a top-up was needed: 3.

Bubble Settings plan page, AI credits section: Starter Plan Credits, used 961 of 1,000 (96%), resets on Nov 1, with 1,000 AI credits per month at $39 a month and an Add more credits button.

Bubble Settings plan page, AI credits section: Starter Plan Credits, used 961 of 1,000 (96%), resets on Nov 1, with 1,000 AI credits per month at $39 a month and an Add more credits button.
T08-1 The AI credit meter at the end of the test.
Raw notes

The plan page, the AI credit meter and the pricing page (monthly view) were read on 26 October 2026. Bubble shows AI credits, not a price per prompt.

I paid nothing: the workspace was on a 14-day free Starter trial, and the plan page said the card on file would be charged on 9 November 2026. I cancelled the trial when testing ended (Settings, My plan, Downgrade, Cancel trial), so nothing was charged. The dialog warned that the live app would be unpublished immediately, and it was: the bubbleapps.io address now redirects to a page saying live sites are not supported. The AI credit meter read 961 of 1,000 used (96%) on Starter, and the editor then warned that the balance was low.

Monthly prices: Free $0 (500 AI credits, development only), Starter $39 (1,000), Growth $134 (2,000) and Team $399 (4,000). A live site needs Starter. The twelve changes did not fit in the 1,000 credits, so a top-up would have been needed.

  • Yearly prices were not tested at the checkout. Trial credits are the Starter allowance.

Coverage

Tested

  • One brief built by the editor's Agent, with the plan approved once
  • 24 of the 30 written checks (C24 to C29 need keys), run on the live app
  • Two access attacks, plus a look at the privacy rules
  • Sign-up, log-in and password reset for a member, an instructor and an admin
  • Eight of the twelve changes, one at a time, until the AI credits ran low
  • Deploying to the bubbleapps.io address, timed, and a phone speed run
  • The settings, API and data screens, looking for a code export
  • The plan page, the credit meter and the pricing page

Not tested or limited

  • Payments and emails need your own keys, so the six checks C24 to C29 were left out and the actions test is not graded; booking and cancellation emails did arrive from a Bubble address
  • Support: my question in Bubble's chat on 26 October 2026 (12:36 UTC) had no reply from a person when this was written
  • Changes E09 to E12 were not run: the AI credits fell to 39 and I stop at 80
  • Speed was measured on the home page only, with no layout faults counted and no real phone
  • No custom domain was connected, the terms of service were not read and the Data API was left off
  • The 30-check results come from one run by hand; the instructor screen was tested with the account renamed to Lena Park in the data view

Still to test

  • Payments and the declined card with your own Stripe key
  • Bubble's answer to my support question
  • Changes E09 to E12 with more AI credits
  • A custom domain and a timetable with 100 seeded classes
  • Layout faults at three widths and on a real phone
  • Uptime on the test app
What these results meanRead the full Bubble review