Resume

Maksim Peshekhonov

Senior Frontend / Fullstack Engineer

Remote, Russia

About

Senior Frontend / Fullstack Engineer with 7 years in software development. I build product interfaces and fullstack modules with React, TypeScript, Vue/Nuxt, Next.js, and Node.js/Nest.js.

I work with roles and access, complex forms, REST/OpenAPI, GraphQL, WebSocket, PostgreSQL, and CI/CD, from API contract and UI through production and post-release support.

Built for X5, BI.ZONE, NLMK, and Citilink; currently developing ERP, POS, HR platform, and mobile flows for SmartFish and VC.DC.

Work experience

Jul 2026 - present

SmartFish / freelance

Senior Fullstack Engineer

ERP, retail, POS, and mobile tools for fish farming

Remote

SmartFish ERP

Management platform for sites, workshops, warehouses, and staff

  • React
  • TypeScript
  • Vite
  • Effector
  • Effect-TS
  • Orval
  • Yandex Maps
  • Vitest

Developing the React/TypeScript app: modular forms and lists, RBAC, OpenAPI client, maps, and operational reports.

  • Split forms and lists into production modules for sites, workshops, warehouses, and staff
  • Connected role permissions, OpenAPI/Orval client, maps, and reports for operational flows
  • Maintain typed async flows with Effect-TS and cover core logic with Vitest

SmartFish KKM

Tablet POS for shifts, sales, and payments

  • React Native
  • Expo
  • TypeScript
  • Expo Router
  • Zustand
  • REST API

Building the React Native/Expo app: shift opening, sales, roles, local POS terminal connection, and receipt printing.

  • Built tablet shift and sales flows for cashiers and managers
  • Connected POS terminal payments over LAN and receipt printing
  • Separated cashier-on-shift permissions from manager view-only access

VC.DC HR platform

HR platform for candidates and startups

  • Vue 3
  • Nuxt 4
  • TypeScript
  • Vue Router
  • REST API
  • Playwright

Developing the Vue 3/Nuxt 4 frontend: responsive Figma implementation, onboarding, profiles, vacancies, APIs, and role states.

  • Implemented responsive candidate welcome and platform tour screens for mobile and desktop
  • Connected vacancy and profile interfaces to existing APIs with role and onboarding-state handling
  • Check user flows with automated tests and Playwright

Sep 2025 - Jun 2026

POTALONU LLC

Senior Fullstack Engineer

Ticketing and streamer tools

Remote

sendonate.com

Fullstack: Mini App, streamer dashboard, API, and OBS overlay

  • React
  • TypeScript
  • Python
  • Django REST
  • Vite
  • WebSocket
  • CI/CD
  • GitHub Actions
  • Sentry

React/Vite clients plus Python/Django REST backend work on streamer dashboard APIs, donations, moderation, and currencies; WebSocket alerts, CI/CD, and Sentry.

  • Built on React a donation Mini App, streamer dashboard, and overlay with alerts and progress bar; shipped to production
  • Extended the Python/Django REST API for streamer collections and reset history, currencies, donation processing, and moderation; added tests and typing
  • Set up CI/CD (GitHub Actions) and Sentry: three clients on one API without FE/backend drift
  • Closed the full path: pay in Mini App, streamer dashboard, live alert in OBS

PREEGLOS

Ticket storefront and hall layout editor

  • Next.js
  • React
  • TypeScript
  • JavaScript
  • Canvas
  • PostgreSQL
  • CI/CD
  • GitLab CI

Next.js storefront (Auth.js, PostgreSQL, Orval) plus Canvas hall editor and embeddable seat picker; CI/CD (GitLab CI), Docker Compose.

  • Built the storefront and checkout on Next.js: Auth.js, PostgreSQL, REST API from OpenAPI
  • Built a Canvas hall-layout editor and an embeddable seat-picker widget instead of seats.io
  • In production: dozens of halls and events - organizers draw layouts themselves, buyers pick seats on the site
  • Set up CI/CD (GitLab CI) and delivery with Docker Compose

Apr 2024 - Jul 2025

X5 Tech

Senior Frontend Engineer

IT for X5 Group, Russia's largest grocery retailer

Remote

NKZ 3.0 - procurement approval

Module for hundreds (up to thousands) of internal users

  • React
  • TypeScript
  • JavaScript
  • Vite
  • Orval
  • Keycloak
  • react-hook-form

One of 2 frontend engineers: Keycloak, react-hook-form, Orval from OpenAPI, UI Kit; owned the Vite migration with code splitting.

  • One of 2 frontend engineers: React, TypeScript, Keycloak roles, long forms, REST API (Orval), UI Kit
  • Owned the Vite migration with code splitting on long flows
  • Covered the full approval UI cycle: roles, statuses, forms, stage transitions
  • Ran code review and breakdown of frontend modules with backend

Jun 2023 - Mar 2024

BI.ZONE

Senior Frontend Engineer

Cybersecurity - Threat Intelligence products

Remote

Threat Intelligence

Cyber threat analytics, frontend team of 3

  • React
  • TypeScript
  • JavaScript
  • GraphQL
  • Apollo
  • D3.js
  • Jest

Threat-category sections and detail form for relationships on GraphQL/Apollo; D3 graph; virtualization, Jest.

  • Built threat-category sections and a detail form for relationships on GraphQL (Apollo)
  • Added list virtualization; covered with tests (Jest); ran code review
  • Categories and the detail form became the main way to link threats in the product
  • Built part of the entity relationship graph on D3.js for analysts

May 2022 - Jun 2023

NLMK

Senior Frontend Engineer

Steel industry: digital tools for plant production

Remote

Cast iron release registration

SPA replacing Excel

  • React
  • TypeScript
  • JavaScript
  • TanStack Table
  • TanStack Query
  • Keycloak
  • CI/CD
  • Sentry

React SPA: TanStack Table, React Query, Keycloak; CI/CD (GitLab CI), Sentry. Plant visit under the real shift scenario.

  • Replaced Excel with a React SPA: tables (TanStack Table), React Query, Keycloak
  • Visited the plant, watched the real shift flow, and reflected it in the UI
  • Plant teams moved to web as the primary process (dozens of shift users)
  • Wired Sentry and CI/CD (GitLab CI): faster to find and fix production errors

Apr 2021 - Apr 2022

Citilink

Frontend Engineer

Large electronics e-commerce

Remote

Catalog

Migration from PHP/Symfony to Next.js

  • Next.js
  • React
  • TypeScript
  • JavaScript
  • REST API
  • Redux
  • Jest

Catalog scope: filters, sort, pagination, URL state, REST API; code review in yarn workspaces.

  • Moved the catalog zone to Next.js: filters, sort, pagination, REST API, URL state
  • Kept SEO: pages and filters stay indexable via the URL
  • One URL filter state works for both retail and wholesale catalog views
  • Ran code review in a monorepo (yarn workspaces)

Skills

Languages

  • TypeScript
  • JavaScript (ES6+)
  • HTML5
  • CSS3
  • SCSS/SASS
  • Python
  • Node.js

Frontend

  • React
  • Vue 3
  • Nuxt 4
  • Next.js (SSR/SSG)
  • Effect-TS
  • Redux Toolkit
  • MobX
  • TanStack Query
  • TanStack Table
  • React Hook Form
  • Zod
  • Canvas
  • Framer Motion
  • React Native
  • Expo
  • Feature-Sliced Design
  • Module Federation
  • Tailwind CSS
  • CSS-in-JS / Emotion

Build & CI/CD

  • Git
  • Webpack
  • Vite
  • yarn workspaces
  • monorepos
  • code splitting
  • CI/CD
  • GitLab CI
  • GitHub Actions
  • EAS Build
  • Docker

API & backend

  • REST API
  • OpenAPI/Orval
  • GraphQL (Apollo Client)
  • WebSocket
  • PostgreSQL
  • SQL
  • Drizzle ORM
  • Nest.js
  • Django REST
  • Flask
  • scikit-learn
  • Keycloak
  • Auth.js
  • SMTP / IMAP

Quality & process

  • Jest
  • Vitest
  • React Testing Library
  • Playwright
  • ESLint
  • Prettier
  • Storybook
  • Sentry
  • code review
  • Scrum
  • Agile

UI & product

  • e-commerce
  • design systems
  • UI Kit
  • Material UI
  • Figma
  • Telegram Mini Apps
  • i18next
  • next-intl

English — B1

  • Tula State Communal Construction College

    Land and property relations · 2015 - 2018

    Tula, Russia

  • Computer Academy STEP

    Web development · 2016

    Tula, Russia

Winner of Digital Breakthrough hackathon (2021, 2020), Hack.Genesis _ONLINE_, Virus Hack finalist, WorldSkills championship expert.

All projects

Home

Let’s talk about your project.

Tell me what you want to build. We’ll discuss the details, timing, and how to work together.

Message on Telegram kassady71@gmail.com