Use casesProduct manager / Designer

Working prototypes and user testing for product managers and designers.

Test a journey where the price is recalculated with every choice and every answer lands in a collection. You change it between two sessions without waiting for the engineering team to free up, starting from a description or from your imported screens.

Updated on

Demo: Lumen Stores, a fictional maker of made-to-measure awnings and blinds in Toulouse, and the configurator its product manager is putting to the test, built with Kubbler.

Named sections

The home page's tree: each line names a section (the story, the three products, the steps from measuring to fitting, the questions) with its component on the right.

A price tied to the rule

In the page being edited, the rule's sentence shows its variables (perSqm, motorPrice, depositPercent): the home page reads the rule from the database rather than copying figures.

Read the rule, recompute it

The configurator block reads the rule through the getRule route and sends the order through checkout, which redoes the sum on the server before writing to the configurations collection.

The rule, on the home page

The published home page spells out rule v3 (€180 per m², +€190 for the motor, +12% for blackout fabric) and prices a 400 x 300 cm awning, ecru fabric, hand crank: €2,160.

Lumen Stores, a demo built with Kubbler.

Lumen Stores makes and fits made-to-measure awnings, roller shutters and indoor blinds from its Gabardie workshop in Toulouse. Its product manager, Claire Fabre, is testing a configurator there before handing it to an agency: the price follows every measurement and option, and a 30% deposit is paid by card.

3 products, 5 colours, size limits per product (awnings 150 to 600 cm wide)

A rule in 4 values: price per m², motor, blackout surcharge, deposit

4 versions of the rule, from €160 to €180 per m², each kept with its configurations

Lumen Stores, Claire Fabre and the testers are fictional, the configurations are demonstration data and the deposit goes through Stripe in test mode.

The whole site, page by page

Each thumbnail is a complete page of the demo, as a visitor sees it. On a computer, hover one to scroll through it.

/
/configurateur
/confirmation
/configurations
/regle-de-prix

A test session, followed from Kubbler.

What your tester has in front of them, and what Kubbler shows you of it at the same moment: no more piecing the session together from your notes.

The tester enters their measurements

The tester's screen

Awning, 450 cm wide with a 270 cm projection, set with sliders. The scale drawing follows along, and the panel on the right already prices the fabric: 450 x 270 cm at €180 per m², €2,187.

The home page, in the Workshop

What you see

You see the page tree on the left and the page on the right, with the expressions that tie it to the data. Between two sessions, a heading, a photo or a FAQ answer gets reworked here, in Dev.

They read the sum, line by line

The tester's screen

Brick blackout fabric, radio motor: €2,187 of fabric, €262 for the blackout option, €190 for the motor, €2,639 in total. The tester reacts to that price, no longer to a mock-up stuck at €640.

The pricing rule, in four fields

What you see

Price per m², motor, blackout surcharge, deposit: Claire Fabre takes the m² from €180 to €165 and sees the effect on four sample configurations before publishing. Version 4 brings the 400 x 300 cm awning to €1,980 instead of €2,160.

Contact details, then the deposit

The tester's screen

Camille Roques, Toulouse, 31500: the postcode is for the home measuring visit, in Haute-Garonne and the neighbouring departments. "Payer l'acompte de 792 €" pays 30% by card, and the €1,847 balance is due on fitting day.

One configuration, one version

What you see

The configuration goes into the configurations collection: LS reference, measurements, area, fabric, colour, motor, price, deposit, payment status and ruleVersion, the number of the rule that priced it. In production, the table can be read but not changed.

Screenshots: Lumen Stores, the configurator of a fictional Toulouse manufacturer built with Kubbler, demonstration configurations, deposit in Stripe test mode.

What you see

Every configuration that comes in carries the number of the rule that priced it.

Between two sessions, Claire Fabre publishes a new version of the rule; the next tester sees the new price, and their configuration lands at the top of this table with that number. In one week, three versions (€160, €170, then €180 per m²) each received their configurations, and the screen sets them side by side. The server recomputes every price with the rule in force: the amount shown in the browser does not decide what is charged.

21 configurations in

At the top: 21 configurations, 13 deposits paid, €7,101 collected in deposits, an average basket of €1,540.

Versions compared

Version 3, in force at €180 per m², has 10 configurations and a €1,562 average basket; v2 has 8 at €1,622, v1 has 3 at €1,248.

Signed v3, deposit paid

Olivier Gaubert, in Pibrac: a 160 x 240 cm indoor blind at €964, a €289 deposit paid, and the v3 tag at the end of the row.

What is in place before the first session, what you change in between.

For a tester to open your journey from home, it needs hosting, a database and a compliant cookie banner. They are already there: your preparation is about the journey.

Our part

What appears in none of your tickets, and still has to work from the first session.

One database to tune, one to test

You tune the journey in the preview, which has its own database. Testers' answers land in the live database, which Kubbler shows read-only.

A link to send

Published over HTTPS from OVHcloud servers in France, the journey writes to a database that belongs to your project alone, backed up automatically.

Testers' consent

The cookie banner refuses everything by default, then applies the tester's choice on every screen of the journey.

Your part

What the sessions teach you, and what you fix before the next one.

The pricing rule

Base rate, per-option supplement, cap: the values in the calculation change in the Workshop, and the next session tests the new version.

Steps and labels

One question fewer, a shorter label, a block moved: you do it in the Preview, or ask the AI for it.

Your design

Your colours and typefaces in the brand kit, or your screens imported from an HTML file, a .zip or Figma.

Humans structure. AI interprets.Read our approach

The tester changes an option, the price on screen stays put.

You are preparing five test sessions on a new subscription journey. In the prototype, the price stays the one you drew, whatever the tester picks, and the fields accept no input. So you ask them to imagine the rest, and what you observe becomes their reaction to a mock-up.

Getting that price to compute takes a developer, and the team is booked until next quarter. A no-code prototyping tool can wire up a formula, at the cost of one more tool to learn and a journey engineering will rebuild anyway. An agency can do it, on a quote, for a journey that will change after the first session. Tools that generate an app with AI give you a journey that computes on the first evening, but nobody can say where the testers' answers go, or what the engineering team will be able to reuse.

In Kubbler, the journey is an application: the steps are real screens, the pricing rule is a computed value you read and change in the Workshop, and every answer is saved in a collection in your project. Between two sessions, the new rule is tried in the preview before being republished for the next tester. When engineering picks it up, they open the same project and read the same rules there.

What it costs

€29excl. VAT a month, the Starter plan

One project and 500 sparks a month, the budget that pays for AI generations. Packs can be added if you need more.

Hobby hosting, a kubbler.app address€5 / month
Essential hosting, your own domain€15 / month

With your own domain: €44 excl. VAT a month.

No commitment. The domain name itself is paid separately.

See all prices

What to have ready

The journey to test, step by step, with what the tester enters at each one.

The pricing rule, even a rough one: a starting amount, then each choice that raises or lowers it.

The questions each session needs to settle, and what you will compare from one version to the next.

Your screens as an HTML file or in Figma, if you are starting from an existing design.

Realistic content (real labels, long copy, edge cases) to put the layout to the test.

Nothing else: no specification, no mock-up.

The questions we get asked.

Including the ones where the answer is "not yet".

Run your next test session on a journey that calculates.

You start from a description of the journey or from your imported screens. You reread each step and its pricing rule, then send the link to your testers.

Talk to someone