Test log
Dreamflow test data
Raw results for the Dreamflow review. The verdict is in the review.
- Tested
- 27 October 2026
- Tester
- Miles Foster
- Account
- Bought for this review at the public price
- Tests
- 10
- Screenshots
- 14
- Method
- Published methodology
- Environment
- Google Chrome on desktop
Results
| ID | Test | Key measurement | Score |
|---|---|---|---|
| T01 | Actions & Notifications | – | n/a |
| T02 | Iteration & Credit Burn | Changes I could run: 1 of 12 | n/a |
| T03 | Code Export & Ownership | – | n/a |
| T04 | Support & Cancellation | Time to the automatic reply: 27 s | n/a |
| T05 | Prompt to Working App | Prompts I sent: 4 | 1/5 |
| T06 | Spec Accuracy | Checks passed, of 24 without keys: 10 | 2/5 |
| T07 | Logins & Access Control | Roles anyone can pick at sign-up: 3 of 3 | 2/5 |
| T08 | Database & Data Safety | Data checks passed, of 6: 1 | 1/5 |
| T09 | Publish, Speed & Mobile | Time from Publish to live: Under 4 min | 3/5 |
| T10 | Pricing & Cost to Finish | Paid: $0 | 3/5 |
| Overall (in the review) | 2/5 | ||
Actions & Notifications
n/aNot Tested- Method
- A Stripe test purchase, a declined card and the two emails, which need your own keys.
- Remark
- No grade.
Raw notes
A Stripe test purchase, a declined card and the two emails, which need your own keys.
Not run. Stripe and an email service need keys that are yours to supply, so checks C24 to C29 are left out and this test is not graded. The password reset message on the sign-in screen says a link was sent, but nothing is sent (C03).
- Left out like on every builder: payments and emails need the owner's own keys.
Iteration & Credit Burn
n/aNot Tested- Method
- The twelve scripted changes, one prompt each, on the live app.
- Changes I could run
- 1 of 12
- Credits left
- 1.28
- Remark
- Fewer than 8 of the 12 changes could run, so there is no grade.
Raw notes
The twelve scripted changes, one prompt each, on the live app.
Not run. The Free plan gave 10 credits for life and the build used 8.72. The one fix prompt I sent, to replace the three invented classes, cost 1.31 credits and worked first time, but one change is not a test of twelve. The other eleven would have needed about 15 credits at that rate, and the Free plan had 1.28 left.
- The credits are the limit of the Free plan, not a test fault. The Hobby plan has 100 credits.
Code Export & Ownership
n/aNot Tested- Method
- Download the code, unpack it in a clean folder, run it against a database of mine and list what still needs the vendor.
- Remark
- No grade: the Free plan blocks the export.
Raw notes
Download the code, unpack it in a clean folder, run it against a database of mine and list what still needs the vendor.
Not run. In the project menu, Download Code is greyed out and says Need plan upgrade, and a message reads You must be on a paid plan to download code. Dreamflow's pricing page lists 1-click code export on Hobby and Pro, and Git Access on Pro only. I asked support how to export the data as well as the code.
- The terms were not read.
Support & Cancellation
n/aNot Tested- Method
- One real question by email to support@flutterflow.io, which runs Dreamflow support, sent at 19:28 UTC on 27 October 2026: how to stop people choosing the admin role at sign-up, how to export the code and the data, and how to cancel and delete an account.
- Time to the automatic reply
- 27 s
- Remark
- No grade until a person answers.
Raw notes
One real question by email to support@flutterflow.io, which runs Dreamflow support, sent at 19:28 UTC on 27 October 2026: how to stop people choosing the admin role at sign-up, how to export the code and the data, and how to cancel and delete an account.
An automatic acknowledgement came after 27 seconds and said response times are longer than usual. No person had answered when this review was written, so support is not graded. The Free plan has nothing to cancel. The account page has a Delete Account button, which I did not press.
- Graded when a reply arrives.
Prompt to Working App
1/5Tested- Method
- The Fitting Room brief was pasted word for word (1,752 characters) into the prompt box on the Dreamflow home page at 19:00 UTC on 27 October 2026, on the Free plan.
- Prompts I sent
- 4
- Credits used
- 8.72 of 10
- Brief to first live app
- 22 min
- Checks passed, of 24
- 10
- Remark
- 25 of 30 was never reached, so the build is a 1.
Raw notes
The Fitting Room brief was pasted word for word (1,752 characters) into the prompt box on the Dreamflow home page at 19:00 UTC on 27 October 2026, on the Free plan. The clock stops when the app is live and 25 of 30 checks pass, applied here as 20 of the 24 checks that need no keys of mine.
The first prompt came back after about six minutes as a written plan, not an app: an Architecture Plan with a feature list and twelve steps, and a preview that said Project has 1 error. It cost 1.19 credits. A second message of mine, cut to the single letter G by my own typing script, cost 0.21 credits and the agent asked what I wanted next.
A third prompt, Continue building the Fitting Room app now, ran for about eight minutes, used 6.01 credits and ended with a running app and 0 errors. The agent had chosen a local sign-in kept in the browser, and said so on the sign-up screen: Local demo only (no backend yet). I published it on a share.dreamflow.app address about 22 minutes after the brief. It showed three classes I never asked for. A fourth prompt put the three real classes in, and I published that version about 35 minutes after the brief.
Only 10 of the 24 checks passed on the final app, so the 20 needed were never reached.
- Times come from my credit ledger and the clock on the machine, to the minute.
Spec Accuracy
2/5Tested- Method
- The checks were run against the live app, by hand, in a clean tab for each role.
- Checks passed, of 24 without keys
- 10
- Checks that failed
- 11
- Not run
- 3
- Left out, need the owner's keys
- 6
- Remark
- 10 of 24 is 42%, below the 60% a 3 needs and above the 33% a 2 needs, so accuracy is a 2.
Raw notes
The checks were run against the live app, by hand, in a clean tab for each role. The six 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, 4 needs 80%, 3 needs 60%, 2 needs 33% and 1 is below that.
10 of 24 checks passed, 11 failed and 3 were not run. Passing: C01, C02, C04, C05, C06, C07, C08, C09, C13 and C14. A member can sign up, sign out and sign in again, the timetable shows Reformer Basics, Mat Flow and Power Reformer with their days, times, durations, instructors and places left, booking shows Booked. See you there., My bookings lists the booking, and cancelling gives the place back (the count went from 5 to 6). Lena Park sees only her own classes, and the instructor view lists the member booked on a class.
Failing: password reset (C03) shows a message that a link was sent, and no email exists. Booking uses no credit and a member is never told to buy a pass (C11). The admin screen is a stub: it says admin tooling is next, and has no add, edit or delete class, no list of bookings, no CSV and no counts (C16 to C21), and it never shows the Ask the studio messages (C23). The member menu has no Ask the studio form at all (C22). The studio address, phone number, email and the $95 and $24 prices are on no screen I opened (C30).
The first live version invented three classes (Mat Strength, Core + Mobility and Reformer Flow), a Jordan Instructor and two studios, East Austin Studio and South Congress Studio. After my fix prompt the three classes were right, and the app added levels (Beginner, All levels and Advanced) and a Studio label that are not in the brief. Not run: the capacity rule (C10), member A against member B (C12) and marking attendance (C15).
- Payments and the declined-card check were not run: they need your own Stripe key. The capacity rule needs six member accounts for Power Reformer, and I did not create them.
Logins & Access Control
2/5Tested- Method
- Sign-up and log-in for each role on the live app, the sign-up form read for a way to pick a role, and the browser's own storage read to see where accounts and passwords live.
- Roles anyone can pick at sign-up
- 3 of 3
- Where the data lives
- The browser
- Passwords printed on the first screen
- 3
- Remark
- The flows work, but the roles are only cosmetic and both attacks have nothing to stop them: 2.
Raw notes
Sign-up and log-in for each role on the live app, the sign-up form read for a way to pick a role, and the browser's own storage read to see where accounts and passwords live. The two attacks in the brief need a server that answers data requests.
Sign-up, log-in and log-out work for all three roles. But the roles are only labels. The sign-up form has a Role list with Member, Instructor and Admin, open to anyone, and I made a new admin account with a new email in one step and landed on the admin screen. The first screen also prints the demo email and password of every role, the admin's included.
Everything is stored in the browser, not on a server. Dreamflow's agent used local storage for the users, the bookings, the classes and the session. The password is saved as the password written in base64, which anyone can turn back into the password. Both attacks had nothing to attack: there is no data request to replay, and the instructor view showed the member's booking because both accounts share one browser's store. A booking made on one phone is not on another, because local storage never leaves the browser; I did not open a second device.
- The agent could have used Firebase or Supabase, which Dreamflow has panels for; it chose local storage on its own, and I did not connect either because that needs an account that is yours.
Database & Data Safety
1/5Tested- Method
- Six data checks: the data survives a reload, survives a republish, survives a colour change, the admin can view all of it, filter, edit and delete it, and export it.
- Data checks passed, of 6
- 1
- Data checks that failed
- 4
- Not run
- 2
- Remark
- One of six is a 1.
Raw notes
Six data checks: the data survives a reload, survives a republish, survives a colour change, the admin can view all of it, filter, edit and delete it, and export it.
One of the six passed: a booking and the session were still there after I reloaded the page. The admin screen shows no data, so viewing, filtering, editing, deleting and exporting all failed. The republish and the colour change were not run.
The data is in one browser only. It is not a database the studio could read, back up or share between a front desk and a phone.
- The republish and the colour change were not run because only 1.28 credits were left on the Free plan.
Publish, Speed & Mobile
3/5Tested- Method
- Publish from the editor on the Free plan, timed, then three Lighthouse phone runs on the home page of https://3htjupfa3df2e6vvkvl5.share.dreamflow.app.
- Time from Publish to live
- Under 4 min
- Phone speed score, median of three
- 78
- Speed index
- 8.9 s
- Page weight
- 6.7 MB
- Remark
- The app went live on Dreamflow's own address, with no domain of mine: 3.
Raw notes
Publish from the editor on the Free plan, timed, then three Lighthouse phone runs on the home page of https://3htjupfa3df2e6vvkvl5.share.dreamflow.app.
Publishing is one click on the Web tab: One-Click Deployment, then Building project, then Live on a share.dreamflow.app address in under four minutes. Update Deployment publishes a change the same way. The panel has no custom domain option, only Update Deployment and Unpublish. The iOS and Android tabs say Available only on paid plans and ask for Hobby or Pro; nothing was uploaded to an app store.
The phone speed scores were 78, 78 and 78, median 78. The first paint was about 1.1 seconds and the page weighs about 6.7 MB, but the speed index was about 8.9 seconds and the blocking time about 0.5 seconds: the page shows a loading screen first and the app after. A timetable with 100 classes, layout faults at three widths and a real phone were not tested.
- Home page only; no custom domain; no layout fault count.
Pricing & Cost to Finish
3/5Tested- Method
- The pricing page, the account page and the credit meter were read on 27 October 2026 on the Free plan, with the credits read after every prompt.
- Paid
- $0
- Credits used
- 8.72 of 10
- Dreamflow's forecast
- 262 credits
- Remark
- The allowance is clear, but I could not show that a finished app fits in a plan: 3.
Raw notes
The pricing page, the account page and the credit meter were read on 27 October 2026 on the Free plan, with the credits read after every prompt.
I paid nothing. The Free plan gives 10 credits for life, web deployment and no code export. The meter showed 0 used before the brief and 8.72 used after four prompts: 1.19, 0.21, 6.01 and 1.31 credits. Dreamflow's own banner then read: Based on current usage, you're projected to use 262 credits this period.
Hobby is $20 a month for 100 credits and Pro is $90 a month for 500, and the pricing page mentions no top-ups. A finished version of this app, with the twelve changes, would likely need more than the Free plan, but I did not run it, so I cannot say if 100 credits are enough. Running cost is unclear.
- No paid plan was bought, and no card was entered.
Coverage
Tested
- One brief typed word for word into the home page prompt box
- 24 of the 30 written checks (C24 to C29 need keys), 21 of them run on the live app
- Sign-up, log-in, reset and the role choice for member, instructor and admin
- Publishing to the share.dreamflow.app address, timed, and a phone speed run
- The iOS and Android deployment tabs, and the Download Code option
- The plan page, the credit meter after every prompt 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
- The Free plan gave 10 credits for life. Four prompts used 8.72, so the twelve changes could not be run and the iteration test is not graded
- Download Code is locked on the Free plan, so the export test is not graded
- Support: an automatic acknowledgement arrived and no person had answered, so support is not graded
- No Firebase or Supabase backend was connected: connecting one needs an account that is yours. The agent chose browser storage on its own
- Three of the 24 checks were not run: the capacity rule, member A against member B, and marking attendance
- Speed was measured on the home page only, three runs, with no real phone and no layout fault count; no custom domain was available and the terms were not read
- One of my four prompts was cut to the letter G by my own typing script and cost 0.21 credits
Still to test
- Payments and the declined card with your own Stripe key
- The twelve changes on a paid plan, and a version with a Firebase or Supabase backend
- The code download on Hobby, built and run against a database of my own
- A timetable with 100 seeded classes and layout faults at three widths
- Support, once a person answers