Morris Solutions
In progress2026

A visualisation tool that closes the gap between "let me think about it" and a deposit

A bespoke tailor's hardest moment is asking someone to commit to a suit they cannot yet see.

The problem

A walk-in customer at an independent tailor is asked to put down a deposit on a garment that does not exist yet, chosen from fabric swatches and a description. Plenty of people say they will think about it, and a good share of those never come back.

The tailor’s problem is not craft or price. It is that the customer cannot picture the result.

What it does

The tailor photographs the customer, selects fabric, lapel, cut and colour, and gets back an image of that customer wearing the finished suit. It is sold as a sales conversion tool for independent shops, not as an AI novelty.

How it’s built

A single-page interface, a serverless function, and a metering layer. The function is the only trusted surface: it authenticates the shop, checks its usage for the billing cycle, calls the image model, and records a usage event.

Customer photographs are transient. They pass through the function and are never written to storage.

The decision that mattered

Usage is recorded only after the model returns successfully, and the count is derived by query rather than kept in a counter column.

Both halves matter. A counter drifts, and the first disputed invoice is then unanswerable. And billing for a generation that failed is the fastest way to lose a shop that is paying monthly for something it barely trusts yet.

Metering also lives entirely server-side. A count kept in the browser is clearable, and per-image charges resting on it are uncollectable.

The problem that shapes everything

Generative models idealise faces and bodies — beards thicken, shoulders broaden, waists slim. That is fatal here: the failure mode that kills this product is a customer saying that doesn’t look like me.

It is mitigated with explicit priority ordering and named negative instructions, and the identity-fidelity setting cannot be quietly switched off by editing a prompt. But mitigation is not a fix, and the honest position is that regeneration is structurally prone to it.

Outcome

The generator is built and deployed. The metering backend is specified but not yet live, and no pilot shop has run it in anger, so the question the whole product rests on — does seeing the suit actually move someone to a deposit — is still unanswered.

That is deliberately the next thing to find out, before any more is built on top of it.

Built with
Single-file HTMLNetlify FunctionsSupabaseImage generation API

Want something like this for your business?

Tell me how this works for you today and where it gets stuck.