Sergi Jajanidze

Senior Frontend & Full-Stack JavaScript Engineer

Selected Work

Production systems I designed and led — the decisions, the trade-offs, and what I’d do differently.

High-traffic consumer banking public site

Migrating a monolithic banking frontend to micro-frontends

Split a single web-component SPA serving retail and business banking into three independently deployed applications — a shell plus two product remotes — without duplicating the framework runtime that a shared custom-element library depends on. Route-by-route strangler migration, no cutover, no long-lived branch.

Role
Lead engineer — architecture owner across two teams
Scope
Three independently deployed apps across two product teams, ~280 federated shared modules, ~100 design-system packages pinned in one import map
Lit 3 web componentsWebpack 5 Module FederationNative ESMImport maps
Read case study
Internal multi-locale content management system

Migrating a production CMS from Polymer 3 to React + TypeScript

Led the migration of a daily-use editorial CMS off a dead framework, running both apps side by side behind one reverse proxy so editors never saw a freeze. The real work was rewriting a schema-driven form engine that generates the entire editing UI at runtime from user-defined content types — including the multi-locale coordination Polymer had solved with DOM traversal.

Role
Lead engineer — engine owner, delegated field layer
Scope
~11k lines of TypeScript across ~95 modules, replacing a ~10k-line Polymer 3 app · 22 schema-driven field types · one deployment serving several sites with per-tenant locale sets
React 18TypeScriptAnt DesignReact Router v6Webpack
Read case study
Consumer bank public site

AI-assisted site search

Put an LLM query-understanding layer in front of an existing keyword index rather than replacing it, so questions and typos resolve to indexed terms — plus a grounded answer card generated only from the pages the index already returned. Every model call falls back to the raw query, so a provider outage degrades to the original search instead of an error.

Role
Lead engineer — sole implementer, backend and frontend
Scope
Two endpoints, one shared search component with two consumers, two locales
Node/ExpressRedisGeminiLit 3 web componentsModule Federation
Read case study

Skills

Languages

JavaScriptTypeScriptHTML5CSS3

Frontend

ReactNext.jsAngularLitWeb ComponentsTailwind CSSCSS-in-JSDesign Systems

State & Data

ZustandReduxGraphQLTanStack Query

Backend & APIs

Node.jsNestJSExpressREST APIsWebSocket

Data & Storage

MongoDBPostgreSQLRedis

Architecture

Micro-frontendsMonoreposModule FederationSSR

AI & LLM

LLM API IntegrationRAGPrompt Engineering

Testing & Quality

VitestJestReact Testing LibraryPlaywrightCore Web VitalsWCAG

Tooling & DevOps

ViteWebpackESLintCI/CDDockerAWS

Certifications

Side Projects

Things I built on my own time to dig into a specific problem.

Threads App

Focus: Full-Stack Architecture

Social discussion platform inspired by Reddit, built with Next.js 15, React 19, Prisma, and HeroUI. Users can create threads, post content, and engage through nested comments.

Real-time Editor App

Focus: Real-time Systems

Real-time collaborative text editor built using Node.js, Socket.IO, and Quill.js, with storage in Redis and containerized using Docker for deployment/local development. The app allows multiple users to simultaneously edit the same document with instant synchronization across clients.

Excel App

Focus: Framework Internals & Performance

Excel application created with vanilla JavaScript. Implemented custom web framework from the scratch (with state, routing, eventing, storage, DOM manipulations). Used Tailwind CSS for styling.

Search App

Focus: Algorithmic Efficiency

JavaScript search engine built on a Trie (prefix tree) data structure for fast text lookup and autocomplete. Supports instant prefix-based searching, smart suggestions, and relevance-ranked results.