Платформа премии «Человек труда»: 7 дней до запуска, 871 участник и 50 000+ голосов
До открытия приёма заявок — 7 дней. Сайта нет. Даты утверждены официальным положением и перенести их нельзя. Голосование планируют проводить реакциями во ВКонтакте — без защиты от накрутки и проверяемого результата. За семь дней мы запустили первый релиз платформы, а затем по ходу премии превратили её в полноценную систему: заявки, модерация, каталог участников, двухэтапное голосование, антифрод и админка для оргкомитета. К третьему дню муниципального голосования система обработала уже более 50 000 голосов.

Коротко
- Клиент
- Владимирский фонд поддержки регионального сотрудничества и развития — заказчик цифровой платформы регионального этапа Национальной премии «Человек труда»
- Задача
- За 7 дней запустить первый рабочий релиз платформы премии: приём заявок по шести номинациям, модерацию и публичные страницы. Дальше — без остановки проекта развить систему до каталога участников и открытого голосования жителей области в два этапа: муниципального и регионального
- Что сделали
- Спроектировали архитектуру, разработали дизайн по брендбуку премии, систему подачи и модерации заявок, каталог участников, двухэтапное голосование с VK-авторизацией и антифродом. Развернули платформу на российской инфраструктуре и сопровождали её во время проведения премии
- Результат
- 871 участник в каталоге. Более 50 000 голосов к третьему дню муниципального этапа. 7 дней от старта проекта до первого production-релиза
Не сайт, а система проведения премии
К нам пришли с положением о премии и календарём, утверждённым официальным документом: приём заявок, муниципальное голосование, региональный этап и церемония были расписаны по датам. Это был не сайт премии в привычном смысле. Нужно было построить рабочую систему: принять сотни заявок и документов, дать оргкомитету инструменты модерации, опубликовать участников, провести два этапа голосования, защитить результаты от накрутки и автоматически переключать механику сайта по календарю премии.
- Заявки: шесть номинаций, анкета кандидата, документы и подтверждения достижений
- Модерация: единая очередь, редактирование, одобрение и отклонение без участия разработчиков
- Каталог: поиск и фильтрация сотен опубликованных участников
- Голосование: муниципальный и региональный этапы с разными правилами
- Антифрод: VK OAuth, ограничения на уровне базы данных, rate limiting, журнал голосований и инструменты аннулирования
- 152-ФЗ: российская инфраструктура, политика обработки персональных данных и журнал действий
- Календарь: автоматическое переключение этапов без пересборки сайта и ручного вмешательства

От решений до эксплуатации
Проект вели релизами, привязанными не к внутреннему плану разработки, а к реальным этапам премии. Каждый следующий контур системы выходил в production к тому моменту, когда он становился нужен участникам и оргкомитету.
- 01
Сначала решения, потом код — 9–13 июля
Первые четыре дня ушли не на код, а на решения, цена ошибки в которых была слишком высокой. Зафиксировали архитектуру, инфраструктуру, правила голосования и границы первого релиза. Спорные решения оформляли в ADR, чтобы не возвращаться к ним посреди разработки. Один из главных вопросов — как ограничить голосование по муниципалитетам. Один муниципалитет на человека лучше защищает от манипуляций, но плохо соответствует реальному поведению людей: жить можно в одном городе, работать в другом, а быть связанным с третьим. В итоге ограничили выбор пятью муниципалитетами — компромисс между защитой от накрутки и реальным пользовательским сценарием. Позже это правило было закреплено в акте.
- 02
Первый релиз за 7 дней — к 16 июля
Первый релиз должен был решить одну задачу: 16 июля открывается приём заявок, и в этот день платформа должна быть готова принимать участников. Собрали форму заявки по требованиям федерального положения, загрузку файлов и подтверждений достижений, валидацию данных, очередь модерации, одобрение, отклонение и удаление заявок, редактирование карточек с записью действий в журнал, публичные страницы премии и положение. 16 июля, ровно в день открытия приёма заявок, первый релиз был в production и принят заказчиком. От старта проекта прошло семь дней. Следом платформу перевели на боевые домены, включая кириллический.
- форма заявки по требованиям федерального положения
- загрузка файлов и подтверждений достижений
- очередь модерации: одобрение, отклонение, удаление
- публичные страницы премии и положение
- 03
От приёма заявок — к системе голосования — 20 июля – 4 августа
После запуска первого релиза начали собирать второй контур платформы: публичный каталог участников и механику голосования. Появились поиск и фильтры, авторизация через ВКонтакте, разные правила для двух этапов, живые рейтинги и антифрод. На муниципальном этапе пользователь может голосовать максимум в пяти муниципалитетах и выбрать по одному кандидату в каждой из шести номинаций, голос можно изменить или отменить. На региональном этапе — шесть голосов, по одному за кандидата в каждой номинации. Защита результата реализована не только в интерфейсе: уникальность голоса контролируется составным ключом в базе данных, дополнительно работают лимиты голосов и rate limit по IP. Каждый голос попадает в журнал с техническими данными, необходимыми для проверки результата. К старту голосования платформа стала не просто интерфейсом для выбора кандидатов, а системой, в которой результат можно проверить и при необходимости скорректировать при выявленной накрутке.
- муниципальный этап: до 5 муниципалитетов × 6 номинаций, голос можно изменить или отменить
- региональный этап: 6 голосов, по одному за кандидата в каждой номинации
- уникальность голоса — составной ключ в базе, а не проверка на клиенте
- лимит голосов и rate limit по IP, журнал с техническими данными
- из админки: аннулирование голоса, блокировка, журнал и выгрузка данных для анализа
- 04
Календарь изменился после запуска — 6–19 августа
6 августа оргкомитет официально изменил сроки уже работающей премии: приём заявок продлили до 16 августа, а муниципальное голосование перенесли на 17–23 августа. Такой сценарий предусмотрели ещё при проектировании: расписание этапов вынесли в отдельную конфигурацию, от которой зависели доступность функций, тексты, призывы к действию и обратные отсчёты. Поэтому не пришлось вручную переписывать страницы и искать условия по всему проекту — весь календарь платформы перенастроили за один день. Параллельно, когда участников стало больше нескольких сотен, каталог перевели на пагинацию. Для оргкомитета добавили экспорт реестра заявок в XLSX, экспорт списка голосующих, подсветку повторных заявок в одной номинации, дополнительные инструменты проверки голосов и зеркало новостей из группы ВКонтакте.
- 16 августа — приём заявок завершён, в каталоге 871 одобренный участник
- 17 августа — началось муниципальное голосование
Интерфейс следует за этапами премии
Платформа сама понимает, какой этап идёт сейчас. Шапка, призывы к действию, обратный отсчёт и доступность голосования автоматически меняются при переходе между фазами. Оргкомитету не нужно обращаться к разработчикам, чтобы «включить голосование» или заменить тексты перед следующим этапом. Показатели на главной странице считаются непосредственно из базы данных в реальном времени — без ручной сверки таблиц.



Результаты на 19 августа 2026 года
Проект продолжается: идёт муниципальное голосование, впереди региональный этап и церемония. Поэтому фиксируем только показатели, которые можно проверить на дату публикации кейса.
Участников в каталоге
Было: Сайта не было
Стало: 871
На момент закрытия приёма 16 августа в публичном каталоге опубликован 871 участник. Источник: реестр одобренных заявок в админке и счётчик каталога
Голосов отдано
Было: Реакции в паблике ВКонтакте
Стало: Более 50 000
К 19 августа — третьему дню семидневного муниципального этапа — в системе зарегистрировано более 50 000 действующих голосов. Аннулированные голоса в показатель не входят
Рост числа заявок
Было: 291 на 05.08
Стало: 871 на 16.08
На 5 августа было одобрено 291 заявление; после официального продления приёма к 16 августа количество опубликованных участников выросло до 871
Срок до первого релиза
Было: —
Стало: 7 дней
Старт работ — 9 июля; первый релиз принят заказчиком и запущен в production — 16 июля. От старта до работающей системы приёма заявок — 7 дней
Охват
Было: —
Стало: 6 номинаций, 23 муниципалитета
На 19 августа в премии представлены участники из 23 муниципалитетов Владимирской области по шести номинациям
Простой сервиса за время голосования
Было: —
Стало: Около 2 минут
Разбор логов nginx за 18.08: все ответы 502 пришлись на два окна пересборки; вне этих окон ошибок 5xx нет
Проверяемость результата
Было: Ручной подсчёт реакций
Стало: Журнал голосований, аннулирование накрутки, выгрузка в XLSX
Изначально голосование планировали проводить во ВКонтакте; оргкомитет получил собственную систему с журналом голосований, техническими данными, инструментами блокировки и аннулирования, а также выгрузкой реестров в XLSX
Итоговое число голосов муниципального этапа, результаты регионального голосования и отзыв заказчика добавим после завершения премии и подписания итогового акта в сентябре 2026 года.
Чем мы пользовались
От положения о премии — к работающей цифровой системе
За семь дней проект прошёл путь от положения и календаря до первого работающего production-релиза. Дальше система росла вместе с премией: 871 участник, два этапа голосования, более 50 000 голосов, антифрод, журнал действий и собственные инструменты оргкомитета. Но главное изменение — не перенос голосования из ВКонтакте на отдельный сайт. Процесс, который мог зависеть от таблиц, переписки и ручного подсчёта реакций, стал управляемой цифровой системой с проверяемым результатом.
Похожая задача — голосование, конкурс, приём заявок с модерацией?
Начнём с предпроектного обследования: за несколько дней разберём механику, сроки и риски, и вы получите оценку без обязательств.
