З чим прийшов клієнт
Запустити службу таксі в невеликому місті з нуля — так, щоб диспетчер бачив усе на одному екрані, а пасажир замовляв поїздку без дзвінка.
Що зробили
- Диспетчерська панель на 15 екранів
- Мобільний застосунок на 23 екрани — для пасажира й для водія
- Сайт служби з посиланнями на застосунок
- Гнучкі тарифи та зони міста
- Фінансовий контур: виручка, баланси водіїв, промокоди
Що всередині панелі
- Замовлення в роботі зі статусами й таймінгом подачі
- Водії: баланси, рейтинг, документи, вихід на лінію
- Пасажири й історія поїздок
- Тарифи, зони, промокоди, банери
- Фінанси й попит за добу в графіках
- Довідник адрес міста
Деталі, які варто знати
Перед запуском був окремий нічний прогін усієї грошової логіки. Знайшлось те, що впало б у перший робочий день: на бойовому стояли старі тарифи, і перший пасажир заплатив би 80 ₴ замість домовлених 130, а водій недоотримав би половину.
Ціни на головній сторінці колись були зашиті руками — людина бачила одне число на сайті й інше в застосунку. Тепер сторінка бере тариф із тієї самої таблиці, що й розрахунок поїздки.
Поділ комісії перевірено в десяти варіантах, включно з копійками при 33,33% — сходиться до копійки. Дві служби в одному місті ділять спільний потік замовлень: гроші йдуть тій, чий водій узяв замовлення.
Власник служби не може переписати умови платформи, намалювати собі баланс чи побачити чужі дані — межі ролей перевірялись окремо, а не малися на увазі.
Довідник будинків міста добудовується сам: коли водій тисне «я на місці», сервіс запам’ятовує координати під’їзду. Через кілька сотень поїздок місто знається точніше за будь-яку карту.
Панель показує теплову карту «коли замовляють» за останні тижні — видно, коли ставити більше машин на лінію.
Стек
- Laravel 13
- React Native / Expo
- MySQL
- Мапи
Цифри звірено з проєктом
Як це виглядає









Ще з цієї ніші
Зберемо таку саму систему під ваш процес
Приходьте без технічного завдання — складемо його разом на першій розмові.


