Сервіс пошуку роботи №1 в Україні
Ruslan
Middle Frontend Developer
- Розглядає посади:
- Middle Frontend Developer, Junior Full-stack Developer
- Вік:
- 47 років
- Місто проживання:
- Кривий Ріг
- Готовий працювати:
- Дистанційно
Контактна інформація
Шукач вказав: ТелефонЕл. поштуМесенджер
Прізвище, контакти та світлина доступні тільки для зареєстрованих роботодавців. Щоб отримати доступ до особистих даних кандидатів, увійдіть як роботодавець або зареєструйтеся.
Отримати контакти цього кандидата можна на сторінці https://www.work.ua/resumes/9990642/
Завантажений файл
Версія для швидкого
перегляду
Це резюме розміщено у вигляді файлу. Ця версія для швидкого перегляду може бути гіршою за оригінал резюме.
Ruslan Shyrogorov
Middle Frontend Developer | React, TypeScript
Kryvyi Rih, Ukraine (Remote) | [відкрити контакти ](див. вище в блоці «контактна інформація») | [відкрити контакти ](див. вище в блоці «контактна інформація»)
[відкрити контакти ](див. вище в блоці «контактна інформація») | github.com/RuslanShyrogorov | t.me/RuslanShyrogorov
SUMMARY
Frontend Developer with 3.5+ years of commercial experience (since 2023) building complex React and TypeScript single-page
applications (SPA) and mobile apps. At Diamond (since Jan 2025) I develop five internal web products — a recruitment CRM, an
HR management system, an ad account management platform, a creative task management CRM and an ad intelligence panel
— a shared React UI component library (main author), and I am rewriting the product marketing website from Next.js to Astro.
Focus areas: frontend architecture, role-based access control (RBAC), data layer design with TanStack Query (React Query),
optimistic updates, and complex forms with React Hook Form and Zod. Key frontend contributor on the two largest products.
Previous career as a Chief Engineer (2013–2022) brings analytical thinking, ownership and discipline.
TECHNICAL SKILLS
Languages: TypeScript, JavaScript (ES6+), HTML5, CSS3, SCSS/Sass
Frameworks & Libraries: React 18/19, React Router v7, Next.js, Astro, Redux Toolkit, RTK Query, MobX, React Native
Data & State: TanStack Query v5 (React Query), Axios, REST API, React Context API, caching, prefetching, optimistic updates
Forms & Validation: React Hook Form, Zod, schema-driven forms
UI & Styling: Tailwind CSS, tailwind-variants, CSS Modules, shadcn/ui, Radix UI, HeroUI, PrimeReact, class-variance-authority
(CVA), TanStack Table, TanStack Virtual (virtualization), dnd-kit, Floating UI
Architecture: RBAC, Domain Permission Classes, Islands Architecture, SSG, partial hydration, compound components, custom
hooks, feature-based architecture, code splitting, lazy loading, component library / design system
Internationalization: i18next, react-i18next
Tooling & Quality: Vite (incl. library mode), Storybook, Biome, ESLint, Prettier, Husky, Git, GitHub, npm package publishing, code
review
Backend & CMS: Node.js, Express, MongoDB; Prismic, Arc XP
WORK EXPERIENCE
Diamond — Middle Frontend Developer Jan 2025 – Present
Internal software development. Building and maintaining internal SPAs and a shared UI library in a team of 7 frontend
developers — from architecture decisions and code review to production releases.
Recruitment CRM / ATS — React 18, TypeScript, TanStack Query, React Router v7, React Hook Form, Zod, SCSS Modules, dnd-kit, Storybook
• Designed and rolled out a Domain Permission Classes layer (47 files: candidate and vacancy cards, 10 filters, 5 pages),
replacing scattered inline role checks with a single source of truth for 10+ roles.
• Extracted inline API calls into a TanStack Query service layer (api / hooks / keys / types for 7 entities, a 70-file refactor),
unifying caching, query keys and cache invalidation.
• Migrated routing from TanStack Router to React Router v7 with role-based protected routes and page-level lazy loading.
• Built from scratch a candidate intake module for applicants coming from Telegram: candidate card, duplicate detection,
recommendations, filtering and sorting.
• Developed project statistics and payment reporting pages with role-aware bonus logic, and a recruiter statistics table with
drag-and-drop columns (dnd-kit), server-side pagination and persisted layout.
• Implemented candidate and vacancy cards as compound components with React Context (job offer, polygraph, trial period,
archive restore flows); added client/server pagination and prefetching for dynamic filters.
• Implemented vertical-based isolation for two business verticals at the API request, filter and permission levels; extended
the role model with 4 new roles across cards, filters, routes and navigation.
HR Management System — React 18, TypeScript, TanStack Query, React Hook Form, Zod, PrimeReact, SCSS Modules
• Designed and built a multi-tab employee form (React Hook Form + Zod) with role-based field visibility, document upload
and unsaved-changes protection — the single entry point for all employee CRUD operations.
• Standardized all project forms on a z.input / z.output Zod pattern, moving data transformations into schemas and
eliminating a class of type-mismatch bugs on submit.
• Built a reusable useUnsavedChangesGuard custom hook that intercepts modal and browser-tab closing to prevent data
loss.
• Delivered the cross-cutting "Functional Managers" feature spanning Zod schemas, UI components, the API layer and shared
types.
• Built a job offer document workflow (temporary uploads, role-gated download, version history) and role-based masking of
personal data; implemented employee lifecycle tracking and JWT auth with role-based route protection.
Creative Task Management CRM — React 19, TypeScript, TanStack Query, React Hook Form, Zod, HeroUI, Tailwind CSS v4
• Audited all 70 TanStack Query mutations and implemented optimistic updates with explicit onMutate / onError rollback for
17 point-update mutations, narrowing the initial 32-mutation scope after code review to prevent paginated cache desync.
• Built a reusable virtualized MultiSelectAutocomplete component, adopted as the base for several entity-specific select
components.
• Restructured the API layer from monolithic per-domain hook files into one-hook-per-file queries / mutations; introduced
role-based prefetching of reference data and cache-first prefetching for the task drawer.
Ad Account Management Platform — React 19, TypeScript, TanStack Query, TanStack Table, shadcn/ui, Tailwind CSS v4, i18next, Biome
• Set up Biome 2 as a single replacement for ESLint + Prettier and laid the API layer foundation: KeyFactory-based query keys
and typed services with a keys / service / queries / mutations pattern.
• Led the i18n migration to 3 languages (EN / RU / UA): 38 files, lazy-loaded namespaces, translation keys stored in Zod
schemas instead of hardcoded text.
• Delivered 5 pages and modules (comments directory, admin metrics, user reports, cost management, platform
management CRUD) and added multi-platform tracker (Binom) support to transfers monitoring.
• Co-developed a reusable QueryDataTable — a generic TanStack Table v8 + Virtual v3 wrapper with loading/error states,
multi-sort, column visibility persistence and row selection.
Product Marketing Website (rewrite, sole developer) — Astro, React 19, TypeScript, Tailwind CSS v4, shadcn/ui, Radix UI
• Rewriting the product website from Next.js to Astro SSG to cut unnecessary complexity for a content site: Islands
Architecture with React islands and viewport-based partial hydration (client:media), zero JS for static content, View
Transitions for SPA-like navigation.
• Built a 3-language (EN / RU / UA) i18n architecture: single-source locale config with auto-generated localized routes, server-
side translation resolution passed to islands as props, and browser-language detection with redirect.
Ad Intelligence Panel — React 18, TypeScript, Redux Toolkit, RTK Query, React Router, React Hook Form, Zod, SCSS Modules
• Built a domain monitoring section from scratch (RTK Query API slice, paginated incident and tracker tables, filters, role-
gated access); added a platform filter and extended the RBAC permission matrix.
@stlr/dmnd — Internal React UI Component Library — React, TypeScript, Vite library mode, CSS Modules, CVA, Storybook
• Main author (~80% of the code, team of 2): built and maintain a private npm UI library: ~40 components (23 UI primitives +
16 form components), 63 icons, 85+ releases, consumed by multiple internal products.
• Implemented a compound Form system on React Hook Form (Form.Input, Form.Select and more) plus Calendar and Select
subsystems (async, multi, date ranges).
• Configured Vite library mode with ESM/UMD bundles, auto-generated TypeScript declarations and a publish script with
team notifications.
• Migrated Tooltip to Floating UI and introduced classNames slots and deprecated aliases to keep the public API backward
compatible; documented components in Storybook.
Miteyda — Frontend Developer Aug 2024 – Jan 2025
• Built 3 news media websites from scratch on Arc XP (enterprise CMS for media companies).
• Worked with Next.js, Prismic CMS and Tailwind CSS on content-driven web projects.
Freelance — Frontend / Mobile Developer Mar 2023 – Jul 2024
Client projects delivered end-to-end: requirements, development, deployment and support.
• Shoe store SPA for a local retailer (React, TypeScript, MobX, SCSS, EmailJS): moved an offline store online to sell off
inventory — product catalog, filtering, product cards, shopping cart and email order requests.
• Android POS terminal app for a stationery retail chain (React Native, TypeScript, SQLite): order picking at the central
warehouse to assemble goods for individual stores, with local on-device data storage.
Smart Energy Ukr Ltd / Germania-Trest Consortium — Chief Engineer (Kyiv; Bangladesh) 2013 – 2022
PROJECTS
Petly — Pet Adoption Platform (GoIT team project, 2022): full-stack web app with React, Redux, Node.js, Express, MongoDB,
REST API.
EDUCATION
GoIT IT School, Kyiv — Full-Stack Developer course 2022
National Economics University, Kryvyi Rih — Master’s degree, Economics 2004
National University, Kryvyi Rih — Master’s degree, Mining Engineering 2001
LANGUAGES
Ukrainian — Native; English — Intermediate (B1)
Middle Frontend Developer | React, TypeScript
Kryvyi Rih, Ukraine (Remote) | [
[
SUMMARY
Frontend Developer with 3.5+ years of commercial experience (since 2023) building complex React and TypeScript single-page
applications (SPA) and mobile apps. At Diamond (since Jan 2025) I develop five internal web products — a recruitment CRM, an
HR management system, an ad account management platform, a creative task management CRM and an ad intelligence panel
— a shared React UI component library (main author), and I am rewriting the product marketing website from Next.js to Astro.
Focus areas: frontend architecture, role-based access control (RBAC), data layer design with TanStack Query (React Query),
optimistic updates, and complex forms with React Hook Form and Zod. Key frontend contributor on the two largest products.
Previous career as a Chief Engineer (2013–2022) brings analytical thinking, ownership and discipline.
TECHNICAL SKILLS
Languages: TypeScript, JavaScript (ES6+), HTML5, CSS3, SCSS/Sass
Frameworks & Libraries: React 18/19, React Router v7, Next.js, Astro, Redux Toolkit, RTK Query, MobX, React Native
Data & State: TanStack Query v5 (React Query), Axios, REST API, React Context API, caching, prefetching, optimistic updates
Forms & Validation: React Hook Form, Zod, schema-driven forms
UI & Styling: Tailwind CSS, tailwind-variants, CSS Modules, shadcn/ui, Radix UI, HeroUI, PrimeReact, class-variance-authority
(CVA), TanStack Table, TanStack Virtual (virtualization), dnd-kit, Floating UI
Architecture: RBAC, Domain Permission Classes, Islands Architecture, SSG, partial hydration, compound components, custom
hooks, feature-based architecture, code splitting, lazy loading, component library / design system
Internationalization: i18next, react-i18next
Tooling & Quality: Vite (incl. library mode), Storybook, Biome, ESLint, Prettier, Husky, Git, GitHub, npm package publishing, code
review
Backend & CMS: Node.js, Express, MongoDB; Prismic, Arc XP
WORK EXPERIENCE
Diamond — Middle Frontend Developer Jan 2025 – Present
Internal software development. Building and maintaining internal SPAs and a shared UI library in a team of 7 frontend
developers — from architecture decisions and code review to production releases.
Recruitment CRM / ATS — React 18, TypeScript, TanStack Query, React Router v7, React Hook Form, Zod, SCSS Modules, dnd-kit, Storybook
• Designed and rolled out a Domain Permission Classes layer (47 files: candidate and vacancy cards, 10 filters, 5 pages),
replacing scattered inline role checks with a single source of truth for 10+ roles.
• Extracted inline API calls into a TanStack Query service layer (api / hooks / keys / types for 7 entities, a 70-file refactor),
unifying caching, query keys and cache invalidation.
• Migrated routing from TanStack Router to React Router v7 with role-based protected routes and page-level lazy loading.
• Built from scratch a candidate intake module for applicants coming from Telegram: candidate card, duplicate detection,
recommendations, filtering and sorting.
• Developed project statistics and payment reporting pages with role-aware bonus logic, and a recruiter statistics table with
drag-and-drop columns (dnd-kit), server-side pagination and persisted layout.
• Implemented candidate and vacancy cards as compound components with React Context (job offer, polygraph, trial period,
archive restore flows); added client/server pagination and prefetching for dynamic filters.
• Implemented vertical-based isolation for two business verticals at the API request, filter and permission levels; extended
the role model with 4 new roles across cards, filters, routes and navigation.
HR Management System — React 18, TypeScript, TanStack Query, React Hook Form, Zod, PrimeReact, SCSS Modules
• Designed and built a multi-tab employee form (React Hook Form + Zod) with role-based field visibility, document upload
and unsaved-changes protection — the single entry point for all employee CRUD operations.
• Standardized all project forms on a z.input / z.output Zod pattern, moving data transformations into schemas and
eliminating a class of type-mismatch bugs on submit.
• Built a reusable useUnsavedChangesGuard custom hook that intercepts modal and browser-tab closing to prevent data
loss.
• Delivered the cross-cutting "Functional Managers" feature spanning Zod schemas, UI components, the API layer and shared
types.
• Built a job offer document workflow (temporary uploads, role-gated download, version history) and role-based masking of
personal data; implemented employee lifecycle tracking and JWT auth with role-based route protection.
Creative Task Management CRM — React 19, TypeScript, TanStack Query, React Hook Form, Zod, HeroUI, Tailwind CSS v4
• Audited all 70 TanStack Query mutations and implemented optimistic updates with explicit onMutate / onError rollback for
17 point-update mutations, narrowing the initial 32-mutation scope after code review to prevent paginated cache desync.
• Built a reusable virtualized MultiSelectAutocomplete component, adopted as the base for several entity-specific select
components.
• Restructured the API layer from monolithic per-domain hook files into one-hook-per-file queries / mutations; introduced
role-based prefetching of reference data and cache-first prefetching for the task drawer.
Ad Account Management Platform — React 19, TypeScript, TanStack Query, TanStack Table, shadcn/ui, Tailwind CSS v4, i18next, Biome
• Set up Biome 2 as a single replacement for ESLint + Prettier and laid the API layer foundation: KeyFactory-based query keys
and typed services with a keys / service / queries / mutations pattern.
• Led the i18n migration to 3 languages (EN / RU / UA): 38 files, lazy-loaded namespaces, translation keys stored in Zod
schemas instead of hardcoded text.
• Delivered 5 pages and modules (comments directory, admin metrics, user reports, cost management, platform
management CRUD) and added multi-platform tracker (Binom) support to transfers monitoring.
• Co-developed a reusable QueryDataTable — a generic TanStack Table v8 + Virtual v3 wrapper with loading/error states,
multi-sort, column visibility persistence and row selection.
Product Marketing Website (rewrite, sole developer) — Astro, React 19, TypeScript, Tailwind CSS v4, shadcn/ui, Radix UI
• Rewriting the product website from Next.js to Astro SSG to cut unnecessary complexity for a content site: Islands
Architecture with React islands and viewport-based partial hydration (client:media), zero JS for static content, View
Transitions for SPA-like navigation.
• Built a 3-language (EN / RU / UA) i18n architecture: single-source locale config with auto-generated localized routes, server-
side translation resolution passed to islands as props, and browser-language detection with redirect.
Ad Intelligence Panel — React 18, TypeScript, Redux Toolkit, RTK Query, React Router, React Hook Form, Zod, SCSS Modules
• Built a domain monitoring section from scratch (RTK Query API slice, paginated incident and tracker tables, filters, role-
gated access); added a platform filter and extended the RBAC permission matrix.
@stlr/dmnd — Internal React UI Component Library — React, TypeScript, Vite library mode, CSS Modules, CVA, Storybook
• Main author (~80% of the code, team of 2): built and maintain a private npm UI library: ~40 components (23 UI primitives +
16 form components), 63 icons, 85+ releases, consumed by multiple internal products.
• Implemented a compound Form system on React Hook Form (Form.Input, Form.Select and more) plus Calendar and Select
subsystems (async, multi, date ranges).
• Configured Vite library mode with ESM/UMD bundles, auto-generated TypeScript declarations and a publish script with
team notifications.
• Migrated Tooltip to Floating UI and introduced classNames slots and deprecated aliases to keep the public API backward
compatible; documented components in Storybook.
Miteyda — Frontend Developer Aug 2024 – Jan 2025
• Built 3 news media websites from scratch on Arc XP (enterprise CMS for media companies).
• Worked with Next.js, Prismic CMS and Tailwind CSS on content-driven web projects.
Freelance — Frontend / Mobile Developer Mar 2023 – Jul 2024
Client projects delivered end-to-end: requirements, development, deployment and support.
• Shoe store SPA for a local retailer (React, TypeScript, MobX, SCSS, EmailJS): moved an offline store online to sell off
inventory — product catalog, filtering, product cards, shopping cart and email order requests.
• Android POS terminal app for a stationery retail chain (React Native, TypeScript, SQLite): order picking at the central
warehouse to assemble goods for individual stores, with local on-device data storage.
Smart Energy Ukr Ltd / Germania-Trest Consortium — Chief Engineer (Kyiv; Bangladesh) 2013 – 2022
PROJECTS
Petly — Pet Adoption Platform (GoIT team project, 2022): full-stack web app with React, Redux, Node.js, Express, MongoDB,
REST API.
EDUCATION
GoIT IT School, Kyiv — Full-Stack Developer course 2022
National Economics University, Kryvyi Rih — Master’s degree, Economics 2004
National University, Kryvyi Rih — Master’s degree, Mining Engineering 2001
LANGUAGES
Ukrainian — Native; English — Intermediate (B1)
Схожі кандидати
-
Front-end програміст
50000 грн, Дистанційно -
Middle Markup Front-end developer
Дистанційно -
Middle Frontend Developer (React, Next.js)
Дистанційно -
Front-end Developer
40300 грн, Дистанційно, Івано-Франківськ , ще 4 міста -
Intern Front-End Developer
25000 грн, Дистанційно, Вінниця, Львів -
Middle front-end developer (Full-stack)
Дистанційно, Київ