Hands-on evidence

What we tested ourselves

A claim like “works with X” says little. A later version of a product inherits nothing from these results. Agents can search the same evidence with get_task_evidence; see For agents.

One booking app, three AI builders (hands-on test)

Run 2026-09-26. Method, prompts and raw data: the study page.

ProductCheckWhat we checkedResultWhat we saw
LovableT01Published at a public URL without logging in to the builderPassed
LovableT02Next 14 days: Mon-Fri 07:00 and 18:30, Sat 09:00, no Sunday, 8 spots eachPassed
LovableT03Booking with name and email lowers spots left by one, also after reloadPassed
LovableT04Confirmation shows a unique manage linkPassed
LovableT05A full class cannot be booked: 10 simultaneous requests on an empty 8-spot classPassed8 accepted, 2 refused ('Sorry, this class is full.')
LovableT06Same email cannot book the same class twice (also in capitals)Passed
LovableT07Manage link moves a booking: old class +1, new class -1Passed
LovableT08Manage link cancels a booking and frees the spotPassed
LovableT09Manage link contains a long random token, not a sequence numberPassedUUID v4
LovableT10Admin page refuses access without or with a wrong password (UI and API)Passed
LovableT11Admin password not present in page source, JavaScript or URLsPassed
LovableT12Admin page lists all bookings per class, consistent with T03-T08Passed
LovableT13Admin can cancel a booking; spot freed, status visiblePassed
LovableT14CSV export with exactly: class date, class time, name, email, statusPassedvalues starting with = + - @ are prefixed against spreadsheet formula injection
LovableT15Empty name, name of only spaces and invalid email are refused (server side)Passed
LovableT16Bookings still there after reload and after republishingPassedrepublished 12:07 UTC; all bookings present
LovableT17Schedule, booking and manage link usable at 390 px without sideways scrollingPassed
LovableT18Code can be exported (GitHub or zip) and data downloadedPassedrun on 26 September 2026: GitHub connected with access limited to one repository; Lovable created its own repository holding the full source and the database migrations, with no secret keys committed. Outside Lovable (Node 22) the code installed and built with
ReplitT01Published at a public URL without logging in to the builderPartialmanual Publish click; free deployment temporary
ReplitT02Next 14 days: Mon-Fri 07:00 and 18:30, Sat 09:00, no Sunday, 8 spots eachPassed
ReplitT03Booking with name and email lowers spots left by one, also after reloadPassed
ReplitT04Confirmation shows a unique manage linkPassedlink behind a 'Manage this booking' button
ReplitT05A full class cannot be booked: 10 simultaneous requests on an empty 8-spot classFailed
after repairs: Passed
first version: 10 of 10 accepted, then GET /api/classes returned 500 and the public page showed 'No classes on the calendar yet.'; after repair 1: 8 accepted, 2 refused
ReplitT06Same email cannot book the same class twice (also in capitals)Passed
ReplitT07Manage link moves a booking: old class +1, new class -1Passed
ReplitT08Manage link cancels a booking and frees the spotPassed
ReplitT09Manage link contains a long random token, not a sequence numberPassedUUID; internal booking id is sequential but not in the link
ReplitT10Admin page refuses access without or with a wrong password (UI and API)Passed
ReplitT11Admin password not present in page source, JavaScript or URLsPassed
ReplitT12Admin page lists all bookings per class, consistent with T03-T08Passed
ReplitT13Admin can cancel a booking; spot freed, status visiblePassed
ReplitT14CSV export with exactly: class date, class time, name, email, statusPassedno protection against spreadsheet formula injection
ReplitT15Empty name, name of only spaces and invalid email are refused (server side)Partial
after repairs: Passed
first version saved a name of only spaces as empty
ReplitT16Bookings still there after reload and after republishingPassedrepublished after repair 1; all bookings present
ReplitT17Schedule, booking and manage link usable at 390 px without sideways scrollingPassed
ReplitT18Code can be exported (GitHub or zip) and data downloadedPassedrun on 26 September 2026: the project zip export held the full source and its git history, but no database contents. Outside Replit it installed and built with pnpm 10 (pnpm 12 refused) once PORT and BASE_PATH were set, and ran against our own empty Postgres:
EmergentT01Published at a public URL without logging in to the builderFailedfree plan cannot deploy; preview URL only
EmergentT02Next 14 days: Mon-Fri 07:00 and 18:30, Sat 09:00, no Sunday, 8 spots eachPassedtoday's 09:00 class still bookable at 13:25 Amsterdam time; the app's time zone is unknown, not counted as a failure
EmergentT03Booking with name and email lowers spots left by one, also after reloadPassed
EmergentT04Confirmation shows a unique manage linkPassed
EmergentT05A full class cannot be booked: 10 simultaneous requests on an empty 8-spot classFailed
after repairs: Passed
first version and after repair 1: 10 of 10 accepted; after repair 2: 8 accepted, 2 refused, twice
EmergentT06Same email cannot book the same class twice (also in capitals)Passed
EmergentT07Manage link moves a booking: old class +1, new class -1Passed
EmergentT08Manage link cancels a booking and frees the spotPassed
EmergentT09Manage link contains a long random token, not a sequence numberPassed32 hex characters
EmergentT10Admin page refuses access without or with a wrong password (UI and API)Passed
EmergentT11Admin password not present in page source, JavaScript or URLsFailed
after repairs: Passed
first version put the admin password in the CSV export URL
EmergentT12Admin page lists all bookings per class, consistent with T03-T08Passedadmin view showed the overbooking as '9 / 8 booked'
EmergentT13Admin can cancel a booking; spot freed, status visiblePassed
EmergentT14CSV export with exactly: class date, class time, name, email, statusPassedno protection against spreadsheet formula injection
EmergentT15Empty name, name of only spaces and invalid email are refused (server side)Partial
after repairs: Passed
first version saved a name of only spaces as empty
EmergentT16Bookings still there after reload and after republishingNot testedcould not publish
EmergentT17Schedule, booking and manage link usable at 390 px without sideways scrollingPartial
after repairs: Passed
first version: page 494 px wide at 390 px
EmergentT18Code can be exported (GitHub or zip) and data downloadedNot testedpricing page lists GitHub integration from the Standard plan

One pitch deck, four AI presentation tools (hands-on test)

Run 2026-09-28. Method, prompts and raw data: the study page.

ProductCheckWhat we checkedResultWhat we saw
GammaC01Exactly 10 slides in the requested orderPassed
GammaC02Every given number that appears is correctPassed2021 (founding year) left out
GammaC03No numbers that were not in the briefPassed
GammaC04Market slide uses a placeholder instead of an invented market sizePassed[MARKET SIZE] and [COMPETITIVE LANDSCAPE] placeholders
GammaC05Revenue chart present with 0.4 / 0.8 / 1.2, drawn to scalePassedbar chart, measured to scale
GammaC06Use of funds as a chart, 70 / 20 / 10Passeddonut chart plus table
GammaC07Both founders and roles right, no invented team membersPassed
GammaC08No invented quotes, testimonials or customersPassed
GammaC09The change prompt updates every place EUR 400,000 appearsPassedEUR 400,000 appeared only on slide 10; shows before/after
GammaC10Retitle slide 2 and swap slides 8 and 9 by hand without breaking the layoutPassed
GammaC11Export to PowerPoint and PDF on the plan used; text editable in the .pptxPassed
GammaC12Tool branding on exports and share pagesObservation'Made with Gamma' badge with link on every PDF page on Free; none found in the .pptx
GammaC13Share link opens without logging inNot testedlink set to 'Anyone with the link: View' (default was No access); an automated logged-out browser got a Cloudflare check, which we did not bypass
GammaC14Credits usedObservationgeneration plus the change together
GammaC15Time from sending the prompt to a finished deckObservationoutline pane stayed empty until we sent 'Please draft the outline.'
Beautiful.aiC01Exactly 10 slides in the requested orderPassed
Beautiful.aiC02Every given number that appears is correctPassed70/20/10 shown only as euro amounts
Beautiful.aiC03No numbers that were not in the briefPassedadds Amsterdam as a target city
Beautiful.aiC04Market slide uses a placeholder instead of an invented market sizePartialoutline had [MARKET SIZE]; the slide dropped it without inventing a size
Beautiful.aiC05Revenue chart present with 0.4 / 0.8 / 1.2, drawn to scalePartialline chart with correct data, but the y-axis rounds its labels to 0, 0, 1, 1, 1, 1, 1
Beautiful.aiC06Use of funds as a chart, 70 / 20 / 10Partialbar chart of EUR 280,000 / 80,000 / 40,000 (correct), percentages not shown
Beautiful.aiC07Both founders and roles right, no invented team membersPassed
Beautiful.aiC08No invented quotes, testimonials or customersPassed
Beautiful.aiC09The change prompt updates every place EUR 400,000 appearsNot on the tested planno AI that edits the whole deck; per-text-block 'Generate new' only suggests replacement sentences; by hand: 2 text places and 3 chart values
Beautiful.aiC10Retitle slide 2 and swap slides 8 and 9 by hand without breaking the layoutPasseddragging slides lands imprecisely; took 4 drags
Beautiful.aiC11Export to PowerPoint and PDF on the plan used; text editable in the .pptxPassedPowerPoint export defaults to 'as images'; editable has to be chosen; a font zip comes along
Beautiful.aiC12Tool branding on exports and share pagesObservationno watermark on slides, PDF or PPTX (trial of Pro)
Beautiful.aiC13Share link opens without logging inPassedthe public player shows the account's email address
Beautiful.aiC14Credits usedObservationno credit counter on the trial; the trial needs a payment card and bills a year of Pro on day 14 unless cancelled
Beautiful.aiC15Time from sending the prompt to a finished deckObservation
PreziC01Exactly 10 slides in the requested orderPassedplus a zooming overview
PreziC02Every given number that appears is correctPartialnumbers right, but 2025 revenue is presented as a projection ('We project ... reaching EUR 1.2 million by 2025')
PreziC03No numbers that were not in the briefPassedinvented a website, kettlecrumb.nl, on the ask slide
PreziC04Market slide uses a placeholder instead of an invented market sizePassed
PreziC05Revenue chart present with 0.4 / 0.8 / 1.2, drawn to scalePassedbar chart, measured to scale
PreziC06Use of funds as a chart, 70 / 20 / 10Passeddonut, measured 70/20/10; legend truncated to 'Central Kitchen (2...'
PreziC07Both founders and roles right, no invented team membersPassedwrites 'Her leadership' for the CEO, a gender the brief did not give
PreziC08No invented quotes, testimonials or customersPassed
PreziC09The change prompt updates every place EUR 400,000 appearsPartialslide 10 changed; slide 9 still says 'Our EUR 400,000 investment'
PreziC10Retitle slide 2 and swap slides 8 and 9 by hand without breaking the layoutPassed
PreziC11Export to PowerPoint and PDF on the plan used; text editable in the .pptxFailedin the AI editor's Download tab on Basic, PDF, PowerPoint (labelled editable, 'Bewerkbare PPTX' in the Dutch interface) and SCORM were all locked to Plus; no file downloaded; the public room page showed PDF and PowerPoint download buttons, to our Basic account
PreziC12Tool branding on exports and share pagesObservation'Made with Prezi' in the editor; Prezi logo on the public page
PreziC13Share link opens without logging inPassedon Basic the only sharing option is Public, which the Dutch interface describes as anyone being able to find and view the deck ('iedereen kan dit vinden en bekijken'); Unlisted and Private need Plus; the public page shows the account holder's name
PreziC14Credits usedObservationthe change used no visible credits
PreziC15Time from sending the prompt to a finished deckObservationthe AI editor opens in a pop-up window
CanvaC01Exactly 10 slides in the requested orderPartial10 slides, but two problem slides and use of funds merged with the ask
CanvaC02Every given number that appears is correctPassed2021 left out
CanvaC03No numbers that were not in the briefFailedan 'Expansion costs' list of 85,000 / 62,000 / 18,000 / 22,000 / 28,000 / 35,000 / 250,000, and '1 investment' and '2 marketing initiatives' on the growth plan
CanvaC04Market slide uses a placeholder instead of an invented market sizePassed
CanvaC05Revenue chart present with 0.4 / 0.8 / 1.2, drawn to scaleFailedlabels right, bars 136 / 239 / 326 px = 1 : 1.76 : 2.40 instead of 1 : 2 : 3
CanvaC06Use of funds as a chart, 70 / 20 / 10Passeddonut with 70/20/10 labels; segments checked by eye
CanvaC07Both founders and roles right, no invented team membersPassed
CanvaC08No invented quotes, testimonials or customersPassed
CanvaC09The change prompt updates every place EUR 400,000 appearsNot on the tested planCanva AI replied that a premium feature is required
CanvaC10Retitle slide 2 and swap slides 8 and 9 by hand without breaking the layoutPartialthe longer title overflows its box and overlaps the subtitle and body text; swapping slides works
CanvaC11Export to PowerPoint and PDF on the plan used; text editable in the .pptxPassed
CanvaC12Tool branding on exports and share pagesObservationno watermark in PDF or PPTX; Canva logo and 'Create with Canva' on the view page
CanvaC13Share link opens without logging inPassed'Anyone with the link' defaulted to Edit; we set View
CanvaC14Credits usedObservationno counter on the free plan
CanvaC15Time from sending the prompt to a finished deckObservation

Active Intelligence 3.0: Wavelength on a brand-new ActiveCampaign account (hands-on test)

Run 2026-09-30. Method, prompts and raw data: the study page.

ProductCheckWhat we checkedResultWhat we saw
ActiveCampaignT01Ask about past campaigns on an empty accountPassed'It looks like there aren't any campaigns on record for the past 12 months, so I don't have performance data to compare just yet.' Then five general email ideas. No made-up results.
ActiveCampaignT02Build a Brand Kit from our websitePartialVoice and tone, mission and colours (#3b82f6, #93c5fd) match our site. Industry list includes Finance. No logo imported, yet a blue 'N' logo was stored as logo-light.png and appeared in every email it later wrote. Competitors picked: lindy.ai (a tool we review
ActiveCampaignT03Campaign from one of our test pages (run 1)PassedSubject 'One deck added 9 numbers'. Ten figures in the email (0, 1, 3, 9, 14, 15, 28, 2025, 2026, 250,000); all ten are on the source page and none was added. Button links to the right page; our affiliate disclosure carried over correctly. While writing, the c
ActiveCampaignT04Same prompt again, new conversation (run 2)PartialDifferent layout (four stat blocks) and subject 'One AI deck added 9 numbers'. All eight figures are on the source page. One sentence is not: 'Beautiful.ai and Prezi had chart and axis issues too.' Our test recorded Prezi's chart as drawn to scale, and the sam
ActiveCampaignT05Translate the run 2 campaign into DutchPartial'Rewrote 21 blocks, added 1 block': the English campaign was replaced, not kept as a separate language version. Fluent Dutch, 250,000 written the Dutch way as 250.000. Errors: typo in the preheader (deelink for deellink), 'the ask' rendered as 'de vraag' (the
ActiveCampaignT06Generate a header imageFailedIn the campaign chat: 'I couldn't use what I was given for that.' In a new chat: 'I'm not able to generate or create images directly', suggesting DALL-E, Midjourney or Adobe Firefly. The image generator in Email > Content (Content Manager) showed 'This may tak
ActiveCampaignT07Build a welcome automationPassedTrigger 'Contact subscribes to list newsletter signup' (a list it created), email, wait 3 days, email, wait 3 days, email, end. No duplicate steps, every step editable, left inactive. Sender set to our address. Subject of email 1: 'Your 490+ honestly reviewed
ActiveCampaignT08Schedule a daily reportPartialFirst attempt sent only the /schedule-task tag and returned 'A network error occurred'. Second attempt: task 'Daily competitor and account summary', daily 08:00 Europe/Amsterdam, report emailed to us. Its own task text reads 'review g2.com, capterra.com, trust
ActiveCampaignT09Compare the account with industry benchmarksPassedZero sends, so nothing to compare, and it said so. It used the industry 'Computers, Electronics & Technology' from the Brand Kit, not the 'Media / Publishing' we chose at sign-up. The benchmark lookup returned no industry-specific figures; it showed general ra
ActiveCampaignT10Automation health checkPartialFlagged that the automation is inactive and has had no contacts. Did not flag that all three emails still need a postal address, or that no form or import feeds the list it created. Called multi-entry 'appropriate for a welcome series'.
ActiveCampaignX01AI Actions Library in an automationNot on the tested plan'Upgrade to use AI Actions. AI Actions require Activities to use. Get started by upgrading your account, then adding Activities to your plan.' Summarize, Analyze, Translate, Classify intent, Determine sentiment and Build your own action all carry the upgrade m
ActiveCampaigndeliverability and real sendsNot testedlisted as not covered by this test
ActiveCampaigncontent performance with send historyNot testedlisted as not covered by this test
ActiveCampaignStarter and Plus plan limitsNot testedlisted as not covered by this test
ActiveCampaignSMS, WhatsAppNot testedlisted as not covered by this test
ActiveCampaignconnectors, including the ActiveCampaign connector for Claude and ChatGPTNot testedlisted as not covered by this test
ActiveCampaignrepeat runs beyond the campaign promptNot testedlisted as not covered by this test

Hands-on sessions

Written up after a session; we did not score these task by task, so they have no pass or fail. Each review shows the findings in full.

ProductDateWhat we didFindingsWhere
Clonable2026-10-01A fresh WordPress 7.1.2 test site, the Clonable plugin from the WordPress directory and a new free Clonable account. We cloned the site into German, wrote and then changed a page of our own, corrected a translation by hand and connected the6report
Pangram2026-10-01A new free account, with no payment method asked for. We ran nine texts whose authorship we knew before we started: three passages from public-domain books (Darwin and William James), a paragraph one of us typed for the test, typos included8in our review
Synthesia2026-10-01A new free Basic account. We made one 29-second video from a blank template with a stock avatar and our own 99-word script, read the credit meter on the Billing page before and after, then changed one word and generated it again. The same d7in our review
QuillBot2026-10-01A free account, used on QuillBot's AI Detector, AI Humanizer and Paraphraser. We ran the detector over the texts of known authorship we used for our Pangram test the same day: three passages from public-domain books, a paragraph one of us t7in our review
Descript2026-09-30Two sessions on the free plan. On 7 September we ran it by hand: Daan logged in, and we read every counter against a test file of exactly five minutes that we built inside the page; Descript was not a partner of ours then and contributed no14in our review
Ngram2026-09-30A new free account in ngram's v2 studio. We pasted the link to one of our own published reviews (ActiveCampaign) with a one-line brief, asked for 30 seconds, ran the same prompt twice and read the credit meter before and after each run.9in our review
ActiveCampaign2026-09-30On 30 September 2026 we opened a new ActiveCampaign account on the 14-day free trial, which carries the Pro plan's features, and gave Active Intelligence 3.0: Wavelength ten tasks: a brand kit from our website, a campaign from one of our te7report
Beautiful.ai2026-09-28On 28 September 2026 we gave Gamma, Beautiful.ai, Prezi and Canva the same brief for a ten-slide investor deck: eleven facts about a made-up bakery chain and the rule to add no other numbers. We checked every deck against 15 tests written d4report
Gamma2026-09-28On 28 September 2026 we gave Gamma, Beautiful.ai, Prezi and Canva the same brief for a ten-slide investor deck: eleven facts about a made-up bakery chain and the rule to add no other numbers. We checked every deck against 15 tests written d4report
Prezi2026-09-28On 28 September 2026 we gave Gamma, Beautiful.ai, Prezi and Canva the same brief for a ten-slide investor deck: eleven facts about a made-up bakery chain and the rule to add no other numbers. We checked every deck against 15 tests written d4report
Emergent2026-09-26On 26 September 2026 we built the same class-booking web app in Lovable, Replit and Emergent from one identical prompt, each on its free plan, and checked every result against 18 tests we wrote down before the first build. We changed no cod4report
Replit2026-09-26On 26 September 2026 we built the same class-booking web app in Lovable, Replit and Emergent from one identical prompt, each on its free plan, and checked every result against 18 tests we wrote down before the first build. We changed no cod4report
Lovable2026-09-26On 26 September 2026 we built the same class-booking web app in Lovable, Replit and Emergent from one identical prompt, each on its free plan, and checked every result against 18 tests we wrote down before the first build. We changed no cod5report
Jibble2026-09-25We did not stop at the marketing. On 25 September 2026 we opened a free Jibble account (organisation 'AIBM hands-on test', web browser only), clocked in and out, invited a second user, exported a timesheet and opened the upgrade screen with8in our review
Databox2026-09-25We opened a new Databox account through the 'Get started' button under the Free plan on databox.com/pricing, connected Google Analytics 4 and Google Search Console for our own site, asked Genie two questions about that data, let Genie try t7in our review
Bitscale2026-09-11Daan created the free account and logged in; everything after that was read inside the workspace on 11 September 2026 -- the credit screen, the plans and billing screen and the upgrade panel -- alongside Bitscale's own credit documentation.5in our review
Retouch4me2026-09-08Online Retouch (retouch4.me/onlineretouch) on a partner test account holding 300 retouching credits, 10 culling credits and 10 colour credits; one JPEG uploaded, meter read before and after.5in our review
Nextify.ai2026-09-07We did not summarise the marketing. Nextify.ai gave us Pro access for this test — disclosed here and in the video that goes with this review — and nothing else was agreed: no copy approval, and no draft shared before publication. On 7 Septe8in our review
FreshBooks2026-09-07Daan started the 30-day trial; everything after that was measured inside the account. The first question the protocol asked was whether the trial takes a card, because their pricing page does not say. It does not — but the answer is on the 6in our review
Glide2026-09-07We already knew from their pricing pages that Glide sells two products. What we had never done is the thing a reader does: go to glideapps.com and press the free signup button. Daan created the account; everything after that was measured in5in our review
Capsule2026-09-07We ran the import ourselves instead of summarising Capsule's help pages. Daan created the account; everything after that was measured in the product. We built a deliberately messy CSV — 24 rows, one row repeated with a different job title a6in our review
involve.me2026-09-07We ran the free plan ourselves rather than describing the paid tiers from the pricing page. Daan created the account; everything after that was measured in the product — funnels built and published one by one until the walls appeared, with 8in our review
BrowserAct2026-09-04Historical test data: these are measurements from 4 September 2026, at that day's free allowance and meters, not today's Free plan or the standard cost of every Bot. We ran the reproducible test BrowserAct's own partner team proposed, on a 7in our review
PartnerStack2026-08-26We did not read the docs and summarise them: PartnerStack is the platform our own affiliate operation runs on. We manage 58 partner programmes through it, pull the Partner API v2 on a schedule, and stamp sub-IDs across 704 pages of our own 6in our review
Cloro2026-08-19We did not just read the docs: we ran 40 pricing queries across 20 tools and two engines through the async batch endpoint for a research report of our own, then spent a further handful of credits measuring what individual requests actually 6in our review

Some tested products are affiliate partners; each study states the relationship at test time. Results are what we saw in one run, not a ranking.