К содержанию
Платформы и кабинеты

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

Делаю голосования, где защита строится от реальных схем обмана, а нагрузку после анонса я закладываю с первого дня. Для Freedom Ticketon Awards такая платформа собрала 142 868 голосов.

Когда это нужно

  • Голоса можно купитьОдин человек голосует с пачки аккаунтов, а кто-то просто заказывает накрутку. Зрители это замечают, и премия теряет смысл.
  • Опрос в сторис или Google-формаПроверить, кто и сколько раз проголосовал, невозможно. Если результат оспорят, защитить его нечем.
  • Наплыв после анонсаГолосование открыли в эфире или в посте номинанта, и люди пришли в одну минуту. Если сайт упадёт именно сейчас, это увидят все.
  • Дата не двигаетсяЦеремония назначена, партнёры ждут. Голосование должно заработать вовремя, даже если времени на разработку мало.

Что входит

  • Страницы номинаций и карточки номинантов
  • Голосование с телефона и компьютера
  • Вход через Google и проверка каждого голоса на сервере
  • Защита от повторных голосов, фейковых аккаунтов и автоматических запросов
  • Подсчёт и хранение голосов по правилам премии
  • Админка для номинаций, участников и результатов
  • Запас на пиковую нагрузку — кеширование и очереди
  • Наполнение каталога номинантов

Голосование — продукт, в котором главное не дизайн, а доверие к цифре. Если один человек может проголосовать несколько раз, победителя выбирает не зритель, а тот, кто лучше накручивает. Попытки накрутки будут обязательно — вопрос только в том, к каким из них вы готовы.

Защита от схем, а не «на всякий случай»

Для Freedom Ticketon Awards — казахстанской премии в области культуры и искусства — я начал не с экранов, а с вопроса, как накручивают голосования. Выделил три схемы: повторные голоса одного человека, пачки фейковых аккаунтов и автоматические запросы. Защиту строил от каждой — вход через Google и проверка каждого голоса на сервере.

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

Для вашего голосования набор мер может быть другим. Голосуют сотрудники внутри компании — одни риски. Открытое зрительское голосование с призом — совсем другие. Поэтому сначала разбираю, кому выгодно накручивать и каким способом. Как устроена такая защита по шагам — в заметке об онлайн-голосовании без накруток.

Пик после анонса и дата, которая не двигается

Голосование живёт волнами. Объявили в эфире, номинант выложил пост, пришла рассылка — и люди приходят одновременно. Нагрузку закладываю с первого дня: кеширование, очереди, лёгкий интерфейс для телефона и компьютера.

Второе ограничение — срок. Дату премии не переносят, поэтому объём я фиксирую до старта, а всё, без чего голосование работает, откладываю на потом. У Freedom Ticketon Awards от нуля до запуска прошло 3,5 недели: дизайн, фронт, бэкенд, антифрод, админка для номинаций и результатов, каталог номинантов. Итог — 142 868 голосов.

Если голосование — первая версия большого продукта, посмотрите, как я делаю MVP за 21 день. А почему разбор идёт раньше дизайна — в заметке «Прихожу и разбираюсь изнутри».

Как я это делаю

  1. Роли и сценарии

    Кто пользуется системой, что каждый делает и какие данные при этом рождаются.

  2. Прототип

    Логику проверяю на прототипе до дизайна — так ошибки стоят минуты, а не недели.

  3. Дизайн

    Интерфейсы для всех ролей на одной дизайн-системе.

  4. Разработка

    Спринтами, с демо раз в неделю и доступом в трекер.

  5. Запуск

    Мониторинг, нагрузка, передача доступов и документации, план развития.

Вопросы

Как вы защищаете голосование от накруток?

Сначала разбираю, кому выгодно накручивать и как, и строю защиту от этих схем. В голосовании Freedom Ticketon Awards это вход через Google и проверка каждого голоса на сервере — против повторных голосов, фейковых аккаунтов и автоматических запросов.

Успеете к дате премии?

Срок назову после разбора, но ориентир есть — у Freedom Ticketon Awards от нуля до запуска прошло 3,5 недели. Объём фиксирую до старта, а новые идеи по ходу переношу на следующий сезон.

Можно голосовать без регистрации?

Можно, но тогда одному человеку проще проголосовать несколько раз. Вход через Google — разумный компромисс. Зрителю не нужно придумывать пароль, а у системы появляется понятная проверка.

Сайт выдержит, если все придут в одну минуту?

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

Похожие решения

Все решения

Есть задача — напишите, разберём.

Опишите в двух словах, что нужно, — отвечу сам, без менеджеров и брифов на десять страниц.