VK Education
Образовательные платформы VK: LMS VK Education и партнёрские проекты на ней — ШИФТ с ВШЭ и Академия VK Рекламы, корпоративное обучение сотрудников ВКубе и сервис оценки 360° «Ревью 360».

Результат
- ×7
- быстрее регулярные выгрузки данных после переноса в Airflow — по оценке заказчиков
- 108 203
- уведомлений на сайте и 31 020 писем отправила система уведомлений ВКубе за первое полугодие 2026 года
- 116
- заданий проверили профильные эксперты в первом полугодии 2026 года — раньше проверкой занимались администраторы
Экраны продукта

Академия VK Рекламы: вход через кабинет VK Рекламы по OAuth. Аккаунты слушателей заранее создаёт кабинет через API, поэтому самостоятельной регистрации нет.

Каталог курсов на education.vk.company: выбранный фильтр и счётчик найденных курсов больше не переносятся с предыдущей страницы при переходе по сайту.

Главная VK Education на телефоне. Тексты и изображения главной обновлял по маркетинговому макету перед осенним продвижением курсов.
Задача бизнеса
LMS VK Education. На платформе учатся студенты образовательных центров VK, и на ней же команда запускает новые программы. Расписание нужно было пересобрать по новому дизайну сразу для студентов, преподавателей и администраторов. Менеджерам не хватало канала в VK Мессенджере, чтобы сообщать о переносах занятий. Регулярные выгрузки для аналитиков собирались вручную. Партнёрам — проекту ШИФТ с ВШЭ и Академии VK Рекламы — нужны были свой домен, свой вход и интеграция, при которой данные не приходится переносить руками. ВКубе. Корпоративная платформа обучения сотрудников VK переходила со «Стади» на новую версию. К запуску интерфейс нужно было довести до приёмки фокус-группы. Кураторам требовались тесты с картинками и файлами, сотрудникам — понятные напоминания о тренингах в почте, на сайте и в календаре. Проверку заданий надо было передать от администраторов профильным экспертам. Учебные статьи, свёрстанные в Тильде, должны были нормально работать внутри платформы, в том числе в Safari. «Ревью 360». Компании понадобился собственный сервис оценки 360°: банк компетенций, проекты оценки с этапами, массовое добавление участников и отчёты. Главное ограничение было методологическим: результаты разных оценок должны оставаться сравнимыми, даже когда справочник компетенций меняется.
Моя роль
Fullstack-разработчик в образовательной команде VK с февраля 2025 года. Пишу бэкенд на Django и интерфейсы на React и веду задачу от проектирования до раскладки на прод вместе с SRE. За это время закрыл 116 задач: 41 по LMS VK Education, 51 по ВКубе, 21 по «Ревью 360» и ещё 3 по инфраструктуре и соседним проектам. Модели данных и API проектирую сам до начала разработки. В «Ревью 360» вместе с методологами спроектировал модели компетенций, проектов оценки и этапов. В ВКубе спроектировал интерфейсы эксперта и систему уведомлений. Для кабинета VK Рекламы спроектировал интеграцию и написал документацию API для внешней команды и QA.
Решение
LMS VK Education. Расписание сначала собрал отдельным прототипом для десктопа и телефона, затем встроил в LMS виды месяца, недели с линией текущего времени и списка на семь дней. Формат данных заранее согласовали с бэкендом. Расписание выгружается в ICS с выбором роли, дисциплин и типов занятий, а повторный импорт обновляет события в календаре и не создаёт дублей. Уведомления о переносе занятий и о зачислении приходят и в VK Мессенджер от выбранного сообщества, а в разделе рассылок виден статус доставки по каждому каналу. Ежедневные DAG в Airflow загружают события MyTracker и статистику рассылок в PostgreSQL для дашбордов аналитиков. Задания с ИИ-тренажёром CX HUB получили свои карточки, тултип с расшифровкой нескольких оценок и состояния кнопки сдачи. Партнёрские проекты. Для ШИФТ с ВШЭ — посадочная страница на отдельном домене со входом через VK ID и REST API: система партнёра сама заводит элементы расписания и преподавателей, а права проверяются по проекту и интеграции. Для Академии VK Рекламы — вход через OAuth кабинета VK Рекламы и server-to-server API. Пользователи создаются идемпотентно по внешнему идентификатору, зачисляются в группу по версии программы, а прогресс и сертификаты отдаются по запросу кабинета VK Рекламы. Для API подготовил документацию с форматами ошибок и коллекции Postman. Видео и SEO. Видеоплеер платформы регулярно сбоил, особенно на телефонах и при слабом соединении. Я сравнил альтернативы по надёжности, адаптивному стримингу и совместимости с устройствами, проверил Shaka Player пробной интеграцией на реальном сценарии и защитил выбор в команде — платформа перешла на него. Нашёл причину протухающих ссылок MinIO при просмотре видео на слабом соединении. Настроил заголовок Last-Modified, который Django передаёт в Next.js, чтобы поисковые роботы видели свежесть страниц. ВКубе — React поверх Django. Систему уведомлений сделал с нуля. Шаблоны писем редактируются в CKEditor в админке и отправляются через Celery с контекстом пользователя и проекта. К записи на поток прикладывается ICS, и при изменении тренинга событие в календаре обновляется без дубля. Уведомления на сайте приходят в реальном времени через Centrifugo: изменение вебинара, зачисление из очереди, напоминание за 30 минут. Перенос встречи не порождает повторных напоминаний. Интерфейс тестов поддерживает три типа вопросов и вложения, а промежуточный прогресс сохраняется, чтобы продолжить с места остановки. Этого не было в требованиях, добавил по своей инициативе. Интерфейс экспертной проверки спроектировал до разработки: таблица заданий с фильтрами в адресной строке, последовательная проверка вопросов, история попыток и оценок. Если два эксперта одновременно берут одно решение, конфликт разрешается через Centrifugo. Встроенная Тильда подстраивает высоту iframe, масштабируется на промежуточных ширинах и работает в Safari. Ещё сделал вкладку программ в каталоге, закрепление курсов, отчёт по опросам с фоновой генерацией больших файлов и ссылкой на почту. Автотесты с разными ролями, перехватом почты через maildev и без живого Celery запускаются в CI. «Ревью 360» — React и Vite на фронтенде, Django 5 на бэкенде. Сначала подготовил схемы данных: банк компетенций с индикаторами и шкалами, проекты оценки, участники и респонденты, этапы и права администратора, руководителя, HRBP и сотрудника на каждом этапе. С методологами договорились, какие изменения справочника делают результаты несравнимыми. Поэтому компетенцию, уже используемую в оценке, нельзя отредактировать, её можно только безопасно скопировать. Администратор заводит проект в ssadmin: классическая или ипсативная шкала, веса индикаторов с проверкой суммы на 100%, открытые вопросы, этапы, которые переключаются кнопкой с проверкой готовности. Компетенции, оцениваемые и респонденты загружаются из XLSX с предпросмотром до записи в базу. Временные файлы импорта лежат в S3, поэтому сервис не зависит от конкретного инстанса. Отчёты считаются пакетно. Персональный показывает индексы сильных сторон и зон развития и блок рекомендаций. Групповой сравнивает роли респондентов. В анонимизированной выгрузке при малом числе ответов вместо значения стоит «Недостаточно данных».