Государство и общество
Сентябрь 2026
Заказчик пришёл с идеей приложения, которое помогает человеку в опасной ситуации: быстро найти рядом место, где можно получить помощь, и сообщить близким о случившемся.
Для первой версии нужно было собрать MVP для Android: карту Казани с адресами и расписанием мест помощи, список доверенных контактов и кнопку SOS, которая отправляет SMS с типом тревоги и местоположением.
Главная сложность была не в экранах, а в надёжности сценария тревоги. Кнопку могут нажать случайно, GPS может не ответить, экран может повернуться в момент отсчёта. Всё это не должно приводить ни к ложной тревоге, ни к потерянному сообщению.
Собрали нативное приложение на Kotlin и Jetpack Compose. Сервер не понадобился: контакты и настройки хранятся на устройстве, а сообщения уходят обычными SMS.
Подключили Yandex MapKit и нанесли на карту 52 места в Казани. У каждого места есть карточка с адресом, недельным расписанием и переходом в Яндекс Карты, сегодняшний день выделен. Местоположение определяется автоматически, а если телефон ошибается, точку можно выбрать на карте вручную, и в SMS будет указано, что место выбрано вручную.

Получателей и тип сообщения пользователь выбирает до того, как что-то случится. Форма принимает до трёх доверенных контактов и проверяет формат номера. Типов тревоги три: нападение, пожар и проблемы со здоровьем, для каждого свой текст SMS, а предпросмотр показывает ровно то, что уйдёт адресату.

На экране SOS рядом с кнопкой видно, кому и что будет отправлено. Нажатие запускает пятисекундный отсчёт, и если кнопку задели случайно, отправку можно отменить. Состояние тревоги хранится во ViewModel, поэтому поворот экрана не запускает отправку повторно, а во время отправки повторные нажатия блокируются.

Заказчик получил работающий Android-прототип, на котором можно проверить идею на реальных пользователях:
52 места помощи в Казани на карте, с адресами, расписанием и переходом в Яндекс Карты.
Три типа тревоги и до трёх доверенных контактов, настраиваемых заранее.
5 секунд на отмену случайного нажатия перед отправкой SMS.
Защита от повторного запуска и сбоев GPS. Если координат нет, сообщение уходит без ссылки на карту, а ручной выбор точки имеет приоритет над GPS.
Отдельная тестовая сборка, в которой можно пройти отсчёт и отмену без реальной отправки SMS.
Логика тревоги отделена от экранов, поэтому следующую версию можно развивать без переписывания ядра.
