Skip to content
Case Study

DMG

The system a paintless dent repair company works in: every dent on every panel, priced as it is counted.

How the Dent Master Global estimating app is used on the phone: the vehicle, and every panel with its own price
61Screens built 17Panels on every car 4Pricing matrices 5Languages
What We Built

The dents, the price, the paperwork, and the shop it belongs to.

The estimate

Seventeen body panels, from the hood to the cowl. On each one the technician counts dents in three severity classes, and separately the technical ones, which are priced apart. Then says what the panel needs: pulled, painted, replaced, or left alone. Aluminium carries its own coefficient, because it does not behave like steel.

The pricing

Four kinds of matrix, each configurable per company: hail and remove-and-install, and their French counterparts. Over them, twenty kinds of add-on — glue pull, limited access, laminated glass, heat induction — each set as a fixed sum or as a percentage.

The paperwork

Estimates and invoices numbered per company and per year, each from its own counter, in a single indivisible write. The estimate leaves as a PDF built from scratch, with the damaged car in it, and goes to the client by e-mail.

The company

Four roles, and permissions kept in the database rather than in code — rebuilt into abilities on every single request. Fourteen of the thirty tables carry the company that owns the row, so one shop’s work never reaches another’s.

How It Works

From a tap on a panel to a document the client receives.

  1. 1

    The car is drawn, not described

    The technician opens the shape of the vehicle in front of them — sedan, SUV, wagon, van or pickup — and taps the panel they are looking at. The panel takes the colour of what it needs, and the count goes in where it happened.

  2. 2

    The price follows the count

    Every dent typed re-runs the whole calculation: the panel’s own difficulty, the severity of the dent, the metal it is made of, and whether it will be painted after. Nobody looks anything up.

  3. 3

    The estimate leaves as a document

    The numbers become a PDF with the car drawn into it, numbered from the company’s own counter, and sent to the client. The same figures become the invoice, without being typed again.

The technician counts dents on a picture of the car, and the price is already there.

Built With

One process, one database, and nothing else to keep running.

Interface

Sixty-one screens: the estimates, the matrices, the invoices and the settings a shop keeps for itself, in one application.

  • TypeScript
  • Next.js 15
  • React 19
  • Tailwind CSS
  • TanStack Query

Server

One process, twenty-five modules, and an API that describes itself — so the screens and the server never drift apart.

  • NestJS 11
  • Prisma
  • Swagger / OpenAPI
  • CASL

Data

Thirty tables for the work itself, and object storage for the photographs and the documents that hang off an estimate.

  • PostgreSQL
  • MinIO

Delivery

Every part builds into its own image, and the finished estimate leaves the building as a PDF attached to an e-mail.

  • Docker
  • GitLab CI
  • Mailgun
  • pdfmake
The Hard Parts

The difficult parts are the car, the coefficients, and the cents.

A car you can tap

Five vehicle shapes, and on each one every panel is its own region: tap it and it takes the colour of what it needs — pulled, painted, replaced, untouched. Around five thousand lines of it, because a technician standing next to a car will not read a list of panel names.

Dents turned into time

The French way of pricing hail does not count money, it counts time: a band of dents becomes a number of time units, sixty to the hour. Then four coefficients multiply — how hard that panel is, how deep the dent, whether the metal is aluminium, whether it will be painted. The engine reads the bands from a matrix the shop can edit itself.

Money that never rounds

Every amount is held as a whole number of cents, on both sides of the wire, and only turned into money when it is shown. There is no decimal column anywhere in the database — the kind of decision that costs an afternoon once and never costs anything again.

On The Phone

The estimate is made where the car is.

A hail estimate is not written at a desk. The technician walks around the car with the phone he already carries, opens the vehicle, and taps the panel in front of him. The same numbers that go in there are the ones that leave as the estimate.

The Build

Delivered, and counted.

Twenty-two months, from June 2024 to April 2026. Eight people appear in the history; five carried it.

730Hours of development

Twenty-two months of work, delivered.

Get In Touch

Have a project idea? Write down a quote!

Got a project? Drop us a line if you want to work together on something exciting. Or do you need our help? Feel free to contact us.