React, TypeScript, Performance

AndriiButenko

Frontend Developer with 1.5+ years of commercial experience in React (TypeScript and JavaScript) across a multi-brand platform, a regulated online casino, a multi-module CRM and a healthcare application.

Andrii Butenko

Andrii Butenko

Frontend Developer

Frontend Developer

Ship product features and UI across the whole frontend: components, state management, API integration and responsive layouts, while keeping performance and code quality high (Lighthouse 100, main bundle cut by 45%). Comfortable making backend changes in NestJS and Spring Boot.

Used to working in cross-functional teams of up to 7 engineers with designers and product owners. Based in Wrocław, open to remote.

Core stackJavaScript / TypeScript • React • Next.js • Astro • Redux Toolkit • Tailwind CSS • HTML / CSS • Node.js

Frontend

JavaScript / TypeScript, React, Next.js, Astro, Redux Toolkit / RTK Query, Tailwind CSS, HTML5 / CSS / SASS, MUI, Swiper, i18n / localization (i18next), Performance optimization, Responsive design, Accessibility

Tools

Git, GitHub, pnpm / npm (workspaces, monorepo), Vite, ESLint, Prettier, Chrome DevTools, Lighthouse / PageSpeed Insights, Postman, Swagger / OpenAPI, Sentry, Figma, Agile / Scrum, Jira, Linear, Claude Code

Cloud / DevOps

Azure, Cloudflare (Workers, DNS, CDN analytics), Vercel, Docker, CI/CD (GitHub Actions)

Backend

Node.js, NestJS, TypeORM / MySQL, REST API, JWT auth, Java / Spring Boot (working knowledge)

Work Experience

Full-Stack Developer

TenThousand

Sep 2026 – PresentFull-time

IT outsourcing company — client project: multi-brand consumer web platform, 30+ locales (under NDA).

Team: 7 engineers (frontend and backend), designers, product owners

Astro SSRTypeScriptTailwind CSS v4Alpine.jsNode.jsJava / Spring BootCloudflareSentry
  • Shipped features and fixes across an Astro/TypeScript monorepo and its Spring Boot backend, e.g. fixed framed QR codes that rendered broken in Safari and in PNG/JPEG exports by embedding the code as a nested SVG instead of a foreignObject; also fixed a production error found through Sentry, where quotes in translations broke Alpine.js expressions.
  • Built custom highlight colors for CMS-edited rich text end to end: Spring Boot validation, server-side rendering that allows only strict hex values into inline styles, and rules for the LLM translator.
  • Moved the shared client JavaScript (15 modules, ~4.6k lines) out of the Spring Boot app into a frontend package, then deleted the backend copy after checking CDN analytics.
  • Launched 8 A/B and painted-door tests on landing pages, funnels and paywalls with the in-house experiment framework, keeping the control arm byte-identical, and cleaned up 9 finished experiments by removing the losing variant and its wiring.
  • Redesigned the flagship site's footer with a language picker for its 32 locales (reused in the shared footer of four other brand sites) and added a build-time check that fails when a site's locales, translation bundles and language names disagree.

Freelance Frontend Developer

May 2025 – PresentFreelance

Websites built to order: VM Design (interior architecture studio) and Grosters

AstroTypeScriptOGL (WebGL)sharpSASSvanilla JavaScriptGitHub ActionsCloudflare WorkersPython
  • VM Design: built a multilingual (EN/FR/IT/RU/UK) Astro site with Zod-typed Markdown collections: 22 projects, 216 static pages (165 indexable) and an astro:assets / sharp image pipeline producing 4,500+ AVIF/WebP variants; Lighthouse 100 in all four categories on desktop, 96+ Performance and 100 in the rest on mobile, CLS 0.
  • VM Design: wrote interactive components in vanilla TypeScript (before/after slider, carousel, native-dialog lightbox, WebGL gallery on OGL); replacing a React island cut gallery JS from ~290 KB to 65 KB (−77%).
  • VM Design: implemented technical SEO across five locales: localized meta, canonical + hreflang, i18n sitemap, JSON-LD (ProfessionalService, BreadcrumbList, CreativeWork) and 1,384 translated image alt texts.
  • VM Design: set up CI/CD from GitHub Actions to Cloudflare Workers with a custom domain, DNS and long-term asset caching; generated SVG region maps from GeoJSON (no map library) and a Python pipeline that redacts client data from 199 PDF drawing sheets.
  • Grosters (grosters.com): shipped a 4-page mobile-first commercial site solo, from requirements to production; optimized images and loading — Lighthouse 99 Performance / 100 Best Practices / 91 Accessibility (LCP 0.8 s, CLS 0).

Frontend Developer

Online Casino Platform (NDA)

Jun 2026 – Oct 2026Part-time

Regulated online casino: 3 brands in one monorepo; licences UKGC, DGOJ (Spain), Sweden, MGA.

Team: 1–2 developers, QA, PM

React 19TypeScriptReact Router v7Redux Toolkit / RTK QueryTailwind CSS v4i18nextVitecasino platform API
  • Delivered 38 merged PRs in four months (196 files changed): Figma-to-code UI, mobile layouts and QA fixes across the lobby, jackpots, VIP, promotions and game-category pages.
  • Prepared the Swedish market launch: market-level feature flags that remove unavailable sections (welcome bonus, live casino) from routes, navigation and sitemap, Swedish currency formatting, and a fix for the platform web components serving English legal documents.
  • Fixed an i18next initialization race that left raw translation keys in the navigation on 46 of 50 cold page loads (92%).
  • Consolidated typography into one named scale (57 arbitrary font sizes removed), raised mobile touch targets to 44px and fixed an iOS Safari sticky-header flicker.

Frontend Developer

Emdula

Jan 2026 – Aug 2026Full-time

Multi-module CRM platform for real-estate agencies (pre-release).

Team: developers, QA, designers, product owner

React 19JavaScript (JSX)React Router 7ViteTailwind CSSCSS ModulesRadix UIi18nextTipTapAxios
  • Cut the main JavaScript chunk by 45% (621 KB to 341 KB gzip) and first-load JS by ~48% by moving 33 pages to React.lazy + Suspense, with a chunk-load error boundary and idle-time prefetching.
  • Made react-hooks/exhaustive-deps and rules-of-hooks errors and cleared the ESLint backlog (225 problems to 0) across 92 files; reorganized 53 root-level components into 21 domain-based folders.
  • Rebuilt the deal details view from Figma: activities, notes CRUD and linked-property sections with scroll-spy navigation (IntersectionObserver).
  • Fixed 15 defects across Deals, Properties, Profile, Contacts and Documents, e.g. timezone-shifted activity times and HEIC / oversized photo uploads (client-side JPEG compression, HTTP 413 handling); moved hard-coded strings to i18next (EN/UK).

Full-Stack Developer Intern

ZenBit

Mar 2026 – May 2026Part-time

Clinical data de-identification platform for healthcare providers (under NDA).

Team: 4 developers

React 19TypeScriptMUIRedux Toolkitreact-hook-form + yupNestJSTypeORM / MySQLJWTSwagger
  • Built passwordless magic-link authentication end to end: a NestJS auth module (2 REST endpoints, TypeORM migration, single-use 256-bit tokens, JWT issuance, Swagger docs) and the React sign-in / verify flow with react-hook-form + yup.
  • Built the UI of a 4-step clinical-data de-identification wizard: custom stepper synced with the sidebar via Redux Toolkit, upload validation (5 MB / 250k characters) with progress feedback and responsive styling.
  • Developed the app shell (dashboard layout, collapsible sidebar, top bar, support modal) and dashboard page for desktop and tablet; handled JWT session expiry with a 401 interceptor guard and a Session Expired page.

Recent Projects

Screenshot of the Clothica Shop online storefront homepage
Next.JSNode.jsTypeScript

Clothica Shop

Clothica Shop is a modern online storefront designed to showcase clothing items in a clean and visually appealing layout. The site features a main page with highlighted popular products and intuitive navigation for exploring the full goods catalog. With a focus on simplicity and usability, it delivers a smooth shopping-browse experience entirely on the frontend.

Screenshot of the Cozy Corner online shop goods catalog page
Next.JSTypeScriptNode.js

Cozy Corner

This is a full-stack online shop that allows users to browse a catalog of goods through a well-structured and responsive Goods page. It features secure user authentication with login and registration flows integrated with a backend. The site also connects the frontend to a server-side API, providing real-time data and a seamless shopping experience

Screenshot of the A.R.I. interactive JavaScript learning game
Next.JSTypeScriptTailwind

A.R.I

A.R.I. - Learn JavaScript is an interactive game designed to test and improve your JavaScript skills. It features a modern interface, smooth animations, and multiple coding levels where you can write and execute real code in the browser.

Education & Languages

Education

B.Sc. in Cloud Application Development

Uniwersytet WSB Merito Wrocław · Wrocław

Graduated with honours

Key coursework: Web Development, SQL Databases, Cloud Computing, Linux Systems, Algorithms

Oct 2023 – Jun 2026

Full-Stack Development Program

IT School GoIT

Intensive program: React, TypeScript, Next.js, JavaScript, Node.js, Express.js

Feb 2025 – Nov 2025

Certificates

EF SET English Certificate (C1)

Claude Code 101

Anthropic

Languages

UkrainianNative
RussianFluent
EnglishAdvanced
PolishIntermediate

Let's Work Together

Have a project in mind? Let's discuss how we can bring your ideas to life.