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

Коротко
- Клиент
- Владимирский фонд поддержки регионального сотрудничества и развития — заказчик цифровой платформы регионального этапа Национальной премии «Человек труда»
- Задача
- За 7 дней запустить первый рабочий релиз платформы премии: приём заявок по шести номинациям, модерацию и публичные страницы. Дальше — без остановки проекта развить систему до каталога участников и открытого голосования жителей области в два этапа: муниципального и регионального
- Что сделали
- Спроектировали архитектуру, разработали дизайн по брендбуку премии, систему подачи и модерации заявок, каталог участников, двухэтапное голосование с VK-авторизацией и антифродом. Развернули платформу на российской инфраструктуре и сопровождали её во время проведения премии
- Результат
- 871 участник в каталоге, 226 274 голоса за два этапа и 72 259 голосующих на муниципальном этапе. Итоги премии опубликованы 11 сентября, платформа передана заказчику. 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 августа — началось муниципальное голосование
- 05
Голосование, проверка результата и итоги — 17 августа – 11 сентября
Муниципальный этап прошёл 17–23 августа: 103 851 голос и 72 259 голосующих, жители выбирали кандидатов в 23 муниципалитетах по шести номинациям. Региональный этап с бюллетенем из 125 кандидатов шёл с 28 августа по 6 сентября — 122 423 поданных голоса; приём остановили переводом фазы, а голоса, поданные после планового закрытия, сняли отдельным решением. Каждый голос лежит в журнале с техническими данными, поэтому результат проверяется по журналам: спорные голоса снимаются решением оргкомитета, а не «на глаз». 11 сентября итоги опубликованы — 33 победителя и обладателя спецпризов; цифры голосов регионального этапа по решению заказчика не публикуются. После премии платформа передана на инфраструктуру заказчика: перенос занял две минуты.
- муниципальный этап: 103 851 голос, 72 259 голосующих, 23 муниципалитета
- региональный этап: 122 423 голоса, 125 кандидатов в бюллетене
- проверка результата — по журналу голосований, спорные голоса снимает оргкомитет
- итоги опубликованы 11 сентября: 33 победителя и обладателя спецпризов
- после премии платформа передана заказчику на его инфраструктуру
Интерфейс следует за этапами премии
Платформа сама понимает, какой этап идёт сейчас. Шапка, призывы к действию, обратный отсчёт и доступность голосования автоматически меняются при переходе между фазами. Оргкомитету не нужно обращаться к разработчикам, чтобы «включить голосование» или заменить тексты перед следующим этапом. Показатели на главной странице считаются непосредственно из базы данных в реальном времени — без ручной сверки таблиц.



Результаты премии
Премия проведена полностью: два этапа голосования, опубликованные итоги и передача платформы заказчику. Все показатели — из продакшен-базы системы на момент закрытия этапов.
Участников в каталоге
Было: Сайта не было
Стало: 871
На момент закрытия приёма 16 августа в публичном каталоге опубликован 871 участник — по реестру одобренных заявок
Голосов за два этапа
Было: Реакции в паблике ВКонтакте
Стало: 226 274
Все голоса, поданные в системе за премию: муниципальный этап — 103 851, региональный — 122 423
Голосующих
Было: —
Стало: 72 259
Уникальные авторизованные через ВКонтакте голосующие на муниципальном этапе (17–23 августа, семь дней)
Региональный этап
Было: —
Стало: 125 кандидатов
Бюллетень регионального этапа: 125 кандидатов, шесть номинаций, 28 августа — 6 сентября
Итоги премии
Было: —
Стало: 33 победителя
Результаты регионального этапа опубликованы 11 сентября 2026 года: победители в шести номинациях и обладатели спецпризов
Охват
Было: —
Стало: 6 номинаций, 23 муниципалитета
Участники премии представлены из 23 муниципалитетов Владимирской области
Срок до первого релиза
Было: —
Стало: 7 дней
Старт работ — 9 июля; первый релиз принят заказчиком и запущен в production — 16 июля
Простой сервиса
Было: —
Стало: Около 2 минут
Разбор логов nginx за 18.08: все ответы 502 пришлись на два окна пересборки; при переносе платформы на инфраструктуру заказчика простой — две минуты
Проверяемость результата
Было: Ручной подсчёт реакций
Стало: Журнал голосований, аннулирование решением оргкомитета
Каждый голос хранится в журнале с техническими данными: результат проверяется по журналам, спорные голоса снимаются решением оргкомитета, реестры выгружаются в XLSX
После премии платформа передана заказчику: данные, домены и сертификаты — на его инфраструктуре, порядок передачи доступов согласуется по договору.
Чем мы пользовались
От положения о премии — к работающей цифровой системе
За семь дней проект прошёл путь от положения и календаря до первого работающего production-релиза. Дальше система росла вместе с премией: 871 участник, два этапа голосования, 226 274 голоса, антифрод, журнал действий и собственные инструменты оргкомитета. Но главное изменение — не перенос голосования из ВКонтакте на отдельный сайт. Процесс, который мог зависеть от таблиц, переписки и ручного подсчёта реакций, стал управляемой цифровой системой с проверяемым результатом. Премия проведена от приёма заявок до опубликованных итогов, а платформа после завершения передана заказчику на его инфраструктуру.
Частые вопросы
Что успели за первую неделю?
Первый релиз вышел за 7 дней: приём заявок по шести номинациям, каталог участников и модерация. Дальше система развивалась уже по ходу премии.
Как защищали голосование?
Авторизация через ВКонтакте, двухэтапное голосование, лимиты и антифрод. Каждый голос остаётся в журнале с техническими данными, поэтому результат проверяется по журналам, а спорные голоса снимаются решением оргкомитета — в отличие от подсчёта реакций в паблике.
Сколько людей прошло через систему?
871 одобренная заявка в каталоге участников, 72 259 голосующих на муниципальном этапе и 226 274 голоса за два этапа голосования.
Чем закончилась премия?
Итоги регионального этапа опубликованы 11 сентября 2026 года: 33 победителя и обладателя спецпризов. Платформа сама переключала фазы и тексты, поэтому публикация итогов не потребовала ни пересборки сайта, ни ручных правок.
Что стало с платформой после премии?
Она передана на инфраструктуру заказчика: перенос занял две минуты, данные сверены до совпадения, домены и сертификаты оформлены на заказчика.
Что с требованиями к персональным данным?
Система работала в контуре 152-ФЗ: модерация заявок, разграничение доступа и защищённое хранение данных участников.
Похожие проекты

Эвакуатор Владимир — заявки без посредников
Многостраничный сайт частного эвакуатора с реальными работами, понятной ценой, рабочей формой и посадочными страницами под услуги, города области и трассу М-7.

ЕАИС СПКФР — многоролевая система оценки квалификации
Заявление, экзамен, протоколы и передача сведений в реестр — один процесс вместо переписки и файлов. Пять ролей со своими интерфейсами, интеграции с 1С, платёжными системами и НАРК.
Похожая задача — голосование, конкурс, приём заявок с модерацией?
Начнём с предпроектного обследования: за несколько дней разберём механику, сроки и риски, и вы получите оценку без обязательств.
