Вернутьсяв кейс, к записи 06

Файл записи 06Карта_экранов.md · обновлён 17.08.2026 · 35 КБ

Карта экранов (обновлена 17.08.2026)

Скачать .md— Карта_экранов.md

Публичная версия, собрана 16.09.2026, правлена 02.10.2026. Живой документ проектирования: состав экранов и состояний, зафиксированный текстом до отрисовки. Дата в заголовке — дата самого документа, она и стоит в карточке артефакта. Публикуется артефактом журнала кейса.

Что убрано: реальный лицевой счёт на карточке поставщика заменён заглушкой, сняты шесть рабочих пометок. Состав экранов, обоснования и отклонённые решения — как были.

Статус: живой документ, не вердикт-док. Правится по ходу проектирования, дата в шапке обновляется. Правило заморозки на него не распространяется.
Границы. Дизайн-активы и их обоснования — product.md §5, единственный владелец; здесь они упоминаются по номерам, а не переспорены заново. Статус гипотез — Реестр_гипотез.md. Решения, риски и to-do — product.md.
Назначение. Что рисуем, что не рисуем, что находится на каждом экране, в каких состояниях, и что уходит в UI против вайрфреймов.

Онбординг

O1 — Что это

Один экран, скипаемый. Никаких каруселей и обещаний — сразу превью заполненного экрана находок (O3/N1), потому что именно он показывает то, чего не делает никто: «семь получателей, вот кто они, вот здесь ты переплачиваешь». Список счётчиков (S1) на эту роль не годится — выглядит как любое ЖКХ-приложение.

Превью явно помечено как пример. Путь до своего такого же — одно действие.

Риск: показать красивый заполненный экран и высадить в пустой. Смягчается тем, что O2 идёт следующим шагом.

O2 — Загрузка чеков

Сколько просим: три, принимаем один. Формулировка: «Хватит одного — покажу, кому ты платишь. С тремя найду, где считают не по счётчику».

ЧековЧто открывается
1Получатели, ЛС, суммы, адрес
2Диффы: новый получатель, изменение суммы
3Детекция норматива — ниже трёх константа неотличима от совпадения
4–6Удвоения, догоны, смена тарифа
12Годовая сумма по получателю → долг против сдвига по времени

Загрузка N файлов — не N действий. Мультивыбор и share target. Интерфейс обязан это показывать, иначе пользователь оценит работу по числу файлов, а не по числу тапов.

Откуда брать чеки — блок из трёх карточек по убыванию надёжности:

  1. Почта — Платосфера отправляет чек на e-mail при каждой оплате (в документе есть поле «e-mail покупателя»). Поиск в почте достаёт всю историю сразу. Инструкция не устареет, потому что почта — не чужое приложение.
  2. История в агрегаторе — Платосфера, Квартплата+. Точный путь по экранам не проверен, см. открытые вопросы.
  3. Банк — формат банковский, может не подойти. Упоминается с оговоркой.

Каждая карточка несёт дату проверки. Обязательная строка «не нашёл — поищи в почте».

Как файл попадает в приложение:

Состояния: пусто · выбраны файлы · разбор идёт · разобрано частично («3 из 5, два файла не распознались») · не распозналось ничего → ручной ввод.

Деградация — две ступени, обе надёжные: PDF → ручной ввод. Распознавание фото квитанции из MVP исключено (см. «Что не рисуем»).

Прогресс-шкалы «здоровья» здесь нет. До загрузки данных нет, пустая шкала выглядит сломанной. Вместо неё — обещание текстом.

O3 — Что нашлось

Экран-герой продукта. Результат разбора, размеченный по слоям достоверности:

7 получателей. Генерация Сибири, Квадис, Горводоканал, Новосибирскэнергосбыт, САХ, Фонд модернизации ЖКХ НСО, Росгосстрах.
Из них 5 — ресурсники и УК, 1 — регоператор по мусору, 1 — страховая.

⚠ Горячая вода: сумма не меняется третий месяц — похоже, считают не по твоему счётчику.
⚠ Росгосстрах появился один раз — необязательная страховка, 180 ₽.

Нашёл 3 вопроса · около 200 ₽ в месяц

Каждая строка тапабельна, разворачивается в объяснение. Внизу — «Всё верно» / «Тут ошибка».

Обязательная оговорка о неполноте: «Нашёл 5 получателей за этот период. Знаешь других — добавь или загрузи ещё чеки». Основание: в январском чеке автора было 4 получателя из 7.

Сводка — счётчик находок и деньги, не процент. Обоснование см. «Что не рисуем».

Экономия: O3 — это N1 в состоянии «только что нашёл». Один макет, разные шапка и CTA.

O4 — Ожидаемые приборы (скипаемый)

Из услуг в чеке выводится, какие приборы должны существовать. Не предзаполнение прибора (в чеке нет ни номеров, ни мест, ни разрядности), а предзаполненное ожидание — оно ценнее, потому что учит.

Судя по чекам, у тебя должны быть счётчики:
Холодная вода — Горводоканал берёт за «Воду»
Горячая вода — Генерация Сибири берёт за «Горячую воду»
Электричество — Новосибирскэнергосбыт

За водоотведение и отопление приборов обычно нет — считают от воды и по площади.
Проверь: чего-то нет или есть лишнее — поправь.

Требуется таблица «услуга → бывает ли индивидуальный прибор». Она может ошибаться (поквартирное отопление), отсюда обязательное «проверь».

Онбординг не заставляет заводить приборы. Ценность выдана до работы. Заведение предлагается здесь со скипом и повторно контекстно — из S1 и из находки «считают по нормативу» («заведи счётчик, покажу разницу»).

Таб 1 — Счётчики

S1 — Экран объекта (главный)

App bar: адрес. Больше одного объекта — выпадающий переключатель.

Карточка состояния месяца — одна строка, меняется по календарю:

Строка находок — одна, только если находки есть: «⚠ 3 вопроса по начислениям → » ведёт в N1. Не блок и не шкала: S1 про снять и передать, уводить с него внимание нельзя.

Список приборов. Двухстрочный ListItem, ~72–88 dp:

СлотСодержание
Leadingиконка типа ресурса
Headline«Горячая, в ванной»
Supporting«310 · 23.06»
Trailingкомпактное поле ввода + иконка камеры
Условная третья строкапредупреждение

Зоны тапа разведены, раскрытия нет:

Прятать ввод за тап или дропдаун нельзя: это главное действие экрана. Скрытие главного действия — это Госуслуги.Дом, от которых отстраиваемся, и боль Александры. По Нильсену — нарушение видимости.

Предупреждения под полем (актив №4, условные, только у затронутого прибора):

Правила ввода: сохранение локальное, поштучное, без кнопки подтверждения — мы журнал, а не форма. Ввод доступен всегда независимо от окна. Клавиатура числовая, «Далее» перебрасывает в следующее поле.

Блок отправки — сгруппирован по поставщику, потому что канал у каждого свой. Единой кнопки «отправить всё» не существует:

Горводоканал · 3 прибора · SMS → Отправить
Генерация Сибири · 1 прибор · только личный кабинет → Скопировать и открыть
Квадис · 1 прибор · окно неизвестно → Скопировать

Empty state: список ожидаемых приборов из O4 с приглашением завести. Отдельная подсказка «Не знаешь, какой горячий? Покажу, как определить» → объяснялка, тема 3.

S2 — Паспорт прибора

Герой — расхождения, не график. Четыре числа одного прибора в одном месте актив №8

Ты снял: 310 · 23.06
Горводоканал: 310 ✓ · по прибору
Генерация Сибири: 341,925 · на 31,9 больше · по нормативу
Квадис: 70,0 · не обновлялось с 01.08.2025

Тап по строке → что это значит и что делать. Блок расхождений сам по себе призыв к действию; приписки вроде «+5% к здоровью» не добавляем.

Ниже:

S3 — Добавление и редактирование прибора

Пошагово: тип ресурса → имя → место установки (+ фото) → номер → разрядность → привязка к поставщикам → текущее показание.

Шаг разрядности — отдельный экран. Не текст, а картинка табло с подсвеченными чёрными и красными разрядами и вопросом «сколько у тебя чёрных?». Дальше приложение не даёт ввести число не той длины. Объяснение работает один раз, валидация — всегда. Основание: Кирилл, месяцы неверных показаний; deep-research: ошибка превращает 13 м³ в 1124 м³.

S4 — Камера

Видоискатель, рамка, автофонарик. Распознанное значение подставляется в поле и остаётся редактируемым. Фото уходит в паспорт как след.

Состояния: не распозналось · распозналось с низкой уверенностью · ок.

Только цифры счётчика (ML Kit, on-device). Текст квитанции камерой не читаем — см. «Что не рисуем».

S5 — Отправка (боттом-шит, не экран)

Что отправляем, куда, каким каналом, предпросмотр текста. После действия — «Записал: 3 прибора, Горводоканал, 23.07 в 14:05» (личная квитанция переданного, актив №3). Явная оговорка: фиксируем отправленное, доставку не подтверждаем.

Таб 2 — Начисления

N1 — Обзор

Сверху — находки, отсортированные по деньгам:

⚠ Горячая вода — по нормативу. Третий месяц одна сумма. Около 200 ₽/мес мимо.
⚠ Капремонт вдвое больше обычного в марте. Это за два периода или выросла ставка?
⚠ Новый получатель: Росгосстрах, 180 ₽. Появился один раз.
✓ ТКО — на одного проживающего. Похоже, верно.

Сводка сверху: «3 вопроса · около 200 ₽ в месяц».

Полнота данных — отдельно и честно названа: «Заполнено 5 из 7 поставщиков», «У 2 приборов не указана поверка». Это про наши данные, и подписано именно так. Процент здесь допустим, потому что вычисляется.

Ниже — лента чеков по месяцам с итогами и индикатором «есть находки». Кнопка «Загрузить чек» + напоминание в первых числах месяца.

Empty state: «Загрузи чеки — покажу, за что ты платишь» (для пропустивших онбординг).

N2 — Разбор одного чека

Дата, итог, получатели с суммами. По каждой строке вердикт: по прибору · по нормативу · фиксированный платёж · новый получатель · нетипичная сумма. Ссылка на исходный PDF.

Обязательная оговорка внизу: чек покрывает только оплаченное через этот агрегатор; отсутствие строки не значит отсутствие начисления.

N3 — Карточка находки

Четыре блока:

  1. Что нашёл — «Горячую воду считают не по твоему счётчику»
  2. Как понял — таблица трёх месяцев, где ГВС стоит, а соседи гуляют. Показываем доказательство, не просим верить
  3. Сколько стоит — расчёт с датой проверки ставки; если ставка неизвестна — «сколько именно, сказать не могу, нужен тариф»
  4. Что делать — вход в процедуру (X2)

Кнопка «Это не так» — пользователь отклоняет находку, она больше не всплывает. Приложение может ошибаться, и интерфейс это признаёт.

Таб 3 — Поставщики

Самый предзаполняемый раздел продукта: после разбора чеков он сразу непустой. Буквальный ответ на задачу Блока А «назови всех своих поставщиков».

Три слоя достоверности (сквозной принцип раздела)

Из твоего чека

Что в нём
Название, ЛС, услуги, суммы
Как показан
Факт, спорить не с чем

Из справочника

Что в нём
Канал, окно, формат, телефоны
Как показан
С датой проверки + «сообщить, что устарело»

Неизвестно

Что в нём
Окно Квадиса, локальные процедуры, контакты
Как показан
Пустое поле + «позвони и запиши»

Различение — на уровне самих строк, не дисклеймером внизу. Это интерфейсное решение риска №11 и то, что проверяется в Блоке Б: если пользователь на вопрос «откуда приложение это знает?» отвечает верно — работает.

P1 — Список

Карточка на поставщика:

ООО «Генерация Сибири» · ресурсник
Отопление, горячая вода · ЛС XXXXXXXXXX
Показания передавать нужно · окно 15–25
⚠ Считают по нормативу
Проверено 23.07.2026

Для САХ и Фонда: «передавать нечего, начисляют сами» + параметр начисления (число проживающих, площадь). Это ответ на вопрос «должен ли я им что-то передавать?», который Никита себе задать не смог.

P2 — Карточка поставщика

Сквозное

X1 — Объяснялка

Контекстные боттом-шиты, три глубины: ответ → «почему так устроено» → «что делать, если у тебя иначе». Дизайн-актив — контекстный вход (актив №2), а не раздел помощи.

1 Кто мои поставщики, РСО vs УК

Где всплывает
P1 (шапка), P2 («кто это»), O3
Источник боли
Никита, Данил, самоаудит

2 Какие цифры передавать: чёрные vs красные

Где всплывает
S3 шаг разрядности; S1 при вводе числа не той длины
Источник боли
Кирилл; deep-research

3 Какой счётчик горячий, где он

Где всплывает
S3 шаг типа ресурса; S1 empty state; O4
Источник боли
Самоаудит («потрогал рукой»)

4 По счётчику или по нормативу

Где всплывает
N3 «как понял»; S2 строка расхождения; P2 метод
Источник боли
Самоаудит, Маргарита

5 До какого числа, что при пропуске

Где всплывает
S1 карточка месяца; P2 окно
Источник боли
Все; заблуждение Витали

6 Не приняли / пришёл норматив — что делать

Где всплывает
X3; N3 блок «что делать»; S2 расхождение
Источник боли
Самоаудит §6

7 Поверка: когда, кто вправе, где акт

Где всплывает
S2 блок поверки; напоминание на S1
Источник боли
Оксана, Кирилл

Проверка на полноту: у каждой темы минимум два входа, ни один не в разделе «Помощь».

X2 — Процедуры

Темы 6 и 7 длинные — экран с чтением подряд. Входы всё равно контекстные: из находки (N3), из карточки поверки (S2), из разбора отказа (X3).

Содержание процедуры исправления: акт поверки → акт контрольных показаний → заявление на корректировку. ПП 354 объясняется как механика, а не как документ: пропустил — три месяца по среднему, дальше норматив, за оплаченные закрытые периоды пересчитывать не обязаны. Ссылка на постановление — внизу мелким, как источник.

X3 — «Не приняли показания?»

актив №5 Не наш экран ошибки: отказ произошёл в чужом приложении, перехватить причину невозможно. Это диагностика — список того, что мог написать чужой сервис, с расшифровкой каждого варианта и выходом в процедуру (X2).

X4 — Настройки

Объекты · напоминания · бэкап · обратная связь · юридика · о приложении.

«О приложении»: название «По счётчику», версия, ссылка на стор. Внутри интерфейса аббревиатуры «ЖКХ» и «ЖКУ» не используются — только конкретные слова («начисления», «поставщики», «квитанция»); обоснование в шапке product.md.

Обратная связь: открывает почтовый клиент с предзаполненным адресатом. Не личная почта автора — отдельный адрес под проект, он же контакт разработчика в сторе.

Юридика: политика конфиденциальности и пользовательское соглашение. Требования сторов не проверены, см. открытые вопросы. На этап 1 это одна строка в макете.

X5 — Краевые состояния

Пустые списки · ошибка парсера · частичный разбор · потеря распознавания · пустое пересечение окон · устаревшая запись справочника · прибор без привязки к поставщику · находка отклонена пользователем.

Приоритет этапа 1

Экранов и элементов — 19. За 2–3 недели в UI-качестве рисуется не всё.

В UI (10): O2 · O3 · S1 · S2 · S3 · N1 · N3 · P1 · P2 · X3 (O3 и N1 делят макет — фактически 9 отрисовок)

Состояния и шиты внутри отрисованных экранов: S5 · X1 · предупреждения на S1 · три слоя достоверности на P1/P2

Вайрфреймы или этап 2: O1 · O4 · S4 · N2 · X2 · X4 · X5

Десять экранов покрывают все восемь дизайн-активов и все семь тем объяснялки. Остальное показывается вайрфреймом с подписью.

Что не рисуем и почему

Убранное объясняет продукт лучше добавленного.

ЧтоПочему отклонено
Очередь отправки (конвейер из 6 каналов)0/9 пользователей SMS/email/ботов. Артефакт убитой гипотезы, в архив
Прогресс-бар «ЖКХ здоровье»Склеивает полноту наших данных с состоянием чужих финансов; посчитать нечем (неизвестны прописанные, площадь, долги); веса пришлось бы выдумать — прямое нарушение «не выдумывать метрики»; и обесценивает честно снятую метрику времени. Заменён на счётчик находок + отдельно названную полноту данных
Четвёртый таб (обратная связь)Таб — самая дорогая недвижимость навигации; отдавать её экрану на один визит нельзя. Ушло в X4
OCR текста квитанцииTesseract + rus.traineddata — неделя ради запасного пути. ML Kit кириллицу не поддерживает (проверено 28.07.2026). Облачный OCR ломает local-first. Оставлено: PDF → ручной ввод
Автоопределение поставщиков по адресуДатасета нет; карта каналов дала 1 попадание из 4 и перепутала организации. Заменено разбором чеков самого пользователя
Собственный экран отказаОтказ происходит в чужом приложении, причину перехватить невозможно. Заменено на предупреждение до отправки (актив №4) + диагностику (X3)
Раздел «Помощь»Объяснение нужно в момент вопроса, а не в меню, куда не ходят

Очередь отправки (конвейер из 6 каналов)

Почему отклонено
0/9 пользователей SMS/email/ботов. Артефакт убитой гипотезы, в архив

Прогресс-бар «ЖКХ здоровье»

Почему отклонено
Склеивает полноту наших данных с состоянием чужих финансов; посчитать нечем (неизвестны прописанные, площадь, долги); веса пришлось бы выдумать — прямое нарушение «не выдумывать метрики»; и обесценивает честно снятую метрику времени. Заменён на счётчик находок + отдельно названную полноту данных

Четвёртый таб (обратная связь)

Почему отклонено
Таб — самая дорогая недвижимость навигации; отдавать её экрану на один визит нельзя. Ушло в X4

OCR текста квитанции

Почему отклонено
Tesseract + rus.traineddata — неделя ради запасного пути. ML Kit кириллицу не поддерживает (проверено 28.07.2026). Облачный OCR ломает local-first. Оставлено: PDF → ручной ввод

Автоопределение поставщиков по адресу

Почему отклонено
Датасета нет; карта каналов дала 1 попадание из 4 и перепутала организации. Заменено разбором чеков самого пользователя

Собственный экран отказа

Почему отклонено
Отказ происходит в чужом приложении, причину перехватить невозможно. Заменено на предупреждение до отправки (актив №4) + диагностику (X3)

Раздел «Помощь»

Почему отклонено
Объяснение нужно в момент вопроса, а не в меню, куда не ходят

Открытые вопросы