unique·developer

В разработке с 2015

АртыковЖавлонбек

Full-stack разработчикDjango · PostgreSQL · Celery · Linux

Пишу код с 7 класса. Проектирую архитектуру, пишу бэкенд и сам держу его в проде.

Ташкент · офис или удалёнка · открыт к предложениям


Начал делать сайты в 7 классе и с тех пор из разработки не уходил. Начинал с лендингов в агентстве, сейчас веду mstar.uz: платформу продажи билетов крупнейшего организатора мероприятий в Ташкенте. Django, PostgreSQL, Celery, Redis, WebSocket. Один разработчик, в проде с 2024 года.

Отвечаю за всё: схему данных, REST API, ролевую модель, платёжные интеграции, сервер, деплой, бэкапы и поддержку. На том же коде поднял второй инстанс под другой бренд — с отдельной базой, своим окружением и сквозным журналом действий.

Параллельно закончил Computer Science в Zhejiang University of Technology и работал в Китае: партнёрские переговоры, продажи, перевод. Поэтому одинаково спокойно проектирую систему и договариваюсь с поставщиком на китайском.

В проде с 2024

mstar.uz

Платформа продажи билетов крупнейшего организатора мероприятий в Ташкенте.

  • Django
  • Один разработчик
  • С нуля до продакшена
  • ~150kстрок Python
  • 45Django-приложений
  • 544теста
  • 233миграции

  • Спроектировал схему данных, REST API и ролевую модель; написал проект целиком, от первой строки до запуска.
  • Вырос из лендинга в систему онлайн-продажи, связанную с физической кассой и офисом продаж в реальном времени.
  • Развернул и сопровождаю сервер: PostgreSQL, Redis, Celery, Nginx, Gunicorn, systemd, SSL, ежедневные бэкапы.
  • Веду проект дальше: новые модули, рефакторинг, ревью собственного кода и разбор инцидентов.
Открыть mstar.uz

Два продакшена, которые я вёл от чистого листа до эксплуатации. По каждому — задача, архитектурное решение, почему именно так, и что получилось.

  1. mstar.uz

    Платформа продажи билетов

    В проде с 2024

    Единственный разработчик: архитектура, код, инфраструктура, поддержка

    mstar.uz

    Задача

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

    Решение

    Состояние места разделено на два уровня. Временные холды живут в Redis: атомарный Lua-скрипт кладёт ключ через SET NX EX с owner-token, добавляет место в набор владельца и публикует событие в канал; TTL сам снимает брошенные корзины. PostgreSQL — единственный источник истины по «продано»: заказ финализируется в транзакции с select_for_update. Django Channels раздают изменения по WebSocket на все открытые схемы зала. Celery beat раз в минуту чистит протухшие холды, раз в десять минут сверяет кассовые холды с базой, раз в три минуты добивает зависшие платежи.

    Почему так

    Холд живёт минуты, а создаётся сотнями в секунду. Держать его в PostgreSQL — значит лочить строки на пике продаж и ловить дедлоки. Redis даёт атомарность и TTL бесплатно. Но Redis нельзя доверять деньги, поэтому факт продажи фиксируется только в базе, а Redis остаётся быстрым слоем с периодической сверкой. Owner-token в значении ключа, а не просто флаг занятости, — чтобы чужая вкладка не сняла ваш холд.

    Результат

    Двойных продаж нет: онлайн и касса торгуют одним залом в реальном времени. Платформа работает в продакшене с 2024 года, я веду её один — от схемы данных до сервера, деплоя и бэкапов.

    Стек

    • Python
    • Django
    • DRF
    • PostgreSQL
    • Redis
    • Celery
    • Django Channels
    • WebSocket
    • JWT
    • Nginx
    • Gunicorn
    • React
    • TypeScript
    • GitHub Actions
  2. Второй бренд платформы

    Изолированный инстанс под отдельного заказчика

    Запущен в 2026

    Единственный разработчик: изоляция инстанса, аудит, выкат

    Задача

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

    Решение

    Изоляция на уровне инстанса, а не общей схемы: отдельная база, свой Gunicorn на своём порту, свои конфигурации Nginx, systemd и PM2. Всё брендозависимое вынесено в настройки в базе плюс management-команда ребрендинга, поэтому выкат нового бренда — воспроизводимая процедура, а не правки руками по всему репозиторию. Сверху единый журнал действий: UUID-ключ, категория, действие, важность, модель и id объекта, старое и новое значение в JSONB, IP, user-agent, метод и путь запроса, индексы под выборку и архивация периода в файл.

    Почему так

    Два организатора — это два юрлица с разными деньгами. Изоляция по строкам в общей базе держится на дисциплине: один забытый фильтр в queryset — и чужие продажи видно. Я осознанно разменял удобство деплоя на гарантию изоляции. Единый журнал вместо отдельного лога в каждом модуле — чтобы у аудита был один запрос, один индекс и один формат diff-а.

    Результат

    Второй бренд поднят на том же коде и отработал сезон продаж, процедура выката задокументирована и повторяема. Заказчик под NDA — название не раскрываю, архитектуру разберу на созвоне.

    Стек

    • Django
    • PostgreSQL
    • Celery
    • Redis
    • JSONB
    • systemd
    • Nginx
    • PM2
    • React
    • Vite
    • Flutter

  1. 2024 – наст. время

    mstar.uz

    Full-stack разработчик, техническая поддержка

    Ташкент

    • Единственный разработчик платформы: архитектура, схема данных, REST API, ролевая модель, платежи.
    • Инфраструктура целиком: PostgreSQL, Redis, Celery, Nginx, Gunicorn, systemd, SSL, бэкапы, CI на GitHub Actions.
    • Онлайн-продажи связаны с физической кассой и офисом продаж, состояние зала расходится по WebSocket.
    • На том же коде запустил второй инстанс под отдельный бренд с изолированной базой и сквозным аудитом.
  2. 2025

    Развитие бизнеса партнёра

    Продвижение и инвестиции

    Ташкент

    • Вложил собственные средства, отвечал за продвижение и привлечение клиентов.
    • Проект завершён по обоюдному решению партнёров.
  3. 2024 – 2025

    Huadong Holding

    Менеджер по продажам, переводчик

    Китай

    • Организовывал переговоры о партнёрстве между холдингом и узбекскими фармацевтическими компаниями.
    • Устный и письменный перевод переговоров и документации в обе стороны: китайский и русский.
    • Внедрял AI-инструменты в работу отдела и обучал коллег ими пользоваться.
  4. 2020 – наст. время

    Talks UZ

    Сооснователь, разработчик

    Ташкент · проект на паузе

    • Медиапроект о культуре и событиях. Разработал сайт, отвечал за техническую часть и продвижение.
    • Освещение крупных концертов и мероприятий.
    • Проект приостановлен, команда разошлась.
  5. 2017 – 2020

    MustMedia UZ

    Веб-разработчик

    Ташкент

    • Разработка лендингов и корпоративных сайтов для клиентов агентства.
    • Вёрстка, работа с CMS, развёртывание на хостинге.
    • Пришёл в агентство школьником. Агентство закрылось в период карантина.
  6. 2015 – наст. время

    Семейный бизнес, производство текстиля

    Закупки и техническая поддержка

    Ташкент · частичная занятость

    • Работа с китайскими поставщиками: закупка сырья и запчастей, переговоры на китайском.
    • Обслуживание компьютеров и производственного оборудования: диагностика, ремонт, настройка.
    • Автоматизация рутинных процессов, в том числе с помощью AI-инструментов.
  7. 2015 – наст. время

    Фриланс, веб-разработка

    Сайты, лендинги, интернет-магазины

    Ташкент

    • Десятки проектов полного цикла: вёрстка, CMS, наполнение, развёртывание, передача заказчику.
    • Работы в приватных репозиториях, публично не выкладываются.

Открыт к предложениям

Рассматриваю офис в Ташкенте и удалённую работу. Быстрее всего отвечу в Telegram. Готов разобрать архитектуру любого своего проекта на созвоне.

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