Убер для спецтехники: Как мы автоматизировали аренду кранов и экскаваторов (и безжалостно выпилили диспетчера).
☰ Содержание:
Экспозиция: Добро пожаловать в цифровой ад 90-х
Когда к нам пришел заказчик с идеей "сделать убер для спецтехники", мой мозг мгновенно выдал разряд электричества. Идея звучала сексуально, как свежий 0-day эксплойт: объединить владельцев тяжелой машины (от 50-тонных автокранов Liebherr до гусеничных экскаваторов) с прорабами и строительными компаниями. Нас ждала настоящая уберизация B2B сектора.
Мы погрузились в предметную область, и мои глаза налились кровью от увиденного. Знакомьтесь, "Диспетчер Петрович" — альфа и омега старого процесса. Вся маршрутизация, весь скоринг, все сделки держались на его помятой тетрадке в клеточку и трех мобильниках, которые звонили одновременно.
- Прораб орет: "Мне нужен экскаватор на завтра в Мытищи, срочно!"
- Петрович звонит Васе: "Вась, поедешь?"
- Вася: "Не, я на ремонте/в запое/работаю налево".
- Петрович звонит Пете. Петя готов, но у него гидромолот, а нужен ковш.
Итог? Простой техники, потери миллионов на ровном месте, откаты, "левые" рейсы мимо кассы и нулевая аналитика. Бизнес был слеп, как крот в бетонной стене. Мои руки сжимались в кулаки. Я чувствовал этот жар риска и пульсирующий азарт: разработка B2B маркетплейса должна была взять этот хаос, оцифровать его и прогнать через жесткие алгоритмы. Перед нами стоял конкретный вызов: как автоматизировать работу диспетчера, убив саму эту профессию и заменив ее хладнокровным кодом.
Нарастание действия: Архитектура, или Как не написать очередной кусок легаси
Мы сразу договорились: никакого PHP с монолитной лапшой. Эта система должна держать гео-запросы в реальном времени, обрабатывать IoT-телематику с бортовых компьютеров тракторов и биллить миллионные транзакции. Грамотная архитектура B2B маркетплейса здесь — вопрос жизни и смерти продукта.
Мои пальцы запорхали по клавиатуре. Мы выбрали разработку микросервисов на Go (Golang) для критически важных высоконагруженных узлов (матчинг, гео-трекинг) и Node.js для API бизнес-логики и фронта.
Базы данных: Разделяй и властвуй
В качестве основного хранилища мы взяли PostgreSQL. Но фишка была не в простых таблицах. Для такого маркетплейса спецтехники критически важна гео-локация. Мы накатили расширение PostGIS. Это позволило нам делать пространственные запросы PostGIS (Spatial Queries) с сумасшедшей скоростью.
Когда прораб ищет кран, нам нужно не просто найти свободный кран. Нам нужно найти кран с правильной грузоподъемностью, вылетом стрелы, нужным навесным оборудованием, который физически находится в радиусе 15 километров от стройки, чтобы стоимость "перебазировки" (доставки) не сожрала маржу.
Для кэширования сессий, стейтов заказов и хранения WebSocket-соединений мы развернули кластер Redis. Электричество идей прошибало мою нервную систему каждый раз, когда мы оптимизировали pub/sub каналы Redis, чтобы фронтенд получал координаты техники с задержкой менее 50 миллисекунд.
Кульминация: Алгоритм скоринга и мозги системы
Наш алгоритм скоринга маркетплейса стал сердцем платформы. Мой мозг пылал, собирая эти эвристики в единый пайплайн с элементами графовых нейронных сетей (GNN).
Как работает наш Matchmaker Engine:
Hard Filters (Жесткие фильтры): Отсекают то, что физически не подходит. Геозона, спецификации, доступность по календарю.
Soft Filters & Scoring (Мягкие фильтры): Наша гордость — система скоринга водителей спецтехники.
- Рейтинг исполнителя (отзывы).
- Процент отказов (пессимизация за срывы).
- Амортизационный индекс (выгодно ли гнать махину на 100 км).
Smart Bidding (Умное ценообразование): Алгоритм динамически рассчитывает стоимость доставки (трала), стоимость ГСМ и работу машиниста, выдавая смету.
Мы интегрировали данные с внешних API (привет, AENOS!). Подключили базы по пробкам, погодным условиям и реестры юрлиц (API Контур.Фокус). Долги по налогам? Смарт-контракт требует 100% предоплату через эскроу-счет.
Интеграция IoT телематики: Жесткий контроль
Техника в B2B стоит десятки миллионов рублей. Мужики хотели хардкора и контроля.
Мы пошли вглубь: на платформе реализована обработка данных CAN-шины и OBD2-трекеров. Мы написали TCP/UDP-шлюзы на Go. Эта интеграция трекинга спецтехники Wialon, Omnicomm и других протоколов позволила нам слушать бинарные пакеты 24/7.
- Мы знали, заведен ли двигатель (моточасы).
- Мы обеспечили контроль топлива экскаваторов IoT, чтобы пресекать сливы солярки — любимое развлечение машинистов.
- Мы знали угол наклона стрелы крана, чтобы понимать, техника реально работает или просто стоит.
Готовы обсудить ваш проект
Спад действия: UX для суровых мужиков и социальная инженерия
Интерфейс должен был быть надежным, как автомат Калашникова:
- Огромные кнопки.
- Никаких сложных меню.
- Вышел на смену -> Нажал "Начать работу" -> Система выполняет внедрение электронных путевых листов (ЭПД) прямо на экране -> Погнали.
- Была выбрана React Native офлайн архитектура (WatermelonDB). На стройках нет связи. Приложение копит телеметрию в локальной БД телефона и делает агрессивный синк, ловя Edge-соединение.
Кровавая битва за внедрение (или почему нас ненавидели машинисты)
Заказчики давно искали ответ, как бороться с левыми рейсами спецтехники. С появлением нашего трекинга эта кормушка для водителей закрылась. Начался саботаж.
- GPS-антенны заворачивали в фольгу.
- Включали GPS-глушилки.
Мы ответили технологическим террором:
- Алгоритм "Анти-фольга": Если телефон "стоит" по GPS, но акселерометр фиксирует вибрацию дизельного двигателя — система ставит алерт "Возможный Фрод".
- Экономическая манипуляция: Мы внедрили систему бонусов для водителей. Жадность победила привычку воровать.
Разрешение: Триумф кода над хаосом
- Время закрытия заявки: Снизилось с 4 часов до 4.5 минут. Заказчик жмет кнопку, алгоритм моментально пушит заявку релевантным владельцам поблизости.
- Утилизация техники (КПД): Выросла на 42%.
- Сокращение дебиторской задолженности: На 98% благодаря B2B-эквайрингу.
Петровича мы не уволили. Мы сделали из него оператора контроля качества. Его мозг теперь решал только сложные конфликты.
IT агенство MapNT
Центральный офис: г. Калининград
Почта: m-n-te@yandex.ru
Телефон: +7 911 484-06-31
Работаем по всей России
Мы в соц сетях:
telegram | вконтакте | сетка | дзен
mapnew.tech