Открыт к предложениям · Ташкент

IlyaStarodubtsev

Fullstack-инженер

Делаю продукты целиком — модель данных, API, интерфейс, деплой. Тринадцать лет этим занимаюсь, плюс образование по кибербезопасности: оно проявляется в тех местах системы, которые никто не показывает на демо.

13лет в разработке
10человек в команде, которую вёл
5языков в проде
Ilya Starodubtsev
01 — Избранное

Что я собрал.

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

RETAIL

CRM для сети магазинов

CRM для крупной торговой сети. В ней живёт вся база покупателей, программа лояльности целиком и механика опросов и розыгрышей — четыре подсистемы поверх одних и тех же профилей, а не четыре сшитых между собой продукта.

PythonFastAPITypeScriptNext.js
600k+пользователей в базе
ЗАЩИТАКассир, маркетолог и администратор видят разные части профиля, а телефоны и адреса покупателей не показываются целиком. Баллы нельзя начислить или списать дважды — это деньги, — а розыгрыши защищены от накрутки с нескольких аккаунтов.
B2B

Бот заказа доставки с программой лояльности

Телеграм-бот приёма заказов и программа лояльности для компаний: заказ, статусы, начисление и списание баллов — поверх учётной системы заказчика, которую я не контролировал и которая менялась без предупреждения. Минимум 60 заказов в день. 2025.

PythonFastAPIaiogram
30kзарегистрированных в боте
ЗАЩИТАОплаты идут через провайдера — карточные данные не доходят до нашего сервера. Никто из работающих с заказом — ни оператор, ни курьер, ни владелец точки — не видит телефон и адрес клиента целиком.
EVENTS

Билетный агрегатор для фестивалей

Продажа билетов на фестивали ComicCon и GeekCon в Ташкенте — одна площадка на оба, а не отдельный сайт под каждое событие. Нагрузка не растекается по дням: она приходит в первые минуты после открытия продаж, поэтому система считалась под этот момент, а не под средний день. Билет остаётся в личном кабинете и дублируется письмом на почту. С 2024 года и по сей день.

PythonDjangoJavaScriptReact
40kзарегистрированных пользователей
ЗАЩИТАОдин билет проходит один раз: его нельзя продать дважды и нельзя предъявить на входе повторно — на входе проверяет система на площадке. Оплаты и возвраты обработаны так, чтобы состояние билета и состояние платежа не расходились.
STUDIO

Запись и программа лояльности для тату-салона

Клиент занимает конкретный слот, а не спрашивает, когда есть место, и салон работает по одному расписанию. Программа лояльности живёт на тех же карточках клиентов, а не в отдельной тетради. С 2024 года и по сей день.

PythonDjangoMySQLaiogramJavaScriptNext.js
2k+клиентов в базе
ЗАЩИТАДвое не займут один слот: одновременные записи разводятся на уровне базы, а не по принципу «кто успел». Телефон клиента не показывается целиком, а мастер видит своё расписание и своих клиентов, а не всю базу салона. Баллы нельзя начислить или списать дважды.
02 — Стек

Чем я реально собираю.

Всё, что ниже, работало в проде. Ничего не добавлено потому, что хорошо смотрится в списке.

ЯЗЫКИ
GoPythonTypeScriptJavaScriptDartGoPythonTypeScriptJavaScriptDart
БЭКЕНД
GinEchoFastAPIDjangoaiogramGinEchoFastAPIDjangoaiogram
ФРОНТЕНД И МОБИЛЬНОЕ
ReactNext.jsFlutterReactNext.jsFlutter
ДАННЫЕ И ИНФРА
PostgreSQLMySQLMongoDBRedisDockerKubernetesNginxPostgreSQLMySQLMongoDBRedisDockerKubernetesNginx
03 — Опыт

Где я работал.

Тринадцать лет и те их куски, которые стоит называть.

2026 — СЕЙЧАС

Fullstack-инженер

В найме

Делаю платформу юридического агрегатора.

2026

School 21 — кибербезопасность

Выпуск

Финальный проект по атаке и эксплуатации: поиск уязвимостей и разбор чужого кода на дыры.

2024 — 2026

Team Lead

AbexLab

Вёл команду из десяти человек.

2013 — СЕЙЧАС

Тринадцать лет в коде

Свои проекты и фриланс

Пять лет из тринадцати — в найме, в нескольких компаниях. Остальное — свои проекты и фриланс.

04 — Контакты

Давай что-нибудь построим.

Открыт к fullstack-контрактам, постоянной работе и аудитам того, что написали другие.

Напиши мне