Case study · Equipment map

Every machine on one live map, and its whole story one tap away.

The same operator tracked its fleet on a shared online map and a pile of spreadsheets. We turned that into a multi-user system where each pin knows its readings, its inspections and its last service visit.

Client name withheld. For security and commercial confidentiality we do not name the operator or show its map, because the map is the location of every machine it owns. Everything below describes the system as it runs in production today.

98%of service addresses matched to their map pin automatically: 280 of 285
1,947service visits brought onto the map in one import, with zero duplicates on every run after
2×automatic data refreshes a week, before the working day starts
48separate permissions, editable per role by the client's own admin
Client
A leading company in its category; name withheld
Industry
Drinking-water vending and water treatment
Who uses it
Field technicians, office staff, administrators
Languages
Azerbaijani, Russian and English, editable in the app
Delivered
Built in September 2025, extended ever since

The starting point: a map nobody could share properly

The operator's fleet of vending and purification units was plotted on a free online map, while each machine's technical readings (water quality, membrane condition, which filter stages it carried) lived in spreadsheets. Knowing a machine meant opening two things and hoping they agreed.

Our first answer, in mid-2025, was deliberately small: a one-page map that proved the idea in days. It also showed its limit quickly. The pins lived in one browser, sharing them meant passing a file around, and one password opened everything. The idea was right. It needed to become a system.

A pin should not just say where a machine is. It should say how it is doing.

What we built

  1. One map for the whole fleet, fast at any zoom

    Every machine is a pin, coloured by category and grouped into clusters when you zoom out. The map loads only what is on screen, so it stays quick on a technician's phone. A "locate me" button finds the nearest machines in the field, and a pin that was placed a few metres off can simply be dragged to where the machine really stands.

  2. A pin that carries the machine's record

    Type an equipment code and the pin fills in its technical data from the imported equipment register, updated in bulk from the client's own Excel files. Administrators define any extra fields they need (eleven types, including photos and documents) without asking for a developer. Open a pin and you see the machine, its latest service visit and its three most recent inspections in one place.

  3. Service history that arrives by itself

    Twice a week, early in the morning, the map pulls every completed visit from the operator's field service system and files it under the right machine. Each visit is recognised by its own ID, so running the import again changes nothing unless the data did: a visit can never be counted twice.

    Addresses that do not match a pin are listed for the office rather than silently dropped. The screen even warns about Cyrillic and Latin letters that look identical, because two of the only five mismatches in the fleet turned out to be exactly that. The client chooses which service columns appear on the map, labelled in all three languages.

    The scheduled service import card
    The service import runs on Monday and Thursday at 06:00 and reports how many visits it brought in or left unchanged.
    Unmatched-address report with look-alike letter warning
    Addresses that matched no pin, each with its closest pin and a warning about look-alike Cyrillic and Latin letters. Operators and addresses blurred.
  4. Inspections from the pin itself

    A technician standing at a machine opens its pin and records an inspection against the client's own checklist, rating the machine as OK, needs attention or critical, with a note. An honest mistake can be withdrawn within fifteen minutes; after that it is part of the record. A split view shows every machine on one side and its full inspection history on the other.

  5. Search that speaks water treatment

    Beyond search by address, code and category, the filters are built for this trade: find every machine within a range of water-quality or membrane readings, or every machine that carries a particular filter stage, ozonator or UV lamp. Any filtered view exports to CSV or JSON.

  6. Control without bottlenecks

    Five roles from technician to super-administrator, with 48 individual permissions the client's administrator can rearrange from a screen, and a rank rule that stops anyone editing an account above their own. New pins can go through moderation before they appear. Every administrative action is written to an audit log, and backups can be taken and downloaded from inside the app.

    Role-permission grid with five roles
    The role-permission grid the client's own administrator edits: five roles, one row per permission.

What changed

AreaBeforeNow
Where machines areA shared online map plus a file passed aroundOne multi-user map, with roles and moderation
Machine dataSpreadsheets opened beside the mapOn the pin, filled in from the equipment code
Service historyCopied between sheets by handImported automatically twice a week, never duplicated
InspectionsNot recorded in a searchable wayA checklist on the pin, with full history per machine
Who can do whatOne password for everythingFive roles and 48 permissions, and a log of every admin action

Engineered to change safely

This system has grown with the business for a year, so it was built to take changes without drama. The service-data feed began life reading a shared online spreadsheet. When the field service system came online in 2026, we switched the map over to it directly and removed the old dependency altogether, which cut the application's third-party code by more than two thirds. Every database change was proven reversible before it reached production, a backup was taken before every step that could not be undone, and 90 automated tests guard the data feed between the two systems, the inspections and the permissions.

The other half of the story Nearly 300 machines, two visits a week each, and not one spreadsheet

Is your equipment scattered across a map and a spreadsheet?

Vending machines, meters, antennas, kiosks, pumps: if what you look after stands at an address, the same approach applies. We build it around your data and your people, then keep it running.