Мобильный клиент платформы для управления техобслуживанием оборудования. Мастера и сервисные специалисты пользуются приложением прямо на объекте: принять заявку, отсканировать оборудование, прикрепить фото, сменить статус, написать в чат партнёру — и всё это без стабильного интернета.

Приложение — основной рабочий инструмент. Ищем разработчика, который войдёт в живой Vue 3 + Capacitor проект и будет развивать его вместе с командой.

Стек:
монорепозиторий, Vue 3 / TypeScript, Capacitor (WebView), офлайн-синхронизация, push, камера, сканер штрихкодов, файлы, OTA-обновления.

Что предстоит делать:

  • Писать новый функционал и дорабатывать существующий: экраны, бизнес-логику, интеграцию с API
  • Развивать офлайн-режим и синхронизацию, работу с нативными возможностями устройства (камера, файлы, скан)
  • Поддерживать стабильность и качество на реальных iOS и Android: следить за UX, реагировать на изменения бэкенда и контрактов

Обязательно:

  • Уверенный Vue 3 (Composition API) + TypeScript в продакшене: компоненты, роутинг, состояние, типизация контрактов с API.
  • Опыт мобильного фронта: адаптив, safe area, клавиатура, жесты, производительность списков/скролла, ограничения WebView.
  • Capacitor (или сильный Cordova / Ionic, с готовностью быстро войти в Capacitor): cap sync, жизненный цикл приложения, работа с нативными плагинами, отладка на реальных iOS и Android.
  • TanStack Query (или эквивалентный опыт с кэшем/инвалидацией/фоновой подгрузкой) для сетевого слоя и UI-состояний загрузки/ошибок

Желательно (сильный плюс):

  • SignalR / real-time поверх REST.
  • Офлайн-first: SQLite на мобилке, PowerSync или похожий sync-слой; Drizzle ORM — плюс.
  • Нативная отладка: Xcode, Android Studio, Gradle; понимание FCM (в проекте Firebase/Google Services на обеих платформах).
  • Sentry (в т.ч. mobile/capacitor-контекст), Playwright для e2e, Vitest.
  • Bun как runtime/package manager, OpenAPI-генерация клиента.
  • Опыт с OTA / live updates, сканирование штрихкодов (ML Kit)

Формат:

  • Part-time
  • Полная удаленка
  • Часовая ставка — обсуждается индивидуально