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
Languages
English — B1
Education
Tula State Communal Construction College
Land and property relations · 2015 - 2018
Tula, Russia
Computer Academy STEP
Web development · 2016
Tula, Russia
Community
Winner of Digital Breakthrough hackathon (2021, 2020), Hack.Genesis _ONLINE_, Virus Hack finalist, WorldSkills championship expert.