a bit about me
About
Experienced frontend developer. I work on complex web applications, from architecture and implementation to performance optimization and keeping what is already in production alive.
I've worked with large products, complex business logic, integrations and a modern frontend stack. My main focus is performance, scalability and the quality of the product.
Key areas: web application architecture, frontend development, performance optimization, API integrations and working in a team.
the short version
2026 — now
Frontend Tech Lead
I lead a frontend team and own everything the work around it stands on: the codebase, CI/CD, tooling and process.
I pick the technologies, start new projects from scratch and build the AI side of it: skills, agents and the tools behind them.
2021 — 2026
Staff Software Engineer, Frontend
Five years on 3Commas. I owned the public part, built with Next.js and Prismic, and took part in moving the frontend out of a Ruby on Rails monolith into a separate SPA, first on Webpack and later on Rspack.
I worked on architecture and rendering, load speed and bundle size, CSP and security headers, CI/CD and Kubernetes. I set up linting, Sentry, test coverage, type generation from Swagger and translations through Crowdin.
Later the team and I started QuantPilot from scratch. I put the monorepo together, worked out the architecture, set up the path from commit to production and helped pick the technologies. I also took on the AI side: skills, agents and the tools behind them.
2019 — 2021
Frontend developer, digital banking
I worked on the client side of a digital bank. The frontend was split into several parts and later moved to microfrontends step by step.
I worked on architecture, on adaptive and cross-browser layout and on the build setup, wrote my own Webpack plugins and built the Storybook for the component library.
2017 — 2019
Frontend developer, isomorphic apps
I worked on React applications with a Koa backend. One application rendered on both the client and the server.
These were my first big SPAs with SSR, and the job already covered more than writing features: the Webpack and Babel build, load speed, adaptive and cross-browser layout.
2014 — 2017
Where it started
I started with markup, WordPress and SEO. Then came SPAs, landing page generators, payment systems and sites for exchanges.
how I work
Tests first
I write the test first, then the code. Coverage is checked in the build, so there is no way around it, by accident or on purpose.
One schema, not three
Validation, the API docs and the client types should all come from one schema. Three separate versions start to drift apart sooner or later.
Measure, then decide
Bundle size and load speed are what I've been working on for many years. Once there are numbers, an argument usually ends faster than it starts.
Security by default
A CSP with its own nonce on every request, strict security headers and regular checks of the dependencies for known vulnerabilities.
Deleting code counts as work
Dead code, duplicates and unused packages should not pile up. Lint rules and the checks in CI catch them, so most of that cleaning happens on its own.
Infrastructure I can hold in my head
Containers, CI/CD and one small ARM box behind a tunnel. No extra complexity and no magic that nobody is left to fix.