К содержимому
--:--
местное время
EVS.CODER / navigation

Навигация

На связи

TelegramGitHubLinkedIn
EVS.CODERFrontend systems
Написать
Привет! Я Евгений, frontend-разработчик.

EVGENYSTAROVEROV

Пишу код на Angular, React и TypeScript. Создаю сложные интерфейсы: от форм, фильтров и карт до архитектуры приложения и его взаимодействия с API.

~/Senior Frontend Engineer
evs / frontend-lab
type ViewState<T> =
  | { status: "loading" }
  | { status: "ready"; data: T }
  | { status: "empty" }
  | { status: "error"; retry: () => void };

Интерфейс — это больше, чем готовый экран.

Формы, фильтры, таблицы и карты. Продумываю не только основной сценарий, но и загрузку, ошибки, пустые результаты и повторные действия.

Иллюстрации подхода · не код клиентского проекта
AngularRxJS · SSR · Nx
ReactNext.js · UI · State
TypeScriptТипы · Контракты · API

Обо мне / за интерфейсом

Разработчик. В деталях.

Я Евгений Староверов, Senior Frontend Developer. Моя работа — превращать сложные сценарии в понятные интерфейсы и поддерживаемый код.

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

Мне важны обе стороны frontend: то, как интерфейс ощущается в браузере, и то, как он устроен внутри. Типизация, границы компонентов, обработка ошибок и точность взаимодействий — части одной задачи.

Что разрабатываю

Каталоги и платформы недвижимости, личные кабинеты, административные интерфейсы. Внутри — фильтры, карты, таблицы, дашборды и многошаговые формы.

Что происходит в коде

Связываю UI с данными, проектирую компоненты и состояние приложения. Работаю с Angular, RxJS и Nx, React и Next.js; выбираю SSR, SSG или клиентский рендеринг под конкретный сценарий.

Как отношусь к существующему коду

Сначала разбираюсь в связях и ограничениях. Исправляю проблемный участок, сохраняя рабочие сценарии. Выделяю общие части там, где это упрощает дальнейшие изменения.

Задачи / подробнее

Что внутри моей работы

01Сложные интерфейсы

Фильтры, таблицы, карты и многошаговые формы. Связываю действия пользователя с состоянием приложения, включая возврат назад, сброс фильтров и восстановление параметров из URL.

02Архитектура приложения

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

03Компоненты и доступность

Выделяю общий UI с понятными входными параметрами. Продумываю композицию, управление с клавиатуры, фокус и состояния элементов.

04Типизация и API

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

05SSR, SSG и маршрутизация

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

06Поддержка и рефакторинг

Разбираю существующие зависимости, локализую изменения и проверяю затронутые сценарии. Убираю дублирование, когда общая часть действительно устоялась.

Основной стек

Frontend core
Angular Platform
SPA · SSR / SSG · RxJS · Nx
React Ecosystem
SPA · Next.js · SSR / RSC · App architecture
TypeScript
Typed application architecture

Frontend-экспертиза

Complex UIArchitectureMicrofrontendsMonorepoPerformanceDesign SystemsState ManagementRendering StrategyAPI IntegrationTesting & QualitySEO / JSON-LD

Production context

CI / CD · Docker · SQL / Databases · Build Tooling & Bundling

PERFORMANCE / DEBUGGING

Не просто «быстро». Разобраться — почему медленно.

Загрузка

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

Network / Lighthouse

Рендеринг

Проверяю обновления компонентов, дорогие вычисления и большие списки. Мемоизация и виртуализация появляются там, где профилирование показывает проблему.

DevTools / Profiler

Взаимодействия

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

Performance / Web Vitals

Замер → гипотеза → изменение → повторная проверка. Конкретные показатели требуют конкретного проекта и условий измерения.

Снимок архитектуры

Как я разделяю ответственность в приложении: компоненты отображают данные, состояние описывает сценарий, а работа с API остаётся за отдельной границей. Стратегию рендеринга выбираю под задачу.

01

UI-слой

Дизайн-система, композиция, сложные состояния

02

State-модель

Предсказуемые потоки, async-оркестрация, изоляция

03

API-контракт

Типизированные границы, валидация, устойчивость

04

SSR / SSG

Стратегия рендеринга под форму и задачи продукта

05

Стратегия производительности

CWV, контроль бандла, приоритеты загрузки

Ready
Системные принципы
Принцип 01

Каждый слой решает свою задачу и не тащит лишнюю связанность.

Принцип 02

UI проектируется под рост продукта, а не только под текущий экран.

Принцип 03

Производительность закладывается в архитектуру, а не чинится в конце.

Как я работаю

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

01

Discovery

Разбираю макеты и сценарии. Уточняю, как должны работать валидация, ошибки, загрузка и переходы между состояниями.

02

Architecture

Определяю границы модулей, стратегию рендеринга, контракты данных и структуру UI-системы под рост продукта.

03

Implementation

Собираю решение с упором на предсказуемость состояния, переиспользуемость и чистую интеграцию с API и бизнес-логикой.

04

Performance Pass

Проверяю рендеринг, приоритеты загрузки, bundle behavior и узкие места, которые влияют на реальный UX.

05

Release Support

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

PROJECTS / CODE

Избранные проекты.

Все проекты →

Интерфейсы, задачи и технические решения из моей практики.

DESKTOP / UBUNTU + WINDOWS
Сравнение оригинала и WebP в Image ConverterИзображения легче. Качество под контролем.

Desktop-приложение

Image Converter

Пакетная оптимизация изображений на Ubuntu и Windows. Предпросмотр сжатия, настройка качества и размера, сохранение в папку на компьютере или ZIP.

  • Tauri 2
  • Rust
  • React
  • TypeScript
  • JSZip
Инженерная сторона

React-интерфейс, нативная обработка на Rust и работа с файловой системой через Tauri.

Статьи / Заметки

Все статьи

Темы, о которых стоит писать и говорить, когда frontend уже вырос из набора компонентов в систему.

Смотреть все статьи

CONTACT / SAY HELLO

Давайте знакомиться.

Если ищете frontend-разработчика в команду, хотите обсудить техническую задачу или просто пообщаться о разработке — напишите.