Senior Frontend Engineer

Alexander MandrovBuilding the web of tomorrow

Specializing in high-performance web applications with Next.js, React, and TypeScript. Expanding into full-stack development as a T-shaped engineer with expertise in frontend architecture, performance optimization, and serverless solutions.

0+
Years of Experience
0+
Telegram Subscribers
About Me

Senior Frontend Engineer

Experience
Professional Journey

With over 6 years of experience in frontend development, I've evolved from building basic web applications to architecting complex, high-performance systems. I've led development teams, mentored junior developers, and consistently delivered solutions that balance technical excellence with business needs.

Expertise
Technical Proficiency

My core expertise lies in React, Next.js, and TypeScript, with a focus on performance optimization and architectural design. I excel at implementing complex state management solutions, building responsive interfaces, and creating maintainable, scalable codebases through clean code practices and test-driven development.

Growth
T-Shaped Engineer

I'm expanding my capabilities as a T-shaped engineer, growing into full-stack development with Node.js, NestJS, PostgreSQL, and cloud solutions. I've developed expertise in serverless optimization techniques and efficiently managing infrastructure to balance performance and cost while maintaining scalability.

Community
Knowledge Sharing

I actively contribute to the tech community through my Telegram channel with 1,700+ subscribers and serve as a moderator for the largest Russian Next.js community. I regularly share insights on React, Next.js, optimization techniques, and architectural best practices through technical threads and discussions to help others grow in their development journey.

My Expertise

Skills & Technologies

A comprehensive set of technical skills I've developed throughout my career

Next.js
React
TypeScript
TanStack
TailwindCSS
Performance
Programming Languages
TypeScript / JavaScript
Python
Go
Frontend Frameworks
Next.js
React.js
State Management
Redux
Redux Toolkit
Redux Saga
Redux Thunk
Middlewares
Zustand
Context API
Immer
Memoization
React API
Reselect
UI Libraries
TailwindCSS
Material UI
Shadcn UI
Styled Components
Sass
Data Management
TanStack Query
TanStack Table
TanStack Router
React Hook Form
Zod
Backend & Databases
Node.js
NestJS
MongoDB
PostgreSQL
TypeORM
Prisma
Redis
Server-Side Rendering
SSR
SSG
ISR
RSC
PPR
RSC+RCC Composition
Edge Runtime
Middleware
Performance Optimization
Lazy Loading
Code Splitting
Bundle Analysis
Tree Shaking
Memoization
Virtualization
Testing & UI Kits
Vitest
Playwright
Jest
React Testing Library
Storybook
E2E Testing
Unit Testing
DevOps & Hosting
Vercel
Netlify
Firebase
Docker
CI/CD
GitLab
AWS
GCP
Self-hosted (VPS, EC2, Dedicated)
Architecture & Patterns
SOLID
TDD
DDD
SSOT
SoC
GRASP
Clean Code
Event Driven Architecture
Serverless Optimization
My Work

Featured Projects

A selection of projects I've worked on throughout my career

Viqeo Video Player
Viqeo Video Player
A sophisticated video player with advanced ad integration capabilities and performance optimizations.
JavaScript
TypeScript
Video
Ad Integration
Performance
OOP
Core Web Vitals
  • First non-linear ad integration adapter with seamless compatibility built through mocks and unit testing of worst case scenarios from third-party integrations
  • Migrated from vanilla Redux to event emitter architecture for better maintainability
  • Extracted CSS-related code from JS/TS files to improve caching and Core Web Vitals
  • Implemented synchronized background music, text-to-speech, and video playbacks
  • Support for multiple players on a single page with optimized performance
Viqeo Ads Admin
Viqeo Ads Admin
Internal admin panel to manage ad campaigns with complex hierarchical data structures and advanced filtering capabilities.
React
TypeScript
TanStack Query
TanStack Table
TanStack Router
TDD
Tailwind CSS
  • Complex tree-like hierarchical structures with efficient loading patterns
  • UI adapter for seamless integration and separation of UI and business logic
  • TDD approach with Vitest for unit testing and Playwright for E2E testing
  • Moved filtering state from React to TanStack Router with its searchParams API
  • Fetching data before mount to avoid useEffect-driven development
AgilePoker.ru
AgilePoker.ru
A registration-free planning poker tool designed for Agile teams to estimate story points efficiently.
Next.js
WebSockets
SSG
ISR
RSC
Caching
Server Performance
  • No registration required - instant room creation
  • Real-time collaboration using WebSockets
  • SEO-friendly architecture with Next.js
  • Implemented SSG, ISR, and RSC for optimal performance
  • Custom runtime environment management solution with "build once - deploy many" methodology
  • Advanced caching strategies for improved server instance performance
Chesstery
Chesstery
An educational platform designed for both teachers and students, centered around chess and learning games.
React
WebSockets
Chess Engine
Interactive Learning
CMS
Machine Learning
  • Co-founded the project and raised $50,000 in 2019
  • Developed recursive algorithm to traverse all move histories for advanced navigation
  • Enhanced basic chess algorithm to include obstacles and treasures on board for children
  • Implemented PvP and PvE matches with time controls and customizable skins (gamification model)
  • Created custom editor supporting any chess FEN combination figures on deck
  • Developed custom CMS for comics supporting both mobile and desktop markdown for each lesson level
  • Integrated machine learning for personalized learning paths and difficulty adjustment
AI Integration Solutions
AI Integration Solutions
Various AI wrappers and integrations for text-to-speech, audio processing, and image generation applications.
Next.js
AI SDK
API Integration
TypeScript
Serverless
BFF
  • Smooth AI integrations for text-to-speech applications
  • Audio processing pipelines for AI-generated content
  • Image processing and generation with AI models
  • Type-safe wrappers for AI APIs
  • Optimized for performance and cost efficiency
  • Serverless optimization techniques to manage Vercel limitations
Chrome Extensions
Chrome Extensions
Developed various Chrome extensions for productivity, AI integration, and enhancing web applications.
JavaScript
Chrome API
React
AI SDK
BFF
  • AI wrappers for intelligent content processing
  • Gmail sorter that appends labels for each type of email derived from AI analysis
  • Comment system similar to Vercel's deployment previews where users can toggle comments on any site
  • Generate metadata from audio files using AI transcription
  • Image generation and manipulation tools integrated with browser context
My Journey

Experience & Education

My professional journey and educational background

Experience

Senior Frontend Developer

March 2024 - Present
Brooklyn NY
Viqeo

Leading the development of admin dashboard and video player solutions.

Key Responsibilities:

  • Designed and developed complex tree-like hierarchical structures with efficient loading patterns
  • Built UI adapter for seamless integration, breaking logic into classes for better testability
  • Leveraged TanStack ecosystem while avoiding useEffect-driven development
  • Developed a brand-new ad adapter with non-linear ad integration
  • Implemented support for managing multiple players on a single page
React
TypeScript
TanStack
TDD
Vitest / Jest
Playwright
Tailwind CSS
Experience

Middle Frontend Developer

Jan 2022 - March 2024
Brooklyn NY
Viqeo

Collaborated on video player development and user dashboard enhancements.

Key Responsibilities:

  • Developed video player features using vanilla JavaScript
  • Implemented ad integration within the player
  • Enhanced user dashboard for video content management
  • Created tools for generating and managing embed codes
  • Developed customizable video player configurations
JavaScript
TypeScript
React
Redux
Video
Ad Integration
Storybook
Material UI
SCSS
CSS Modules
Experience

Frontend Developer

Mar 2019 - Jan 2022
Moscow, Russia
Chesstery

Co-founded and developed an interactive chess learning platform.

Key Responsibilities:

  • Co-founded the project and raised $50,000 in 2019
  • Designed and implemented a custom chess engine and interactive board
  • Developed recursive algorithm to traverse all move histories
  • Established real-time socket connections for tutor-student and PvE-PvP interactions
  • Built a chess editor for custom game scenarios with any FEN combination
  • Created a comprehensive learning platform with personalized plans
React
Redux
WebSockets
Chess Engine
Machine Learning
Education

Bachelor's Degree in Theoretical Physics

2017-2021
Moscow, Russia
Moscow State University

Studied theoretical physics, developing strong analytical and problem-solving skills.

My Insights

Blog & Threads

Technical articles and X threads where I share my knowledge and experiences

March 8, 2025
Scaling a Self-Hosted Next.js App: From 45 RPS to 690 RPS
How I optimized a self-hosted Next.js app to handle 15x more traffic without increasing infrastructure costs.
Next.js
Performance
Bun
Scaling
SSR
Caching

"In one of my projects, we deployed a self-hosted Next.js app with SSR pages on a VPS. After going live, we noticed a single instance could only handle 45 RPS. This was a major bottleneck, so I took ownership of performance optimization."

Initial performance: 45 RPS per instance
After Bun migration: 80 RPS per instance (2x boost)
After caching & optimizations: 450 RPS per instance (~11x boost)
With two instances: 690 RPS total
February 26, 2025
Overcoming Serverless Limits with AI Services
Solving serverless function payload limits when working with AI services like GPT-4o, Whisper, and DALL-E.
Vercel
Next.js
Edge Functions
GPT-4o
Whisper
DALL-E
Redis

"No self-hosting, no backend - just serverless functions calling AI services via an SDK (GPT-4o-mini, Whisper-1, DALL-E-3). And then: serverless function payload too large (>4.5MB)."

Implemented aggressive audio compression with OfflineAudioContext
Split one serverless function into several modular services
Used /tmp directory with signed tokens for secure file sharing
Improved UX with clearer progress tracking across multiple API calls
February 21, 2025
Building HTTP Server & Redis with Codecrafters
My experience building an HTTP server in Go and starting a Redis implementation on the Codecrafters platform.
Go
Codecrafters
Redis
HTTP
Learning

"Recently, I started 'building my own X' on the Codecrafters platform. I worked with an HTTP server in Go, and it turned out to be not that difficult."

Successfully completed the HTTP server challenge in Go
Wrote a Redis protocol parser for the Redis challenge
Found extensions beyond the basic course to be more challenging
Chose Go over Rust despite initially planning to use Rust
February 3, 2025
Breaking Down Mistakes in an RSC Breakdown
Correcting common misconceptions about React Server Components and explaining how they actually work.
React
RSC
Next.js
Server Components
Technical Accuracy

"Yesterday, I watched a month-old video about React Server Components. I found a few inaccuracies and left a comment with timestamps and corrections… but it got deleted 🫠"

Clarified that 'use server' is for server functions, not for marking server components
Explained that server components can be static without async
Corrected misconceptions about the 'use client' directive and pre-rendering
Explained why React Client Components are sent as JS bundles (serialization limitations)
Demonstrated how RSC and RCC composition works beyond just children props
June 16, 2024
Diving into Next.js Source Code: Revalidation Insights
Investigating why revalidating a tag in an RSC Child causes the whole RSC Parent page to refresh.
Next.js
Source Code
Revalidation
RSC
React

"I've been digging into the Next.js source code to tackle an issue I mentioned earlier: When revalidating a tag in an RSC Child, why does the whole RSC Parent (entry page) refresh?"

Set up Next.js locally and explored the monorepo to investigate revalidation
Found that tag revalidation triggers client-side navigation via generateFlight()
Discovered this is a limitation in the current Next.js app-render implementation
Experimented with skipFlight parameter but the page still recompiled
Shared source code links and findings for the community
Let's Connect

Get in Touch

Interested in working together? Feel free to reach out!

Contact Information
You can reach me directly using the following contact details.

Email

mandrov706@gmail.com

Location

Tel Aviv, Israel

Connect with me

Follow my Telegram channel for insights on React, Next.js, optimization techniques, and architectural best practices.

Join Telegram Channel