Опыт работы
Хронология: где работал, что делал, какие задачи решал.
# Коммерческий опыт
Ahead
Frontend-разработчик (Платформа автошколы)
Май 2025 — Наст. времяОсновной фронтенд-разработчик платформы автошколы: веб-система и мобильные приложения под iOS/Android, миграция интерфейса с серверных PHP-страниц на Next.js 15 и перевод мобильного приложения на Expo.
Ключевые достижения:
- Перевёл интерфейс корпоративного портала с серверных PHP-страниц на Next.js 15 (App Router, RSC) без остановки работы: редиректы Nginx и BFF-прокси позволили старой и новой системам работать параллельно. Старый портал выключен, от него остался только API.
- Внедрил на вебе Feature-Sliced Design с генератором слайсов и единым API-клиентом, что упростило онбординг новых разработчиков. Перевёл тесты веб-клиента с Jest на Vitest (42 тестовых файла).
- Перевёл мобильное приложение на Expo SDK 54 (Prebuild, Router), заменил Redux на Zustand + React Query: ручную поддержку ios/android заменили декларативные конфиги. Кодовая база стала короче на 16 810 строк (аудит Knip, Fallow), циклические зависимости устранены.
- В мобильном приложении написал около 500 тестов, настроил проверки перед коммитом через Lefthook и автоматические релизы в TestFlight и Google Play через Fastlane и Semantic Release.
- Разработал сложные UI-модули: граф оргструктуры на React Flow + ELK.js, редактор регламентов на Quill с версионированием, Kanban и чаты (события WebSocket пишутся прямо в кэш TanStack Query), командный график с виртуализацией списков.
- Внедрил типизированную аналитику: единая схема событий, из которой выводятся типы, отправка в AppMetrica в мобильном приложении и в Яндекс Метрику в вебе.
- Частично затрагивал бэкенд на Laravel + PostgreSQL: тюнинг SQL-запросов и индексов, доработка бизнес-логики на JSON-RPC.
- Устранил дубли пуш-уведомлений: почистил невалидные токены в сервисе на NestJS + MongoDB.
Frontend-разработчик (Mobile e-commerce)
Декабрь 2024 — Май 2025Разработал мобильное e-commerce приложение для ритейла с нуля до продакшена.
Ключевые достижения:
- Разработал приложение с нуля до продакшена: React Native, Redux Toolkit с нормализацией данных, интеграция WooCommerce API.
- Довёл тяжёлые списки товаров до стабильных 60 FPS на бюджетных устройствах — FlatList/SectionList, React.memo, useCallback, серверная пагинация.
- Сделал галерею товаров с pinch-to-zoom на Reanimated и Gesture Handler.
- Реализовал сетевой слой на Axios с JWT-interceptors для авторизации.
- Подготовил сборки к публикации в Google Play и настроил сертификаты для дистрибуции в iOS.
Backend-разработчик
Октябрь 2024 — Декабрь 2024Разработка API для прохождения тестов, логики версионирования и администрирования регламентов (платформа автошколы).
Ключевые достижения:
- Разработал API для прохождения тестов и работы с регламентами (логика версионирования документов, перемешивание вариантов ответов, валидация результатов и сбор статистики).
- Реструктурировал бэкенд-миграции базы данных, объединив разрозненные миграции плагинов в единую структуру, что устранило конфликты при локальном развертывании проекта.
- Реализовал бэкенд-логику для загрузки, конвертации в Markdown и безопасного удаления вложений через API.
# Пет-проекты
Разработчик@ Десктопный клиент VK Музыки с офлайн-режимом
Спроектировал и реализовал нативное десктоп-приложение на Tauri 2 с Rust-бэкендом.
Ключевые достижения:
- Спроектировал и реализовал нативное десктоп-приложение на Tauri 2 с Rust-бэкендом: проксирование запросов к API, OAuth-авторизация через системный браузер.
- Реализовал офлайн-режим: демультиплексирование потокового аудио (HLS) на стороне Rust и локальный поиск по загруженному контенту.
- Разработал систему синхронизированного отображения текста песен построчно и по словам с каскадным поиском по нескольким источникам (собственный API, LRCLib, Genius) и проверкой совпадения по метаданным.
- Реализовал два независимых флоу авторизации с разным уровнем доступа к API, включая обработку жёстких флуд-лимитов сервиса.
Fullstack-разработчик (SPA & React)
Ноябрь 2024Единственный разработчик (учебный проект). Перевод Express-сервера в режим работы API и переписывание фронтенда на React для перехода к формату SPA.
Ключевые достижения:
- Перевел Express-сервер в режим работы API и переписал фронтенд на React (Vite) для перехода к формату SPA, разделив интерфейс на компоненты.
- Заменил сессии и MD5-пароли на авторизацию через JWT и bcrypt.
- Настроил хранение файлов и папок в MongoDB (Mongoose ODM), добавил Drag-and-Drop загрузку (dnd-kit) и редактирование текстовых файлов прямо в браузере.
- Переделал загрузку файлов: убрал наблюдателей Chokidar и общую очередь, файлы уходят в VK параллельно, а временные удаляются сразу после отправки.
Fullstack-разработчик (Monolith MVP)
Январь 2024 — Октябрь 2024Перенос прототипа на Express и развитие монолитной версии 1.0 для проверки гипотезы об использовании документов VK в качестве файлового хранилища.
Ключевые достижения:
- Перенёс прототип облачного диска на Express/EJS и развил его в монолит с использованием СУБД MySQL в качестве основного хранилища метаданных.
- Реализовал прямую загрузку файлов во внешнее хранилище через VK API (vk-io) с автоматической очисткой буфера.
- Создал систему верификации пользователей и двухфакторной аутентификации (2FA) через интеграцию с чат-ботом ВКонтакте.
- Сверстал адаптивный интерфейс с помощью Flexbox, Grid и медиа-запросов (Sidebar, темная тема).