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

Это история о том, как я написал полноценную CRM-систему с помощью ChatGPT, работая обычным менеджером по работе с заказчиками.

Пример творчества нейросетей.
Пример творчества нейросетей


Я решил поделиться своим опытом использования нейросети в рабочих процессах в действующей компании.

Возможно, кому-то это будет полезно, и побудит что-нибудь эдакое сварганить и для себя.

До недавнего времени, я работал в организации, которая поставляла инженерные материалы для новостроек в СПБ и Лен Области.

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

И так как мы являлись не единственным дистрибутором и толкались на рынке еще с парой тройкой десятков таких же дистрибуторов - существовала специальная процедура, позволяющая получить преимущество относительно других дистрибуторов при продаже продукции (по цене)

Процедура эта называлась крепление объекта.

По сути на, спец ресурсе производителя / в лс ответственному менеджеру / по почте нужно оставить заявку, доказывающую, что на данном объекте ты работаешь больше лучше и активнее чем твои коллеги, после чего ты получал преимущество по цене.

Проблема

После моего прихода в данную компанию, оказалось что какого либо контроля/статистики по данному процессу не ведется, многие крепления "теряются", многие объекты упускаются.

Ситуация усугублялась тем, что крепление отправляется не только по объекту, но и по подрядчикам. А у одного менеджера могло быть по 20 штук этих самых подрядчиков, и ситуация когда про кого-то забывали, теряли - была не редкой.


Я пробовал вести в экселе статистику по объектам и креплениям, но по ходу наполнения информацией я понял что в перспективе это неудобно, неэффективно.

Что же делать?

Идея

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

Ниже пример экранного переводчика/помощника который я делал для себя, под игру GW2

https://youtu.be/OXzBTKXJgeE

Реализация

Первое, что нужно было сделать — прописать максимально подробное ТЗ, в котором описать свой финальный результат.

Я описал нейросети скелет приложения, как я его вижу, какой стек хочу использовать, прописал правила форматирования текста (чтобы код был читаемым для дальнейшей доработки), правила организации кода, модульность маршруты, завёл чейнжлог, инициировал репозиторий в гитхабе и начал работу по вечерам, после смен. Тратил времени относительно немного, 8–9 часов в неделю.

И вот спустя 2–3 недели разработки, 300+ пушей в гитхаб, и неисчислимого количество багфиксов, появилось оно — моё первое полностью рабочее веб приложение, которое я потащил в директорат на согласование.

Ниже прикладываю скрины и описание функционала (ДИСКЛЕЙМЕР, чувствительных данных нет, вся информация «тестовая», сгенерированная, никаких данных компании я не раскрываю)

Страница авторизации встречает простым лаконичным логин/пароль. Есть защита от брутфорса. Так же интегрирована гугловская капча. Кнопки регистрации/сброса пароля нет, т.к количество пользователей не превышало 15 человек - всех заводил вручную.
Страница авторизации встречает простым лаконичным логин/пароль. Есть защита от брутфорса. Так же интегрирована гугловская капча. Кнопки регистрации/сброса пароля нет, т.к количество пользователей не превышало 15 человек - всех заводил вручную.

Страница авторизации встречает простым лаконичным логин/пароль. Есть защита от брутфорса. Так же интегрирована гугловская капча. Кнопки регистрации/сброса пароля нет, т.к количество пользователей не превышало 15 человек - всех заводил вручную.

Главная страница (от лица администратора, у юзера меньше кнопок в навбаре). Тут можно увидеть текущие заявки, их статус/автора/дату размещения. Реализована система поиска и пагинация.
Главная страница (от лица администратора, у юзера меньше кнопок в навбаре). Тут можно увидеть текущие заявки, их статус/автора/дату размещения. Реализована система поиска и пагинация.

Главная страница (от лица администратора, у юзера меньше кнопок в навбаре). Тут можно увидеть текущие заявки, их статус/автора/дату размещения. Реализована система поиска и пагинация.

Несмотря на то, что в бд приличное кол-во записей, веб приложение достаточно шустро работает на таком скромном железе. (учитывая кол-во пользователей Big data тут и нее пахнет :) )
Несмотря на то, что в бд приличное кол-во записей, веб приложение достаточно шустро работает на таком скромном железе. (учитывая кол-во пользователей Big data тут и нее пахнет :) )

Несмотря на то, что в бд приличное кол-во записей, веб приложение достаточно шустро работает на таком скромном железе. (учитывая кол-во пользователей Big data тут и не пахнет :-) )

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

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

Первый шаг - предлагает нам выбрать объект. Начинаем вводить название/номер и срабатывает автодополнение подсказывая варианты. Если такого объекта нет в системе предлагается его добавить.

Второй шаг предлагает выбрать подрядчика/подрядчиков.

Третий шаг отметить производителей, по которым мы хотим отправить заявки на крепление

И финальный шаг предлагает проверить введённую информацию, добавить комментарии, при необходимости и загрузить документацию.

Шаги первый второй и третий, везде есть автодополнение которое ищет в бд "на лету" то что мы вводим.
Шаги первый второй и третий, везде есть автодополнение которое ищет в бд "на лету" то что мы вводим.

Шаги первый второй и третий, везде есть автодополнение которое ищет в бд "на лету" то что мы вводим.

Финальное окошко в котором мы подтверждаем информацию
Финальное окошко в котором мы подтверждаем информацию

Финальное окошко в котором мы подтверждаем информацию

Я считаю, что получилось достаточно просто и интуитивно, UX/UI не пострадал ;-)

Окно просмотра заявки получилось тоже достаточно простым, мы видим заявку, её статус/переписку (комментарии), и скриншоты подтверждающие отправку/подтверждение крепления. Так же если к заявке прикреплены файлы они тоже отображаются и доступны для скачивания.

По результатам отслеживание креплений стало значительно проще.

Исчезли ситуации с потерей данных, забытыми подрядчиками, усилился контроль за бизнес процессом.

В компании работу приняли, используют.

Мне даже заплатили небольшую премию, было приятно.

Т.к когда я уволился мы никаких NDA/лицензионных договоров не подписывали, считаю что могу свободно распоряжаться данным ПО и приглашаю всех желающих зайти посмотреть что получилось.

https://gerbesh.ru/ (развернул на домене который был в наличии, не покупать же новый ради демки)

Авторизация доступна по кнопке "демо вход"

Git - https://github.com/Gerbesh/MyCRM (гит урезанный, без чейнжлога этапов разработки и части данных, т.к в оригинальном репозитории содержатся чувствительные данные).

Вывод

Что хотелось бы сказать.

Я считаю, что это невероятно круто, что любой пользователь с нулевым/околонулевым знанием языков программирования может написать для себя/для работы проект, позволяющий сделать жизнь/работу лучше и легче.

Не мемами едиными, выходит :-)

Искренне благодарю всех, кто дочитал до конца. Чукча не писатель, но ради вас старался.

Готов подробно ответить на все вопросы в комментариях, ежели таковые будут.