Product · the widget

The part of Quotometry your customers actually touch

Two lines of HTML put a complete quoting flow on your page: drag a file in, see it in 3D, pick the options you offer, watch the price update, and check out or send an enquiry. It looks like your site because it takes your colours, your corner radii and, if you set it, your font.

Upload

Files, at the size real parts come in

Formats and sizes

STL, OBJ, 3MF, AMF, PLY and glTF today; STEP on plans that include CAD upload; DXF and SVG drawings when the widget offers laser, waterjet or plasma cutting - and any other CAD file uploaded now is named as one, with the export to make instead, rather than refused as unrecognised. Large files upload in parts and resume, because a large assembly over a phone connection should not start again because a lift got in the way.

Units, sorted out

STL does not record its units, so a part can arrive 25.4× too small. Quotometry guesses the unit from the part’s size and shows the buyer every dimension, in millimetres or inches, before the price. Letting the buyer correct a wrong guess is not built yet.

Assemblies

A file with several objects, such as a 3MF from a slicer, becomes several parts, each analysed and priced on its own, and each one visible in the viewer. One upload, one quote, several line items.

Broken meshes

Flipped normals, duplicate triangles and small holes are repaired where they can be. Where they cannot, the buyer is told what is wrong with their file in language they can act on.

See

A viewer, not a thumbnail

The part renders in WebGL with no framework behind it, and the bundle is only fetched when there is something to show. Buyers can rotate it, see the orientation it will be made in, and switch on the wall-thickness heat map that shows exactly where the part is too thin for the process they picked - the same measurement the DFM check uses, in colour.

When a part cannot be rendered at all, the widget still quotes it. A viewer failure is never a quoting failure.

Configure

Only the choices you decided to offer

Materials, colours, qualities, infill, finishes, lead times, custom fields - the widget renders the option schema your published configuration produces. You do not write a form; you publish a configuration and the form follows it, including which options are incompatible with which.

Every change re-prices from geometry that has already been measured, so it is instant. Nothing is uploaded twice and nothing is recomputed that has not changed.

Fit in

It behaves on someone else’s page

Shadow DOM

Your stylesheet cannot leak into it and its stylesheet cannot leak into you. It brings its own typeface, Inter, and takes yours when you set one.

Theming by variable

Primary colour, radius, density and the rest are CSS custom properties. Set them in your own stylesheet, or in the widget editor with a live preview.

Events, not surprises

quotometry:* custom events at the steps that matter - price changed, quote saved, request sent, added to cart, order placed - so your analytics or your cart can listen without us knowing about them.

It never throws into your page

An error inside the widget is shown inside the widget, with a way to try again. Your page keeps working.

Origins you list

A widget key answers the pages you name and nobody else’s. Test keys and live keys are different keys, so a staging site cannot spend your quota.

A size budget

The loader is tiny and pulls the real bundle in only when a quoting element is on the page. The budget is enforced in CI, not aspirational.

No website?

A hosted quoting page, or a whole website

Switch it on and you get a full quoting page in your colours at a link you can put in an e-mail signature, a Facebook post or a QR code on the shop door. It is the same widget, hosted by us. Every shop also gets a website built around the widget, which can answer on your own domain on the plans that include one.

Or install it in WordPress, Shopify, Wix or Webflow →

See it on a real page

The live demo is a whole sample shop - and the sample part is already loaded.