Navigator.
The engine won’t start until service is closed. A driver PWA, a dispatcher admin, 16 garages and 1С — on one backend.
So the “who owes whom” argument never reaches the director.



before the driver types
- What
- A car-rental platform for a St Petersburg taxi fleet: driver PWA, dispatcher admin, garages and 1С on one backend.
- Why
- Every step lived in a separate chat; service orders were backdated and mismatches caught once a month.
- My role
- Product, UI, interaction and frontend, built with AI co-workers.
- Result
- 161 cars · 16 partner garages · 15 admin sections
A car-rental platform for a St Petersburg taxi fleet, where one service order looks the same to the driver, the garage and the finance team.
Read the full story
Car-rental platform for an SPb taxi fleet: driver PWA, dispatcher admin, integrations with 16 garages and 1С. 15 admin sections, 2 PWA apps, 5 cities — every state designed so the «who owes whom» argument never reaches the director.
Built with AI co-workers (Claude Code). Client work, 2025–2026.
One order. Three screens.
Driver’s phone, garage chat, finance admin.
can be paid
Excel + WhatsApp. The fight reaches the director.
161 cars, 16 garages in 5 cities, 1С as the source of truth — and every step a separate chat.
Same thing every day
Missed service, unapproved invoices.
The service order is one entity
Payment is impossible until all three sides approve it.
- 01Coloured status beats the number.
- 02Tabular numerals everywhere.
- 03Inline edit, never a popup.
Rejected
Read the full story
A 161-car fleet, 16 partner garages in 5 cities, 1С as the source of truth. Before the system, every step was a separate chat. Service orders backdated, mismatches caught once a month.
Problem — same thing every day. Driver missed service. Garage sent an invoice without approval. Accounting can’t tell what they’re paying for. Information arrives chaotically from chats and calls — never from a single form.
Thesis — the service order is one entity. One data object looks the same in three UIs: driver’s phone, garage chat, finance admin. Payment is impossible until the order is approved by all three sides.
Three rules, no exceptions. Coloured status beats the order number — the red «Needs re-approval» chip always sits above the black title. Tabular numerals everywhere — when amounts tick, layout doesn’t shift. Inline edit, not popup — clicking a field in a row edits in place; no modals, no detail pages.
Rejected. Card layout for tasks — we have hundreds; rows + scroll wins. Detail pages — everything inline in the same row. Pagination — virtual scroll wins on 10 000+ orders. Per-week folders — week-divider inside one feed instead. Anonymous comments — every reply has author + avatar.
From audit calls to v3.22 in production.
Every admin decision carries a user quote.
The service order · happy path
Requests service in the PWA
Confirms in chat
Approves the limit
Engine unlocked
Paid, 1С reconciled
Each step in detail
90 minutes of recordings with the fleet → 7 specific pains → design system → UI kit → integrations → prod. Every admin decision carries a quote prefix.
Discovery. Recorded 90 minutes of conversations with dispatcher, driver and garage manager. Transcribed into 7 pains: «specialists never click into a detail page», «comments need authors», «we need rows, not cards».
Architecture. Service order: statuses (draft / under review / re-approval / paid) shared across all 3 UIs. 1С binding by UUID, not name. «Mismatches» as a separate table, not a bug.
MVP. React + Vite + TypeScript on the front. Fastify + Prisma + Postgres on the back. Tauri wrapper for iOS/Android. First version: 5 driver tabs, 8 admin sections.
Iteration. 1 135 events in logs in month one revealed: where people clicked and stuck, where they hit «Cancel» and went to chat. Logs produced 30+ micro-UI fixes and 5 new admin sections.
Production. Web + VK Mini App + Android APK on a single backend. CI/CD via GitHub Actions, self-hosted runner. Telematics integration locks the engine until service is closed.
UX map, happy path — 5 nodes, 3 actors: driver requests service via PWA → garage confirms in chat → fleet office approves limit → engine unlocked → payment, 1С reconciled.
Five tabs. One lock.
The round centre button isn’t a tab — it unlocks the engine.

My carBalance, mileage, tier.

ServiceSix fields, five pre-filled.

LockRed until approved.

ProfileCashback tier, history.

AI assistantTypical questions, answered.
“how to drive free”
Coded mockups with test data — no real driver.
Each tab in detail
Driver PWA on five tabs. The central round button isn’t just a tab — it’s a physical engine unlock. Until service is closed, it locks the car at the telematics layer.
01 · My car — balance, mileage, tier. One screen answers three questions: how much money I have, what’s up with service, what cashback tier I’m on. Service overdue → red banner up top, driver doesn’t call the office.
02 · Service — six fields, five pre-filled. Name, contract, phone, make, plate — all pulled from 1С automatically. Driver picks only work type, garage, date and time. Request lands in garage chat without manual entry.
03 · Lock (centre) — not a design choice, a business rule. Until the service order is approved by both fleet and garage, the button glows red and the engine physically does not unlock. After approval — green: «Engine unlocked — no request needed».
04 · Friends + AI — 5 000 ₽ per friend, AI for the rest. Referral: 5 000 ₽ when a friend tops up 10 000+ ₽, capped at 15 000 ₽. AI Assistant intercepts 80% of typical questions («what’s my balance», «when is service», «how to drive for free») — operator only handles non-trivial.

Not a design choice. A business rule.
Until fleet and garage approve the order, the engine physically does not unlock.
- ●RedOrder not approvedThe car stays locked at the telematics layer.
- ✓Green“Engine unlocked”No request needed — drive.
15 sections. One entity — the service order.
Back office for dispatch, finance and garage security. Personal data blurred.

01 · DashboardIf the fourth tile isn’t zero, look no further.

02 · Service ordersRed “Needs re-approval” always on top.
in real time
Every section, one rhythm.














The admin fits a phone, too.


11 · Catalog requests · 15 · Referral
All 16 screens, captioned
Back-office for dispatcher, finance and garage security. Coloured status flag, 1С mismatches, «to-pay» funnel, replacement stats by make and 70-scenario AI assistant on 11 roles.
- 01 · Dashboard. One screen, four numbers: cars, garages, orders, mismatches. If the fourth tile isn’t zero, you can stop looking elsewhere.
- 02 · Service orders. Coloured status outranks the order number. Red «Needs re-approval» always sits up top.
- 03 · Cars. Each car carries its own mileage, contract, status and service history.
- 04 · Garages. 16 garages across 5 cities. Each has its own payment limit and priority.
- 05 · Parts & jobs. Parts catalog with auto-pulled prices via Rossko API.
- 06 · Replacement stats. 2 472 replacements in the period by make and city — clear which models break more.
- 07 · Chat. Thread per order. AI agent intercepts the typical, escalates only edge cases.
- 08 · Reports. 1С reconciliation in real time — mismatches highlighted red.
- 09 · To pay. Funnel: confirmed → invoice → paid. Per-garage limits as guard rails.
- 10 · Users. Three access tiers: super-admin, finance, garage security.
- 11 · Catalog requests. Manual catalog edit queue with priority and SLA.
- 12 · Bookings. Booking calendar with conflict resolution and driver auto-reminder.
- 13 · Rossko API. 5 cities, 5 key pairs, 0 manual price entry.
- 14 · Action logs. 1 135 events — who did what when. Without logs, «who owes whom» is unsolvable.
- 15 · Referral. Bonus, cap, priority — three knobs and the program runs.
- 16 · AI Assistant. 70 scenarios on 11 roles. Average model confidence — 100% in trained dialogues. Suggestions on top because 80% of questions repeat.
Mobile admin views: the dashboard and the service orders.
At launch, in production.
Five platforms on a single backend.
Release details
Version v3.22.293. Driver PWA + VK Mini App + Android APK + RuStore + admin console on a single backend. Production: навигатораппспб.рф/app/. 5 cities · 5 platforms.



Need similar fleet automation for your team?
More projects
All projectsAlso: AI Dent — AI dental platform · SmartNest — smart home iOS


