Ксения Смолякова

Frontend-разработчик · React, TypeScript

2,5 года коммерческого опыта. Проектирую клиентскую часть систем управления и диспетчеризации: довожу интерфейсы от макетов Figma до продакшена. Ищу позицию Middle Frontend-разработчика в продуктовой команде.

  • Офис, гибрид, удалёнка
  • Готова к релокации
  • Гражданство: РФ и РБ
Ксения Смолякова
2,5 годакоммерческого опыта
5продуктовых репозиториев
600+моих коммитов в них
React + TSосновной стек

О себе

Чистый, понятный код и интерфейсы, которые удобно поддерживать.

Участвую в проектировании и разработке frontend-части систем управления и диспетчеризации: проектирую архитектуру клиентской части, довожу интерфейсы от макетов Figma до продакшена, интегрирую с REST API, рефакторю чужой код и расширяю возможности действующих платформ.

Использую AI-инструменты (Cursor, Claude) для ускорения разработки. Хочу работать в продуктовой команде, где можно влиять на архитектуру и качество кода.

Опыт работы

Один работодатель, несколько продуктов.

Frontend-разработчик — Стройплатформа

Июнь 2024 — настоящее время

Продукты: Умногор ЕДС (облачное решение для диспетчерских служб и управляющих компаний); ИАС «Умногор» (система диспетчеризации и автоматизации технологических процессов на объектах критической инфраструктуры); система цифровой маркировки полимерной трубной продукции (интеграция с ГИС МТ «Честный знак»).

Обязанности

  • Клиентская часть на React и TypeScript: от проектирования компонентов до релиза
  • Рефакторинг и сопровождение унаследованного кода, исправление ошибок
  • Проектирование и реализация нового функционала действующих платформ
  • Адаптивная вёрстка на Tailwind CSS и SCSS по макетам Figma
  • Интерфейсы с обработкой данных, Redux Toolkit, интеграция с REST API
  • Unit-тесты на Jest

Достижения

  • Спроектировала архитектуру клиентской части многостраничного веб-приложения на React
  • Оптимизировала клиентскую логику и скрипты: приложение работает быстрее, нагрузка на сервер ниже
  • Автоматизировала рабочие процессы команды скриптами для сайта
  • Расширила функциональность действующего сайта и устранила накопившиеся ошибки

Проекты

Что именно я делала в каждом продукте (по истории коммитов). Скриншоты сделаны на демонстрационных данных.

Цифровая маркировка

Веб-клиент системы маркировки

Интерфейс управления производственными заказами и печатью кодов маркировки для трубной продукции. Отвечала за несколько крупных блоков интерфейса.

  • Страница статистики: карточки текущих заказов по линиям, график печати за период, круговая диаграмма и таблица
  • Упрощённый редактор этикеток: окно, связь с серверным API, выбор шаблона печати
  • Заказы: вкладки и очередь, контекстное меню, статус кодов в карточке, поиск по продуктам
  • Окно «Вывод из оборота», подтверждение удаления формата бумаги
  • Исправления поведения таблиц, фильтров, дат и состояний ошибок
  • React
  • TypeScript
  • Redux Toolkit
  • Tailwind
  • Vitest
  • Zod
Статистика: текущие заказы на линиях
Печать кодов за период Список производственных заказов
SCADA

SCADA-клиент: мнемосхемы

Редактор и просмотр технологических схем с оборудованием в реальном времени. Самый большой продукт по числу моих правок.

  • Подсказки к оборудованию и элементам схемы, синхронизированные с масштабом и перемещением (ReactFlow)
  • Индикация потери связи: мигающая рамка значения, значок «Нет связи» с учётом масштаба и поворота узла
  • Новые узлы схем и открытие рабочей области по центру диаграммы
  • Система уведомлений и Toast, подтверждения сохранения, режимы чтения и редактирования
  • Светлая тема, редизайн боковой панели, скелетоны библиотеки элементов
  • Переход в журнал квитирования с фильтром по оборудованию
  • React
  • TypeScript
  • ReactFlow
  • Redux
  • Jest
Диспетчеризация

Умногор ЕДС: заявки

Облачное решение для диспетчерских служб и управляющих компаний: заявки, отключения, журналы.

  • Страница «Отключения» и формы создания заявок: маски телефона, поле «Пол», удаление из окна редактирования
  • Модуль уведомлений с обработкой ошибок сервера
  • Таблицы: новая пагинация, выбор количества строк, подсветка совпадений в карточках
  • Состояние на Redux Toolkit, общие элементы журналов вынесены в единые компоненты
  • Улучшения интерфейса: прокрутка деталей заявки, закрытие и ограничение списков в селектах
  • React
  • TypeScript
  • Redux Toolkit
  • Tailwind
ИАС «Умногор»

Журналы и навигация

Информационно-аналитическая система диспетчеризации технологических процессов.

  • Журнал квитирования и оперативный журнал: фильтры, режимы, детализация времени до секунд
  • Выгрузка оперативного журнала в Excel и блокировка кнопки, если данных нет
  • Рефакторинг журналов, замена локальных компонентов на общие, единая система уведомлений
  • Ночная тема, меню пользователя, выравнивание макета
  • React
  • TypeScript
  • Redux Toolkit
  • Keycloak
Дизайн-система

@umnogor/components — общая библиотека

Библиотека React-компонентов, которую используют все четыре продукта. Мой вклад: более 370 коммитов.

  • Toast, Alert, ActionBar, Spin, Avatar, SegmentedControl и вкладки
  • Тултипы разных типов, статистическая карточка, пустые состояния
  • Поля ввода: числовое, мультивыбор со счётчиком, поиск с подгрузкой, выбор даты с ошибкой снаружи
  • Редизайн по макетам, поддержка светлой и тёмной тем
  • React
  • TypeScript
  • Tailwind CSS v4
  • Vite
  • Jest
Компонент Alert из библиотеки
Компонент Toast из библиотеки

Компоненты в песочнице библиотеки.

Личный проект

BeautyScale — интернет-магазин профессиональной косметики

Сайт профессиональной косметики для волос и тела в Минске. Сделала вёрстку, сейчас занимаюсь SEO.

  • Адаптивная вёрстка по макету
  • SEO: структура страниц, метаданные, работа над видимостью в поиске

beautyscale.by →

Главная страница beautyscale.by

Навыки

Рабочий стек.

Языки и вёрсткаJavaScript (ES6+), TypeScript, HTML5, CSS3, SCSS, адаптивная вёрстка
Фреймворки и библиотекиReact, Redux, Redux Toolkit, Tailwind CSS
ИнтеграцииREST API
ТестированиеJest
ИнструментыGit, GitLab, Figma, Cursor, Claude, Node.js (базовый уровень)

Образование

Высшее, БИП — Институт правоведения, Минск, 2016

Контакты

Открыта к предложениям. Пишите в Telegram или звоните.