Приложение для водителей FuelBuddy — это то, чем водители пользуются, чтобы фактически доставлять топливо клиентам. Разработка для водителей — это отдельного рода задача: экран должен читаться под прямыми солнечными лучами, нажатия должны прощать неточность, а сеть может пропасть в любой точке дороги. Я реализовал набор функций целиком именно под эти условия — фронтенд и API данных под ними.
Что я сделал
- UI, устойчивый к работе офлайн: водители регулярно теряют сигнал, поэтому я кэшировал данные маршрутов и заказов локально и дал им возможность продолжать работу в зонах без связи. Приложение ставит изменения в очередь и синхронизирует их обратно, как только соединение восстанавливается, вместо того чтобы зависать.
- Местоположение и карты: занимался фронтендом для отслеживания GPS в реальном времени и построения маршрутов на карте, поддерживая эффективность частых обновлений местоположения и перерисовок карты, чтобы они не разряжали батарею за долгую смену.
- UX под полевые условия: вёл несколько операционных функций целиком, проектируя их под реальные условия — контрастные раскладки, крупные области нажатия и короткие формы, чтобы водители могли фиксировать доставку быстро и безопасно.
- API под ними: реализовал CRUD-API, из которых эти функции читают и в которые пишут, на движке Hasura GraphQL, так что я мог выпускать функцию целиком — офлайн-очередь, данные заказов и фиксация доставок общаются с эндпоинтами, за которые отвечал я.
Почему это было важно
Проектирование под контекст «телефон в руке, в движении» сделало приложение быстрее в использовании в поле. Водители могли сосредоточиться на дороге и доставке, а не бороться с тормозящим экраном, — и это поддерживало темп доставок.