MATIALroad-signage workshopBuenos Aires

2nd contractsigned by the same client 72 days after the first one

Every van, at its stage.

Google 4.8, 13 reviewsWhere it ismatial.com.ar

How it was before

I met Javier delivering an order to his workshop: back then I drove a van and dropped off goods. We got talking and I left him a card. MATIAL is in Buenos Aires: it fits out highway service vans with light arrows, roof bars and vinyl wraps, and sells road signage.

They worked off Excel spreadsheets, WhatsApp, a notebook and paper delivery notes, and a quote could take them several hours to put together. The state of each van lived in Javier’s head, so finding out where one stood meant asking someone. Labor hours were added up by hand.

What I built

Eleven sections on the workshop’s own database: numbered quotes with VAT and a PDF on letterhead; delivery notes, the slip that goes out with the goods, checked against the quote; work orders split into stages with a checklist and photos; and stock deducted when a job is delivered. It holds 1,000 suppliers, 136 quotes and 113 delivery notes, and a parser pulled 540 labor hours out of 89 handwritten job sheets. Fifteen days in they were already working with the first part, one section a week after that. The bot he mentioned the first day is the third contract, which is not written yet.

Plain HTML, CSS and JavaScript in one file, no framework and no build step · multi-tenant Firestore with security rules · Vercel · CSP, HSTS and an append-only audit log

The interface is in Spanish today. Which language it ships in is set per build.

The workshop board: what is on the floor and what ships this week. The vans, clients and amounts are made up.
The workshop board: what is on the floor and what ships this week. The vans, clients and amounts are made up.

The decisions, and why

  1. Before writing a line of code, I put fifty-odd questions in front of them.

    I wanted to understand how they already worked before deciding anything. A custom system has to fit what the workshop already does. If the person using it has to learn everything from scratch, they open it for a week and go back to the notebook.

  2. The “Copy van” button shipped the day Javier asked for it.

    One Monday a van came in configured like another one and he asked whether he could copy it. That is how a custom system stays useful: the person using it asks, and the change goes out.

  3. Sending the order to the supplier stays manual, on purpose.

    The supplier contract requires it. Automating it would have looked better in a demo and broken a signed agreement.

  4. Every data import writes a report first and touches the database second.

    The supplier codes came from the client’s own spreadsheet, 1,002 rows of it. Because the report comes first, 75 codes reached production without overwriting one, and a 93% cost difference on a part turned up.

A work order split into stages, with its checklist.
A work order split into stages, with its checklist.

Before and after

BeforeAfter
A quote, several hours of workMinutes
Quotes on loose paperNumbered, with VAT and a PDF
Van status in one headStages with a checklist and photos
Stock by eyeDeducted on delivery
Labor hours added up by hand540 hours read from the job sheets
A quote. Approved, it becomes a work order.
A quote. Approved, it becomes a work order.

No quote from Javier yet, so this is me telling it, paraphrased: he could not believe it existed when he saw it running, and what each client owes him is in there now. He signed the second contract himself.

The system, running

No sound, with subtitles and made-up data.

Where it is

MATIAL

Domingo French 75, Buenos Aires

4.8 on Google · 13 reviews

See the listing on Google Maps

Email me about a system like this, or about a role

I quote a custom system within 24 hours. If you are hiring, my resume is one page.

WhatsApp: +54 9 11 2469-3394

Next case: Oro GymBack to all five