Как мы сделали оптовый сайт Tasty Coffee за 3 месяца — и причем здесь управление рисками
О Tasty Coffee
Tasty Coffee — крупнейший производитель и поставщик свежеобжаренного кофе в сегменте HoReCa. Они начали с одной кофейни, а сегодня их продукцию знают по всей России. Бренд экспериментирует с обжаркой, упаковкой и подачей, уделяет внимание качеству и экологии.
В 2023 году компания обновила свою айдентику: новый логотип, упаковка и дизайн. Следующим шагом было обновление оптового сайта tastycoffee.ru, чтобы он соответствовал новой айдентике и подчеркивал ценности компании.
Дизайн разработала Студия Артемия Лебедева, а верстку и сборку сайта доверили нам, диджитал продакшну Nutnet.
Так выглядел сайт до редизайна:

Посмотреть детально можно по ссылке
Нужно было не просто создать красивую витрину, а разработать инструмент, который вдохновляет клиентов, вовлекает их в процесс выбора и помогает строить партнерские отношения.
Немного о Nutnet
Nutnet занимается заказной разработкой. Более 15 лет делаем сайты, сервисы и личные кабинеты для бизнеса. В команде Nutnet 40+ специалистов, среди них фронтенд-разработчики, бэкенд-разработчики, тестировщики, тимлиды, менеджеры проектов. Берем задачи любого уровня сложности.
В проекте Tasty Coffee участвовали пять человек: тимлид, два фронтендера, тестировщик, проджект раннер и руководитель проектов. Проджект раннер занимался рисками и контролировал загрузку команды, а второй курировал все вопросы, которые возникали в процессе работы (а их было очень много).
Также был бэкенд на стороне клиента и дизайнеры в студии Лебедева. В сумме над проектом работали три стороны.
Что нужно было сделать
- Обновить оптовый сайт с новым дизайном, который создала Студия Артемия Лебедева. При этом не менять CMS, чтобы не усложнять работу команды клиента.
- Разработать интерактивную карту кофеен. Она нужна для партнеров и клиентов, чтобы они могли находить точки, где подают свежий кофе от Tasty Coffee.
- Запустить англоязычную версию сайта для выхода на международные рынки.
Что мы делали, чтобы достичь результата
1. Управляли рисками с самого старта
Перед тем как приступить к коду, мы детально разобрали проектные риски. Какие были вызовы:
- Объем и сложность. Около 1 500 часов работы на команду из 5 человек за 3 месяца.
- Стороны проекта. Участвовали мы (Nutnet), Студия Лебедева (дизайн), Tasty Coffee (клиент), а также бэкенд-команда на стороне заказчика.
- Технологический сдвиг. До старта клиент принял решение перейти с React на Vue, что для фронтенда означало адаптацию стека.
- Требовательный клиент. Tasty Coffee уделяет внимание мелочам. Множество правок и доработок были ожидаемы, нужно было выстроить процесс так, чтобы не потеряться в потоке задач и замечаний.
Мы использовали SCRUM. Разбили работу на итерации, чтобы видеть прогресс и при необходимости менять приоритеты. Ввели три потока задач:
- Понятные задачи. Сначала брались за то, что уже ясно: верстка простых страниц, настройка окружения, подключение библиотек. Это позволяло сразу показать клиенту первые результаты.
- Сложные задачи. Прежде чем начать их кодить, мы изучали требования. Тимлид поднимал одну сложную задачу, разбирался в ней, потом описывал подзадачи для команды. Так мы не тратили время впустую и не запутывались.
- Правки и изменения. Мы не смешивали их с новыми функциями. Все правки собирали в отдельном документе, договаривались с клиентом о приоритетах и разбирали их порциями. Это помогло не перегрузить разработчиков и идти по плану.
Вели регулярные точки контроля:
- Ежедневные созвоны для команды: что сделано, что планируем, где возникли проблемы?
- Еженедельные демо для команды: показывали прогресс, сверялись с планом на следующую неделю.
- Раз в 2 недели показ клиенту: обновляли демо-стенд, демонстрировали достигнутые результаты и собирали обратную связь.
- Раз в месяц подводили итоги, смотрели на экономику проекта и корректировали стратегию.
Мы заранее определили, что должно быть к сроку обязательно (MVP), а что можно доделать после запуска. Это дало нам гибкость. Если появлялась новая задача или срочная правка, мы понимали, как не сорвать дедлайн. Так мы смогли контролировать риски и быстро реагировать на любые изменения.
2. Верстали сложный дизайн и анимации
Студия Лебедева создала дизайн с массой анимаций. Нужно было перевести это в рабочий код, который красиво отображается на экране, не тормозит и не ломается при скролле — и помогает пользователю получать информацию с сайта.
Почему анимации? Анимация с зернами была придумана, чтобы стандартную страницу в духе «Мы 10 лет на рынке» превратить в красивое и залипательное повествование, наглядно представляющее развитие Tasty.
Анимация оживляет контент, делая сайт визуально привлекательнее, тактильнее, дает ощущение wow-эффекта.
Даже презентация нового визуального стиля для сайта, разработанного студией Лебедева, была в виде видео. Это было классно — поэтому мы приняли решение так делать весь проект.
Как мы действовали:
- Изучили макеты детально. Посмотрели, где присутствуют анимации, в каких блоках зерна должны падать, как двигаются картинки при прокрутке. Выяснили, что на странице «История» есть зерна, которые меняют положение при скролле. На странице с отзывами — слайдер с видео, который должен плавно переключаться. На главной — анимированные переходы между блоками.
- Выбрали инструменты. Мы использовали Vue.js и Nuxt.js для сборки фронтенда, а для анимаций подключили специальные библиотеки. Например, nuxt-aos помогает запускать анимации при появлении элемента на экране. Мы применили библиотеку для параллакса, чтобы некоторые элементы двигались при прокрутке. Сочетание Vue, Nuxt и анимационных библиотек дало возможность контролировать логику и последовательность эффектов.
- Падение кофейных зерен. С зернами был свой челлендж. Изначально не было точного понимания, как они должны двигаться. Мы пробовали разные варианты. Сначала зерна падали слишком быстро, потом слишком хаотично... Четыре раза меняли логику, пока не получили плавный и понятный визуальный эффект. Теперь при скролле зерно «падает» ровно так, как планировали дизайнеры и клиент!

- Слайдеры и видео. Нужно было сделать слайдер с отзывами, где видео переключается, как в сторис. Мы написали код, который подгружает видео только при необходимости. Это ускорило загрузку страницы. Настроили плавные переходы между историями, проверили корректность работы в разных браузерах. Видео не должно дергаться или задерживаться. Проверили на слабых устройствах, чтобы все работало гладко.

- Оптимизация изображений и кода. Много анимаций нагружают систему. Мы сжали изображения, использовали форматы типа WebP, настроили lazy loading, чтобы картинки грузились при прокрутке. Минифицировали CSS и JS, удалили лишний код. Благодаря этому сайт не тормозит даже при интенсивной анимации.
- Проверка в разных условиях. Тестировали сайт на смартфонах, планшетах, больших и маленьких экранах, в разных браузерах. Смотрели, как выглядят анимации и переходы. Если находили проблемы, меняли настройки. Добились того, чтобы анимация зерен, слайдеры с отзывами и другие эффекты работали одинаково хорошо на разных устройствах.
Итог: воплотили сложный дизайн с анимациями без потери скорости. Сайт выглядит ровно так, как задумали дизайнеры, но при этом загружается быстро и не перегружает устройство пользователя.
Благодаря этому удалось сохранить значок «Задизайнено в Студии Лебедева» — если бы дизайн был реализован не так, как создала студия, то они могли бы этот значок убрать: Карта на сайте Tasty Coffee показывает, где можно попробовать свежий кофе бренда. Мы реализовали ее на базе API Яндекс Карт и настроили кастомный стиль, чтобы она гармонично вписалась в общий дизайн сайта. Карта не только помогает клиентам найти ближайшую кофейню с кофе Tasty, но и стимулирует партнёров следить за качеством продукции. Это ещё один инструмент, который усиливает доверие к бренду. Чтобы сделать сайт интерактивным и вовлечь пользователей, мы разработали две игры. Они не только развлекают, но и рассказывают о продуктах и процессе производства Tasty Coffee. Эта игра помогает выбрать кофе под вкусовые предпочтения. Пользователь отвечает на несколько вопросов, а в конце получает рекомендованный сорт и промокод на покупку. Разработали игру с использованием Vue.js и Nuxt.js. Это сделало её удобной для работы на любых устройствах. Эта игра показывает, как Tasty Coffee сортирует зерна по качеству. Пользователям предлагается найти дефектные зёрна среди качественных, сортируя их как настоящий колорсортер. В конце игры — промокод. Здесь мы использовали Nuxt.js и анимационную библиотеку nuxt-aos для создания плавных визуальных эффектов. Обе игры протестировали на разных устройствах и браузерах, чтобы они работали стабильно. Теперь они стали частью сайта, которая привлекает внимание и вызывает желание узнать больше о Tasty Coffee. Для существования на международном рынке Tasty Coffee потребовалась англоязычная версия сайта. Мы реализовали её следующим образом: Так Tasty Coffee получили двуязычный сайт без затрат на переводчиков. У Tasty Coffee уже была готовая CRM, с которой нужно было связать новый сайт. Эта задача потребовала взаимодействия с инхаус-командой клиента. Мы проработали интеграцию так, чтобы: В процессе мы сотрудничали с внутренней командой клиента. Вместе согласовали формат данных, способы их передачи и проверили работу всех функций. Сайт стал частью общей экосистемы Tasty Coffee. Когда все фичи были собраны, мы заметили, что сайт загружается медленнее, чем хотелось бы. Это ожидалось — из-за большого количества анимаций, изображений и интерактивных элементов. Мы провели серию оптимизаций, чтобы ускорить загрузку без потери качества: Все это позволило добиться быстрой загрузки и хороших показателей Lighthouse и SEO. И это без ущерба для дизайна! Это нормально. Мы спокойно относимся к правкам и действуем по плану. Все замечания записывали, сортировали по приоритетам и обсуждали с клиентом. Это помогало не сбиться с графика и сосредоточиться на действительно срочных задачах. Благодаря постоянному общению и компромиссам мы выполнили все требования. Логотип студии остался на сайте. Нам дали 3 месяца, а мы закончили за 2,5. Передали сайт клиенту за 1,5 недели до дедлайна. Мы уложились в бюджет и выполнили все поставленные задачи. Даже те, что изначально считались рискованными. Сайт, который получил клиент: Вот так выглядит в итоге главная страница оптового сайта Tasty Coffee: Статистика в Яндекс Метрике говорит сама за себя — показатель отказов на сайте снизился почти в два раза, а глубина просмотра немного, но увеличилась: Больше о работе диджитал продакшна, заказной разработке, управлении рисками и многом другом — в нашем Telegram-канале «Nutnet про цифровые продукты». Делимся кейсами, знаниями о разработке, дизайне и управлении проектами в IT. Рассказываем о внутренней кухне и накопленном опыте. Совет для командной работы В командной работе решает сплоченность (которая появляется после опыта работы вместе) и вовлеченность (которая достигается через управление: руководитель проекта и процессы разработки). 
3. Создали карту кофеен

Как работает карта:
Внутренняя команда Tasty Coffee — кладезь изобретательных идей. Мне очень нравится карта кофеен с бизнесовой точки зрения, потому что она оказывает полезное действие сразу на три сегмента:
1. Любители кофе — они могут найти хороший кофе рядом, даже если находятся в новом месте: в путешествии или командировке.2. Кофейни — получают трафик и новые продажи, дополнительная реклама без новых расходов.3. Tasty Coffee — дает дополнительную мотивацию заказывать кофе чаще, потому что без новых заказов ты пропадешь с карты — старый кофе уже не тот.4. Разработали игры


«Игры повышают вовлеченность в ассортиментную матрицу — в игровой форме клиент узнает про оттенки вкуса.
„Колорсортер“ — это вообще отдельная история и очень крутая. Пользователь узнает, что Tasty сортирует кофе по цвету, запоминает. Потом берет кофе другого производителя и видит — прямо как в игре, некоторые зерна недообжарены и отличаются по цвету от остальных.
Игра наглядно показывает важность качества оборудования и продукта и играет даже образовательную функцию». 5. Создали англоязычную версию

6. Интегрировали сайт с CRM клиента
7. Оптимизировали и ускорили загрузку
— Вручную сжимали изображения, чтобы сохранить баланс между качеством и размером файла.
— Изменяли картинки под нужные размеры, исключая лишние области.
— Перевели большинство изображений в формат WebP (файлы «весят» меньше без потери качества).
— Минифицировали CSS и JavaScript, удалили лишний код.
— Включили сжатие текста с помощью gzip, что дополнительно уменьшает время загрузки.С какими сложностями столкнулись и как их решили
Что получилось в итоге

Что это дало Tasty Coffee



«Разработка для нас очень важна: мы ведем и дорабатываем много проектов на разных платформах, чтобы быть эффективнее, красивее и обеспечивать классный сервис для покупателей.
Своих разработчиков нет, но мы их и не искали — мы за то, чтобы каждый занимался своим делом. Работа с IT-проектами внутри компании выстроена так, чтобы ее можно было масштабировать и вести сразу несколько проектов даже на одной платформе. Для этого мы работаем одновременно с несколькими подрядчиками. Мы рады, что одним из основных партнеров стали вы.
В прошлом мы перебрали много компаний, проблемы возникали разные: отсутствие прозрачности в трекинге и оценки задач, трудности в коммуникации, низкое качество кода. Нам было важно, чтобы в компании были высокоуровневые специалисты с опытом и креативным подходом — наши задумки нельзя назвать типовыми и простыми.
С вами познакомились много лет назад и долго присматривались. Выбрали за легкость в обсуждении и хорошую репутацию. Начали с небольших задач и постепенно поняли, что можно доверить и большие проекты.
А еще поняли, что мы легко понимаем друг друга. При обсуждении задач вы терпеливо выслушиваете все наши придирки и пожелания, а потом делаете идеально и снаружи, и внутри. Ценим вас за личные коммуникации, прозрачность в процессах, высокую скорость разработки.
Итог работы — быстрая и качественная реализация нескольких важных для нас проектов: верстки дизайна нового оптового сайта компании и карты партнерских кофеен».
После первого месяца стало понятно, что мы можем не успеть запустить проект в срок и бюджет и мы разделили проект на три потока: