mpal.ru
Межрегиональная Алюминиевая Компания
Каталог, поиск, анимированное mega-menu и разделы для архитекторов, девелоперов и дилеров. Сделан за 3 дня в связке с ИИ.
Fullstack-разработчик. Пишу на Next.js
Веду веб-проекты целиком: требования, архитектура, интерфейс, API, база данных, деплой и поддержка. Коммерческая разработка с 2020 года.
Ведувеб-проектыцеликом:уточняютребования,проектируюархитектуру,делаюинтерфейс,APIибазуданных,выкладываюнасервериподдерживаю.Коммерческаяразработкас2020года,первыеплатныепроектыс2018.
Сейчас в основном Next.js (App Router), React 19, TypeScript и Node.js, данные в PostgreSQL и MySQL. Хорошо разбираю проблемы в продакшене: производительность фронтенда, медленный SQL, нагрузку на диск. Вижу, где объём работ избыточен, и предлагаю, что упростить без потери результата.
Работаю самостоятельно и асинхронно: беру задачу, согласую результат и срок, довожу до продакшена без постоянного контроля. ИИ-инструменты использую как ускоритель, архитектуру, проверку и ответственность за код оставляю за собой.
Ещё около 50 проектов на WordPress. Цифры приблизительные, за всё время работы.
Межрегиональная Алюминиевая Компания
Каталог, поиск, анимированное mega-menu и разделы для архитекторов, девелоперов и дилеров. Сделан за 3 дня в связке с ИИ.
Kuhni Cosmos
32 000 товаров с поиском и фильтрацией, серверный рендеринг. Дизайн, архитектура, фронтенд и данные мои.
Федерация спортивного программирования Москвы
5 дисциплин, календарь соревнований с регистрацией, каталог площадок, новости и поиск. Next.js поверх headless WordPress.
Самые тяжёлые запросы шли больше минуты. После разбора и миграции таблицы стали отвечать примерно за секунду.
MySQL 8.0. Глубокая пагинация поиска тормозила на 10–20 секунд, самые тяжёлые запросы шли больше минуты.
Увеличение buffer pool со 128 МБ до 4 ГБ не помогло. Значит, дело было не в кэше.
Через EXPLAIN и анализ чтений нашёл причину: обратный поиск через FTS_DOC_ID_INDEX и чтение мегабайтных строк.
Рассмотрел вынос больших текстов, переезд на PostgreSQL и отдельный поисковый слой. PostgreSQL отпал, потому что пришлось бы переносить весь WordPress.
Явный FTS_DOC_ID, равный id книги, и миграция таблицы в фоне через дополнительную таблицу, без остановки поиска. Разбор и решение делал один.
PLRA · командная разработка
ГБУ ЦДМСИ «Крылья» · штатная работа, неполная нагрузка
Neon-Fox · проекты для малого и среднего бизнеса под ключ
Сайты на заказ · вход в профессию
Next.js 16, React 19 с React Compiler, PostgreSQL 18 и Drizzle, монорепо с фоновым воркером, TOTP-MFA, отзываемые сессии, приватное S3-хранилище для изображений. CI гоняет тесты на PostgreSQL, собирает образы, накатывает миграции и откатывает релиз при провале health-check.
Подряд, проект с фиксированным объёмом, абонемент на месяц, частичная занятость.
Договор с ИП, счёт, закрывающие документы. NDA подписываю.
На связи в рабочее время, удобно работаю асинхронно.
Быстрее всего отвечаю в Telegram. Работаю как ИП: договор, счёт, закрывающие документы.