Custom orthopedic and rehabilitation devices · Switzerland

3D product configurator in the browser

ORTHO-TEAM Gruppe develops and manufactures custom orthopedic and rehabilitation devices and serves patients through a network of specialist centers. What they asked for was an application: at ortho-team.ch/konfigurator a person picks the color and appearance of a device, judges the configuration in 3D in the browser, and exports it as a PDF. Angular and Three.js in front, Nest.js and PostgreSQL behind, an admin panel for the catalog — three weeks of development.

Product engineering3DAngular
The ORTHO-TEAM Gruppe home page as it ships today The ORTHO-TEAM Gruppe home page on a phone

At a glance

The project in one screen

Client
ORTHO-TEAM Gruppe
Industry
Custom orthopedic and rehabilitation devices
Location
Switzerland
Services
3D configurator built as a standalone mini-application inside the existing site
Timeline
3 weeks
Platform
Angular, Three.js, Nest.js, PostgreSQL
Headline result
Admin panel for models and colors, PDF export of every configuration
AngularThree.jsNest.jsPostgreSQLDynamic 3D model loadingCustom admin panelPDF export

The starting point

Choosing how a visible device will look, before it exists

An orthosis is a visible object worn on the body, often for a long time, and how it looks matters to the person wearing it. ORTHO-TEAM asked for a tool that puts that choice on screen: pick the color and the appearance of the device, judge the configuration in 3D, and leave with a document that records it. It had to sit inside the existing site as a self-contained mini-application.

  • Render the manufacturer's own product in 3D inside an ordinary browser tab, with the chosen color applied to the model.
  • Let the catalog grow with new models and color variants without a developer in the loop.
  • Give the client, the manager and production one document that records what was chosen.
  • Deliver it as a self-contained mini-application embedded in the existing ortho-team.ch site.

What we built

The engineering behind it

01

A manager publishes a new model without filing a ticket

A manager uploads a new 3D model, manages its color variants and updates the catalog, and the new entry appears on the front end automatically, with no developer in the loop. Behind that panel, Nest.js and PostgreSQL hold the catalog itself: products, 3D models, color variants and their parameters.

02

Three.js renders the product in the browser, with nothing to install

The visualization runs on Three.js, which is what makes the 3D models behave smoothly inside an ordinary page. The client supplied 3D files of the products together with their color variants, and we built dynamic loading for the models and their parameters, so a product and its options come in when they are needed. Looking at the device in 3D and switching a color both happen in the browser, with no plugin and no download.

03

PDF export as the handoff between three people

A configuration is only useful once it leaves the screen. The export saves the chosen setup as a PDF, and that same document is what the client, the manager and production all work from. Simplifying that communication down the chain is what the export was asked for.

04

A separate mini-application, embedded in the existing site

The configurator was built as its own Angular application with its own catalog and its own admin, embedded in the client's site at /konfigurator/. The main site keeps its structure and its content; the tool can be extended on its own terms.

Design and devices

Making a 3D model legible to a patient

The brief was narrow: choose the appearance, judge it in 3D, take the result away as a PDF. That put the work on legibility rather than styling. The person at the screen is judging something they may wear in public for months, and they have no CAD habits to fall back on, so the model has to read as the device itself at a glance. The interface is built around the product, with the catalog and the color options arranged around it and the export sitting at the end of the flow.

  • The chosen color is applied to the product's own 3D geometry, so the swatch and the device on screen are the same object.
  • The catalog and the 3D view live in one mini-application, so picking a product and looking at it happen in the same place.
  • The flow ends on the PDF export, because that file is the artifact the client, the manager and production all work from.
  • New models and color variants arrive through the admin panel, so the layout had to hold a catalog that keeps growing after handover.
ORTHO-TEAM Gruppe on a phone screen

Where it sits

The ORTHO-TEAM configurator page header
The configurator opens inside the client's own site, under their navigation
The bottom of the ORTHO-TEAM configurator page with the site footer
The foot of the configurator page: the client's own footer, memberships and booking contact carry on below the tool

What came of it

Results

Every figure here describes delivery: what shipped, how long it took, and what the client can do now without us. The second one is the one that keeps paying, because it removes a recurring internal cost rather than a one‑off task. Performance evidence for a configurator has to be measured after launch — configuration starts, completed configurations, PDF exports — and that instrumentation is a scope item we price in time before the build starts.

3 weeks

Implementation time for the configuratorFront end, API, database and admin panel in one project.

No developer

Needed to publish a new model or colorA manager uploads it in the admin panel and the front end picks it up automatically.

In the browser

Where a customer sees the device in 3DThree.js renders the model in an ordinary tab, with no plugin and no download.

1 PDF

Shared by client, manager and productionThe configuration leaves the browser as a file everyone in the chain can open.

Where AI assistants fit here

Assistants are largely irrelevant to this build, and the honest answer is to say so. ChatGPT, Perplexity and AI Overviews answer from text they can read, and a 3D scene that holds its state in JavaScript gives them nothing to quote. The configurator was commissioned as a tool for people already on ortho-team.ch, and the scope stopped there. Making the products findable by an assistant is a separate job, and it changes how the pages around the tool are built.

How we ran it

The work plan, in order

Every project runs on a written plan. This is how this one ran.

  1. 01

    Asset intake

    We go through the 3D files the manufacturer already has: geometry, materials, how the color variants are separated, what actually needs to be interactive. ORTHO-TEAM supplied product models together with their color options, so this stage was a review of existing assets.

  2. 02

    Data model and API

    The catalog becomes structured data in PostgreSQL: products, models, color variants, parameters. Nest.js exposes it. From this point the configurator has no hardcoded product list, which is the precondition for the client running the catalog without us.

  3. 03

    The 3D scene

    A Three.js viewer inside the Angular application: dynamic loading of models and their parameters, camera and lighting setup, live color switching on the loaded geometry.

  4. 04

    Admin panel

    Upload a model, manage its color variants, update the catalog. New entries surface on the front end automatically, with no developer involved.

  5. 05

    Export, embed and handover

    PDF generation for the finished configuration, embedding the application into the live site at its own URL, and a walkthrough with the people who will maintain the catalog.

  6. 06

    What we would measure next

    Performance evidence for a configurator has to be measured after launch: configuration starts, completed configurations, PDF exports. That instrumentation is a scope item we price in time before the build starts. It was not part of this one, which is why no usage figures appear on this page.

Straight answers

Questions about this build

Yours is probably close to one of these. If not, ask it directly.

Ask about your project
Can our own team add products, or does every new model come back to you?
Your team adds them. The admin panel we built for ORTHO-TEAM lets a manager upload a new 3D model, manage its color variants and update the catalog. The new model shows up on the front end automatically, without a developer.
What do you need from us before the build can start?
3D files of the products and a clear picture of the appearance options: which colors, which finishes, which parts of the product each one applies to. ORTHO-TEAM supplied 3D files with product visualization and color variants before the build. If your models do not exist yet, or live only in a manufacturing format, that preparation is a separate stage and we will say so at the estimate.
Will a configurator help us get found in search, or get recommended by ChatGPT and Perplexity?
By itself, no. A configurator holds its state in JavaScript, so a crawler or an assistant reading the page sees a tool rather than an answer. Search and AI‑assistant visibility were outside the scope for ORTHO-TEAM; the tool was built to serve people already on the site. When visibility is in scope we handle it separately, on server-rendered product pages that carry specifications, materials and fitting information as plain text, with the configurator sitting behind them as the interactive layer.
Did you create the 3D models?
No. The 3D models and their color variants came from ORTHO-TEAM. We built the loading, rendering, catalog and export around them; we did not create the product geometry. The three-week window covers the configurator itself and not the client's own asset preparation.

Same team, same method

Your project, next

Tell us what you sell and where you sell it. You get a plan like the one above, with the first step priced out and dated before anything starts.

No spam 100% confidential Answer within 24 hours