Не «сколько», а «насколько сложно»

Сложные проекты
и как я их решал

10 задач, которые были вызовом.

Это не список всех проектов — это разбор конкретных сложных ситуаций: в чём была проблема, что я сделал, к чему это привело. Часть проектов под NDA — детали обсуждаемы на созвоне.

10
сложных задач
14+
лет опыта
9M+
записей в БД
100%
удалённо
🎯

Что делает эту страницу особенной

Любой может сказать «у меня 280 проектов». Здесь — разбор того, где было реально трудно: как я находил решение, что делал, к чему это привело. Это ответ на вопрос нанимателя: «а он умеет решать сложные задачи или только делать простое?»

Все проекты →

Как читать кейсы

⚠️

Проблема

В чём была сложность

🔧

Решение

Что я сделал

✅

Результат

Что получилось

01

DICOM exporter: 9+ млн медицинских снимков

Медицина

ГК Эксперт • Python + PostgreSQL + PACS • 2023–2024

⚠️ Проблема

База данных на 9+ млн DICOM-записей в PostgreSQL. Медицинский атлас требовал выгрузки и обработки данных с PACS-серверов, но стандартные запросы работали по 30+ секунд. Часть снимков была повреждена или в устаревших форматах. Нужна была утилита, которая работает стабильно с такими объёмами.

🔧 Решение

Написал Python-утилиту на pydicom + psycopg2: работа с БД через курсоры и чанки (не гружу всё в память), оптимизировал SQL-запросы и добавил нужные индексы, реализовал обработку повреждённых файлов без падения скрипта. Логирование через logging — видел, что происходит на каждом этапе. Обработка через генераторы — минимальное потребление RAM.

✅ Результат

Утилита стабильно работает с базой на 9+ млн записей. Время выборки сократилось с десятков секунд до приемлемого. Обработка 8+ млн снимков для медицинского атласа atlas-xray.expert без сбоев. Автоматизировал рутину, которая раньше делалась вручную.

Python PostgreSQL pydicom PACS 9+ млн записей
02

Объединение трёх WordPress в один сайт + миграция на Yii2

Миграция + SEO

romantic.ua • WordPress ×3 → Yii2 • Сохранение SEO-адресации

⚠️ Проблема

Три отдельных WordPress-сайта с пересекающимся контентом, разными структурами URL и своими SEO-позициями. Нужно было объединить их в один сайт на Yii2 — без потери поискового трафика. Любая ошибка в адресации = потеря позиций, накопленных годами. Плюс — перенести все данные: товары, статьи, категории, пользователей, изображения.

🔧 Решение

Составил полную карту URL всех трёх сайтов и спроектировал единую структуру нового сайта. Настроил 301-редиректы со старых URL на новые — каждый адрес сохранил свой вес. Парсером вытащил контент из трёх WordPress, нормализовал данные и залил в Yii2. Сохранил все мета-теги, canonical, sitemap. Мониторил индексацию после переезда. Параллельно — разработка нового сайта на Yii2 с нуля.

✅ Результат

Три сайта объединены в один на Yii2. SEO-трафик сохранён без просадки — 301-редиректы и правильная структура сработали. Позиции в поиске удержаны. Клиент получил один управляемый сайт вместо трёх разрозненных.

Yii2 WordPress 301-редиректы SEO Миграция данных
03

Два браузерных расширения: Gust Staging Switcher и Gust Form Filler

Расширения

Личные проекты • JavaScript, Chrome Extensions API

⚠️ Проблема

Gust Staging Switcher: при работе над сайтами постоянно нужно было переключаться между prod и staging-доменами, сохраняя текущий URL. Руками — долго и с ошибками.
Gust Form Filler: заполнение карточек товаров в магазинах — рутина на десятки полей. Каждый раз одно и то же.

🔧 Решение

Gust Staging Switcher: расширение для Chrome, которое автоматически определяет текущий домен (prod/staging) и одним кликом открывает зеркальную страницу с сохранением пути и всех параметров. Настраиваемые правила для разных проектов.
Gust Form Filler: расширение для быстрого заполнения товаров в админках магазинов. Шаблоны полей, автозаполнение по нажатию, поддержка разных CMS.

✅ Результат

Оба расширения используются в реальной работе. Переключение prod/staging — мгновенно, без ошибок. Заполнение товаров — в разы быстрее. Инструменты экономят часы рутины.

JavaScript Chrome Extensions Browser API Автоматизация
04

Футбольный агрегатор со сбором статистики

Парсинг + данные

Личный проект • Парсеры + Yii2 • Статистика и аналитика

⚠️ Проблема

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

🔧 Решение

Разработал систему парсеров на PHP (Yii2) для нескольких источников: каждый парсер отвечает за свой сайт, приводит данные к единому формату и сохраняет в БД. Настроил регулярный сбор по cron. Написал слой аналитики: расчёт статистики, агрегация, экспорт отчётов. Обработка дублей, конфликтов данных, неполных записей.

✅ Результат

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

PHP Yii2 Парсинг Cron Аналитика
05

Перенос магазина кофе с самописки на Yii2

Миграция + SEO

Интернет-магазин кофе • Самописка → Yii2 • Сохранение адресации

⚠️ Проблема

Интернет-магазин кофе работал на старой самописке. Код сложный, поддержка дорогая, добавить новый функционал — боль. При этом сайт хорошо ранжировался в поиске — терять позиции нельзя. Нужно было перенести всё на Yii2 с полным сохранением адресации и SEO-метрик.

🔧 Решение

Собрал карту всех URL старого сайта, спроектировал структуру на Yii2 с сохранением ЧПУ. Разработал новый магазин с нуля: каталог, корзина, оформление, личный кабинет. Все данные (товары, категории, пользователи, заказы) перенёс без потерь. Настроил 301-редиректы со старых URL на новые. Сохранил мета-теги, микроразметку, sitemap. Мониторил индексацию и позиции после переезда.

✅ Результат

Магазин перенесён на Yii2 с сохранением позиций и трафика. Поддержка и развитие стали проще, новые фичи добавляются быстро. SEO-трафик остался на прежнем уровне, позиции удержаны.

Yii2 Самописка Миграция 301-редиректы SEO
06

Обменник валют с 7+ платёжными системами

Финтех

Фенек • Yii2 • 2012–2015

⚠️ Проблема

Обменник криптовалют и электронных валют с 7+ платёжными системами (ЮKassa, QIWI, WebMoney, Robokassa и др.). Каждая — со своим API, форматами callback, логикой подтверждения платежа. Нужно было сделать единый механизм обработки транзакций, при котором ни одна копейка не потеряется — даже при сбоях платёжек или обрывах сети.

🔧 Решение

Спроектировал единый слой абстракции над платёжными системами (каждая — свой адаптер). Реализовал очередь транзакций с идемпотентностью — повторный callback не создаёт дубль. Двухфазное подтверждение: сначала резерв, потом финализация. Логирование всех операций + верификация статуса через API платёжки, если callback не пришёл. Автоматическая выдача валюты после подтверждения.

✅ Результат

Обменник стабильно обрабатывал транзакции без потерь. Даже при падении одной платёжной системы — остальные работали. Рекуррентные платежи, история операций, автовыдача — всё работало автоматически. Проект жил несколько лет.

Yii2 Финтех 7+ платёжек Транзакции Идемпотентность
07

Международный обменник валют

Финтех

Фенек • Yii2 • 2013–2016

⚠️ Проблема

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

🔧 Решение

Интеграция с западными платёжными системами через единый слой абстракции. Реализация KYC-верификации (сбор документов, проверка, статусы). Мультивалютность с динамическими курсами и фиксацией на момент транзакции. Рекуррентные платежи и подписки. Логика комплаенса под разные юрисдикции. Автоматическая обработка сбоев и ретраев.

✅ Результат

Международный обменник работал с реальными пользователями из разных стран. KYC-верификация, мультивалютность, рекуррентные платежи — всё стабильно. Проект жил несколько лет на международном рынке.

Yii2 Western APIs KYC Мультивалютность Compliance
08

Кабинет для стримингового ТВ

Streaming

my.rustv.online • Next.js • США • Личный проект

⚠️ Проблема

Стриминговый сервис на рынке США нуждался в личном кабинете для подписчиков: управление подпиской, история просмотров, биллинг, интеграция с несколькими системами. Фронтенд на Next.js + интеграция с backend-сервисами сервиса. Нужно было работать с американскими платёжными системами и часовыми поясами.

🔧 Решение

Разработал личный кабинет на Next.js: SSR для SEO-страниц и быстрой загрузки, авторизация, управление подпиской, история просмотров, смена тарифа. Интеграция с backend-сервисами сервиса через REST API. Работа с американскими платёжными системами. Корректная обработка таймзон и локальных форматов.

✅ Результат

Кабинет работает для американских пользователей стримингового сервиса. Управление подпиской, история, биллинг — всё стабильно. Интеграция с backend сервиса работает без сбоев.

Next.js React REST API Streaming США
09

Три ERP для заводов по ТЗ от предприятий

ERP

Промышленные предприятия ×3 • Yii2 • 2015–2019

⚠️ Проблема

Три разных завода — три разных ТЗ. Каждый завод работал по-своему: своя логика учёта производства, свои процессы склада, свои отчёты для руководства. Готовые ERP не подходили — нужна была кастомная система под каждый завод с учётом их специфики. Плюс — интеграция с 1С и складским оборудованием.

🔧 Решение

Для каждого завода — своя ERP на Yii2 с нуля, по их ТЗ. Учёт производства, склад, логистика, отчётность, роли и права, workflow-согласование. Интеграция с 1С (обмен товарами, заказами, остатками). Подключение к складскому оборудованию. Кастомные отчёты под каждое предприятие. Обучение сотрудников и поддержка.

✅ Результат

Три завода получили свои ERP-системы, работающие под их процессы. Учёт производства автоматизирован, отчётность для руководства — в реальном времени. Интеграция с 1С и оборудованием работает стабильно. Проекты жили несколько лет.

Yii2 ERP Производство 1С Склад
10

Сервис оплаты кабельного ТВ для рынка США

Финтех

Фенек • Yii2 + Stripe • 2016–2018

⚠️ Проблема

Сервис оплаты кабельного ТВ для американского рынка. Интеграция со Stripe, рекуррентные платежи, личный кабинет, автоплатежи, история подписок. Сложность — в различиях между российскими и западными платёжными стандартами: PCI DSS, требования Stripe к потокам платежей, обработка отказов и возвратов, работа с таймзонами.

🔧 Решение

Полная интеграция Stripe: Stripe Checkout + Stripe Subscriptions для рекуррентных платежей. Webhooks для обработки всех событий (успех, отказ, возврат, отмена подписки). Идемпотентность платежей. Личный кабинет с историей, управлением подпиской, привязкой карты. Логика ретраев при отказах. Учёт таймзон и локальных требований.

✅ Результат

Сервис работал с реальными американскими клиентами. Рекуррентные платежи, автоплатежи, обработка отказов — всё стабильно. Проект жил несколько лет на рынке США.

Yii2 Stripe Subscriptions Webhooks США

Что объединяет эти проекты

🎯

Умею разбираться в чужом коде

Legacy без документации, самописки, чужие проекты — не пугаюсь. Сначала понимаю, потом меняю.

⚡

Работаю с высокими нагрузками

9+ млн записей в БД, транзакции в финтехе, marketplace с реальными пользователями — не боюсь объёмов.

🔄

Мигрирую без потерь

Сохранение SEO при миграции, 301-редиректы, перенос данных без потерь. SEO-трафик не просаживается.

🚀

Довожу до результата

Не «попробовал и не получилось», а «сделал, работает, клиент доволен». Ответственность за результат.

Похожая задача?

Неверович Владимир Сергеевич

Если у вас есть сложный проект, от которого отказываются другие — напишите. Разберусь.

← На главную • Все CMS • Все проекты