Несколько проектов, показывающих, как я работаю — не только что сделано, но и решения и компромиссы за этим. Публичные проекты ведут на живые сайты; NDA-работы описаны только фактическим скоупом.
05 / Кейсы
С чего начать
Шесть ситуаций, с которыми обычно приходят
Запрос почти никогда не приходит в виде техзадания. Он приходит как симптом: меню, которое ко вторнику уже неактуально; корзина, из которой уходят; таблица, на которой тихо держится вся компания. Выберите то, что похоже на вашу неделю — каждое направление ведёт либо к ближайшему доказательству, либо к работе, которая это чинит.
Цены поменялись во вторник, а печатное меню в пятницу говорит другое. Туристы фотографируют карту и переводят её сами. Любая мелкая правка превращается в сообщение тому, кто делал сайт, — и в ожидание.
Меню, которым владеет само заведение: правка за пару минут, публикация сразу, чтение на языке гостя прямо с QR-кода на столе. Оплаты и бронирование подключаются только там, где они себя окупают.
wMenu — мультиязычный SaaS с QR-меню и подписками Stripe, сделан от начала до конца.
Платный трафик приходит на карточку, которая четыре секунды остаётся бесполезной. Из корзины люди пропадают где-то между «добавить» и оплатой. А WooCommerce, который три года назад был нормальным, теперь вздрагивает от каждого обновления плагина.
Витрина, которая рендерится быстро, карточки товара, устроенные так, что покупатель и поисковик читают одно и то же, и корзина, укороченная до шагов, которые действительно конвертируют, — обычно это headless-фронтенд перед тем же WooCommerce, что у вас уже есть.
Начинается с аудита: что стоит вам секунд, а что стоит заказов.
Продукт хорошо делает тридцать вещей — и именно в этом проблема. Договор подписывает человек, который управляет клиникой, а не ИТ-отделом, и он отскакивает от списка функций. А интерфейс тем временем расходится ещё на один модуль.
Маркетинговый слой, который говорит о том, что клиника реально чувствует: меньше неявок, меньше бумажной рутины, сходящиеся расчёты. И фронтенд продукта на общих паттернах — чтобы расписание, карта пациента и план лечения через год всё ещё выглядели как один продукт.
dr100 — сайт и фронтенд продукта для ПО стоматологических клиник.
Кто-то перебивает цифру в конце месяца — и отчёт дальше неверный. Никто не уверен, какие поля вообще валидируются. И никто не хочет менять код рядом с биллингом, потому что нет теста, который скажет, что сломалось.
Типизированное приложение, в которое некорректные данные трудно ввести в принципе; пути, касающиеся денег, закрыты тестами, которые гоняются на каждое изменение; а экраны работают с клавиатуры для тех, кто сидит в них весь день.
Перестройка приложения управления финансовыми подписками — под NDA, поэтому только технический объём.
Заявка приходит на почту, её вбивают в CRM, потом в таблицу, потом кто-то руками догоняет счёт. Ничего не сломано. Это просто стоит дня в неделю — каждую неделю, и занимается этим обычно тот, кем меньше всего хочется рисковать.
Формы, CRM, биллинг и отчётность связаны так, что запись вводится один раз и дальше идёт сама, — а те несколько шагов, где человек действительно нужен, остаются на виду, а не тонут в почте.
Сложное здесь не инженерия. Сложное — что сайт делает специализированную data-практику похожей на любой другой интегратор; или что в инструменте по данным зависимость показана строкой идентификаторов, которую никто не доведёт до источника.
Либо сайт, выстроенный вокруг того, в чём компания действительно эксперт, чтобы эти страницы могли ранжироваться и выдерживать взгляд и инженера, и заказчика. Либо интерфейс, в котором граф данных можно проследить глазами.
GetInData — сайт компании, сделанный с нуля на React и Gatsby.
За пятью кейсами стоит десятилетие другой работы: медицинские порталы и системы для клиник, инвестиционное приложение, панель модерации, немецкие пекарни, поиск отелей, куда пускают с собакой. Перечислено по факту — контекст продукта, мой участок, стек.