Все кейсы
#React
#Laravel
#TypeScript
#PostgreSQL
#Python
#ML

Платон

Разработали сервис мониторинга публичных запросов на разработку с ML-классификатором и CRM.
01 — Контекст
Одно из ключевых направлений нашей компании — аутстаффинг разработчиков.

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

Проблема и задача

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

Для решения проблемы мы разработали внутренний сервис, который мониторит все источники (парсинг), при помощи машинного обучения самостоятельно классифицирует по необходимым параметрам все запросы и предоставляет менеджерам интерфейс для работы с этими данными.

Помимо core-функционала (парсинг и ML-классификация), мы разработали специализированную CRM, которая адаптирована строго под работу с клиентами в формате аутстаффинга.
02 — Функционал

Парсинг каналов

Один из важнейших элементов — парсинг телеграмм-каналов. Сейчас осуществляется мониторинг более 50 каналов и чатов (как публичных, так и закрытых). Ежедневный объем обрабатываемых сообщений доходит до 500.

Все полученные сообщения моментально заносятся в базу данных и становятся доступны в интерфейсе сервиса.
02 — Функционал

ML-классификатор

Наличие ML-классификатора — главная особенность разработанного сервиса.

Мы собрали датасет из нескольких десятков тысяч запросов, произвели его ручную разметку и на основе этих данных обучили разработанную нейросеть самостоятельно классифицировать все запросы по интересующим нас параметрам.

На текущий момент нейросеть умеет: 
определять релевантные и «мусорные» сообщения; 
определять смысл сообщения: это запрос ресурсов или же предложение ресурсов;
выделять технологический стек, о котором идет речь в сообщении;
определять необходимый уровень разработчика: junior, middle, senior.
Благодаря этой автоматизации в базу сервиса попадают сразу классифицированные сообщения.
02 — Функционал

Работа с запросами

Менеджеры на основе их прав доступа могут видят те или иные сообщения.

Лента предоставляет возможность фильтрации сообщений, а также работы с параметрами запросов.
02 — Функционал

Автоматический мониторинг по параметрам

Каждый менеджер может настроить для себя мониторинг запросов по определенным параметрам (например: «запросы на Middle React разработчиков»). Если в процессе парсинга будет найден такой запрос — менеджер мгновенно получит уведомления в телеграм и на почту.
02 — Функционал

CRM

CRM разработана с учетом особенностей взаимодействия при работе в формате аутстаффинга. Удобное представление данных по текущим запросам, назначенным интервью и актуальному пулу свободных разработчиков помогают менеджерам держать руку на пульсе и ничего не забывать.
02 — Технологии и архитектура

Стек и архитектура

Применяется микросервисная архитектура.

Для реализации микросервиса парсинга и ML-классификатора используется Python.

Основной бэкенд работает на Laravel, база данных — PostgreSQL.

Основной фронтенд реализован на React + TypeScript.
04 — Результаты

Результаты

Ежедневно сервис обрабатывает и классифицирует 200+ запросов из 50+ каналов и чатов. 

Точность автоматической классификации на текущий момент более 80% (8 из 10 запросов классифицируются корректно). 

У менеджеров больше нет ежедневных трудозатрат на мониторинг каналов с запросами. 

Модуль аналитики показывает динамику изменения спроса на рынке в разрезе технологий, спроса и предложения, что позволяет принимать управленческие решения на основе репрезентативных данных.

Благодаря мониторингу менеджеры получают уведомления и реагируют на релевантные запросы в течение часа с момента их появления.
05 — Команда

Команда разработки

Надежда Мокрушина
Руководитель проекта
Евгений Голубаев
Backend-разработчик, ML-классификатор
Дмитрий Бобров
Ведущий Frontend-разработчик
Александр Шорохов
QA
Олег Казаков
DevOps, архитектор
Дмитрий Плотников
Backend-разработчик
Никита Бударин
Backend-разработчик
Анна Кондратьева
Аналитик

Связаться с нами

Хотите обсудить свой проект? Воспользуйтесь формой обратной связи и мы начнем общение.