Заказал разбор своего приложения и получил 39 замечаний. Рассказываю, что чинил, а что послал

Полгода смотрел на собственные экраны и не видел половины косяков. Со стороны их нашли за один заход.

У меня Telegram Mini App — «Рывок», трекер привычек, сделанный как RPG. Опыт, уровни, стрик, рейтинг друзей. Пишу один, продакшн живой, пользователи есть.

Проблема в том, что к какому-то моменту я перестал видеть собственный интерфейс. Смотришь на экран полгода, и всё кривое на нём становится просто мебелью. Заказал дизайн-разбор. Получил документ на 39 пунктов с привязкой к скриншотам.

Дальше по порядку.

Заказал разбор своего приложения и получил 39 замечаний. Рассказываю, что чинил, а что послал

Приложение не умело считать

Самое неприятное шло первым. Главный экран показывал «Уровень 6», шкала опыта — два деления из десяти, подпись под ней «260 XP до уровня 7». Открываешь профиль, а там «Уровень 6 · 840 XP».

Три числа про одно и то же, и все врут по-разному.

Копнул: шкала брала процент по одной формуле, подпись считала по другой, профиль показывал сумму всего заработанного за всё время. Каждый кусок писался в свой месяц, каждый по отдельности был прав.

Теперь формула одна и лежит в одном файле. Вывод скучный, но я дошёл до него через полгода вранья на главном экране.

Семь шкал

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

Каждое появилось отдельно и по делу. Вместе — каша, в которой не разберётся никто, а аудитория у меня 16-22.

Выкинул ранг и ступень. Вместе с ними ушёл значок-щит с римскими цифрами, кольцом прогресса и свечением, на который я убил день. Красивый был.

Осталось четыре.

Эмодзи

Достижения были на эмодзи: ⚡ 📅 🔥 💎 👑. Нормально ровно до момента, когда открываешь на чужом телефоне. Системный шрифт рисует их по-своему, и рядом с моими собственными иконками они выглядят как не подгрузившиеся картинки.

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

Заказал разбор своего приложения и получил 39 замечаний. Рассказываю, что чинил, а что послал

Уровни росли слишком быстро

Уровень открывался за три-четыре задания. По формуле честно, по ощущениям — уровень не стоил ничего.

Замедлил в полтора раза: было 100 опыта до второго уровня и +50 за каждый следующий, стало 150 и +75.

Деталь для тех, кто будет делать так же. У пользователей ничего не пересчиталось: уровень и опыт лежат в базе числами, новая формула работает только вперёд. Если бы я хранил один суммарный опыт и выводил уровень формулой, половина людей проснулась бы с понижением.

Заказал разбор своего приложения и получил 39 замечаний. Рассказываю, что чинил, а что послал

Что я делать не стал

Первое, что напрашивалось для монетизации — продавать заморозки. Это две штуки в неделю, они прикрывают пропущенный день, чтобы стрик не сгорел. Duolingo ровно на этом зарабатывает, их «сердечки» — та же механика за подпиской, часть бизнеса на сотни миллионов долларов.

Не стал.

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

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

Мелочи, за которые стыдно

Пока разбирался, нашёл пару вещей, которых в ревью даже не было.

Плитки достижений — это, button а цвет текста у него в стилях не прописан. Браузер честно подставлял системный, то есть чёрный. На чёрном фоне. Подписи под иконками не читались вообще, и я этого не видел, потому что смотрел на них в редакторе, где фон другой..

Страница политики конфиденциальности свёрстана классами .doc, .title и .panel. В CSS этих классов нет. Никогда не было. Страница месяцами открывалась системными заголовками на тёмном фоне, и я ни разу её не открыл после того, как написал.

Заказал разбор своего приложения и получил 39 замечаний. Рассказываю, что чинил, а что послал

Что не починено

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

Достижений в каталоге 22, реально работают 14. Остальные восемь — заглушки под механики, которых ещё нет: время суток, возврат после срыва, социальные. Рисую их пунктирными, чтобы «5 из 22» не превращалось во вранье.

Итог

Разбор со стороны находит не то, что ты сделал плохо, а то, что перестал замечать. Все 39 пунктов были видны на моих же скриншотах.

И половину замечаний я не выполнил дословно. Часть предложений тянула продукт туда, ради чего я его не делал. Спорить с ревью нормально, если понимаешь, за что держишься.

Приложение — РЫВОК, живёт в телеграме: @ryvokvverh_bot

Также телеграм канал с обновлениями моих проектов @itmskamir

11