Senior FullStack Developer
Senior Frontend Developer | Full-Stack Foundation | Mobile (Capacitor) | AI Engineering | Agentic AI Workflows & AI-First Development | AIDD
Remote · Full-time / Part-time / Project-based
Senior FullStack developer focused on high-load and modern web applications. Deep expertise across React, Vue, Angular, Svelte, Astro on the frontend and Node.js, NestJS, GraphQL, PostgreSQL, Frappe on the backend.
Senior FullStack developer with 6+ years of experience building high-load and modern web applications. Strong on the frontend across React, Next.js, Vue 3, Angular, Svelte and Astro — and equally comfortable on the backend with Node.js, NestJS, Express, GraphQL, REST, PostgreSQL and MongoDB.
I thrive where design meets engineering, turning complex requirements into elegant, user-friendly products. Over the last few years I've also been exploring and adopting an AI-first approach to development, building agentic AI workflows and AIDD (AI-Driven Development) pipelines that help teams ship faster while keeping quality, security and scalability uncompromised.
Fullstack work across the company's core web and mobile products — marketing site, admin/CMS platform, an Android app, an internal document-management platform and a declarative workflow engine on top of Frappe.
UzCloud Web — SSR marketing site on Astro 5 + React 19 islands + Tailwind 4 with full ru/uz/en i18n via middleware-driven [lang] routing, Express SSR runtime in Docker behind Traefik
UzCloud CMS Backend — NestJS 11 + Prisma 6 + PostgreSQL REST API with split admin/public controllers, per-language i18n tables, transactional mutations, JWT + httpOnly-cookie refresh auth, media storage and a contract-generation domain (catalog, versioned templates, PDF, Asana tasks)
UzCloud Admin Platform — Vue 3 + Quasar 2 + Pinia + Vite panel grown from a content manager into an internal business platform: contract registry with a catalog-calculator wizard, versioned templates with placeholder rendering, commercial-offer generator, counterparty autofill by TIN (Didox / Soliq), PDF export and Asana hand-off, RBAC (admin / manager × organizations), media library, Quill-based blog and Telegram Mini App sign-in; flat @SimpleTry services, sidebar auto-built from route meta, VeeValidate + Zod forms mirroring backend validation
EDOC v2 — React frontend for an electronic document management system on Frappe; Feature Modules + Registry architecture, hand-written typed entity layer, dynamic form engine, TanStack Query v5 + Zustand, WebSocket presence
EDOC Mobile — Android app for EDOC on Capacitor 8: WebView shell over the same React SPA (same-origin API, stand switching via env) plus the mobile UI layer — three adaptive layout modes, floating bottom navigation, swipeable bottom sheets with reference-counted scroll lock, safe-area handling
edoc_workflow — declarative versioned workflow engine for Frappe: status/transition DocTypes, adapter pattern, condition/validator/post-function registry, whitelisted transition API
AI-first delivery — drove agentic AI workflows and AIDD (AI-Driven Development) across the team, leaning on LLM-assisted, near-100% AI-generated code pipelines to ship faster without compromising review quality
Stack: AI-First Development · Agentic AI Workflows · AIDD · Frappe · Python · TypeScript · Node.js · NestJS · Prisma · PostgreSQL · Astro · React · Vue 3 · Quasar · Pinia · Tailwind CSS · TanStack Query · Zustand · Capacitor · Android · Docker · Traefik
Designed and built fullstack web solutions for state-level platforms — database architecture, API design, server-side logic and modern frontend interfaces with strict security, stability and scalability requirements.
Web Video Editor (UFA) — flagship project. Browser-based non-linear video editor on Vue 3 + Quasar + Pinia + Fabric.js + HLS.js. Built the Fabric-driven canvas (FabricCanvasService), flexible timeline with layers and clips, dynamic JSON document model used as the editor's source of truth, video upload/HLS playback pipeline (VideoService), highlights/markers system (HighlightsService) and multi-user team collaboration (TeamService) on top of OneID auth, with role/permission-driven dynamic routing
Sud Dashboard — Angular 20 platform for the courts: dual admin + client portal in one app with separate auth, OneID OAuth2 and E-IMZO digital signatures, standalone components and modular CRUD architecture, dynamic sidebar built from route metadata, custom Transloco i18n loaded from the API, WebRTC video calls (simple-peer), audio recording, face-api biometrics, OnlyOffice document editor/viewer, HLS video, AI-chat (LLM) and citizen-appeal services
Inspector Dashboard (Mehnat) — Vue 3 + Quasar + Pinia admin for labour inspectors covering organizations, users, decrees, content and a complex Appeal workflow with 7 form types and 4 inspector roles (CallCenter, Main, Ordinary, Republic); OneID auth, permission-driven routing, Try-decorator service layer, reusable Form/ButtonDialog/IconDialog primitives
DMI Inspector Client (Mehnat) — public-facing Astro 5 SSR + Svelte portal with middleware-based [lang] i18n, Felte + Zod forms, OneID SSO, Nanostores state, UnoCSS design system, Docker dev/staging/prod pipelines
MyDreams — Vue 3 + Quasar + Pinia + UnoCSS admin (mydreams.uz) with self-contained modules, Try-decorator services, permission directives and translation facade
Genadi — Go-based code generator: parses Swagger/OpenAPI v2 specs and produces ready Vue 3 + TypeScript modules (service, router, CRUD pages) from embedded text/template templates; ships with a templ-powered web UI for browsing services and tags
Report Dashboard (UFA) — Vue 3 + UnoCSS app that generates print-ready PDF match reports from API data via Bearer auth, with multilingual content and print-color-adjust tuning
BPMN Editor — Vue 3 + Quasar + Pinia workspace for modelling business processes: projects → services → diagrams, a bpmn-js editor with a colour picker, debounced autosave plus Ctrl+S, named commits as diagram versions with a rollback to any of them, .bpmn/.svg import and export, a router assembled at runtime from the user's role (admin / manager / user), and a Vue-free public viewer built as a second Vite entry point so a shared link opens read-only without auth
Owned database schema, REST/GraphQL API design and reusable UI component libraries across these products; established SSR + SEO patterns for state-order projects
AI-first workflows on state-level projects — introduced agentic AI development and AIDD practices, using LLM-assisted coding to accelerate delivery while meeting strict security and stability requirements
Stack: AI-First Development · Agentic AI Workflows · AIDD · TypeScript · Go · Node.js · NestJS · Express.js · React · Next.js · Angular 20 · Vue 3 · Svelte · Astro · Quasar · Pinia · ng-zorro-antd · Transloco · SSR · REST API · GraphQL · WebSockets · WebRTC · Fabric.js · HLS.js · bpmn-js · OnlyOffice · OneID OAuth2 · E-IMZO · UnoCSS · PostgreSQL · Docker
"abcollab" — a UK platform where artists and brands find each other and work together: the artist keeps a portfolio, the brand looks for an author or posts a brief, and the whole deal runs inside the service — from the first message to the payment.
Two roles, one product — an artist side (portfolio, artworks, responses to briefs) and a brand side (search, briefs, reviewing responses, payment), each with its own onboarding, home screen and scenarios
Onboarding and moderation — multi-step questionnaires for both roles; an artist goes through manual review and stays invisible in search until approved
Artist discovery — recommendations by country and readiness to travel, category tabs (painters, sculptors, digital artists, printmakers, collagists), advanced filters by experience, industries and audience size, plus a saved list
Briefs and responses — the brand publishes, edits and archives briefs; the artist applies or saves them; the brand sorts responses, rejects with a reason or turns one into a collaboration
Collaboration in chat — an accepted response opens a chat tied to the brief: it holds the correspondence, the history of the deal and platform notifications
Payment inside the deal — the artist sends a payment request, the brand pays by card, the platform keeps a 15% commission; both sides see the transaction status in the same chat
Product work — took part in team discussions of new features and of how the scenarios should behave
Stack: React · Redux Toolkit · Firebase · TypeScript
"AloVoice" — cloud telephony for the Uzbek market: a company signs up in the web cabinet, spins up its own virtual PBX and gets working office phones — extensions for the staff, a city number, voice menus, queues, call recording and call events pushed into the CRM.
PBX in one click — the customer assembles their telephony straight from the cabinet: a single form spins up a separate PBX with extensions, a city number and a trial period
Operators and their phones — extensions for the staff, outbound-call permissions, do-not-disturb, live registration status; a softphone is set up by QR code or a ready-made config
External lines — city numbers from different carriers (Uztelecom, any SIP provider, a Telegram gateway), attached to the chosen PBX
Call scenarios — voice menus with a digit-to-action tree, departments (queues) with distribution strategies, hold music and greetings, inbound rules bound to working-hours schedules
Call log and recordings — history with statuses and duration, playback and download of conversation recordings, a separate log for the operator's mobile app
CRM integrations — call start and end events pushed to amoCRM, Bitrix24 or a custom webhook; a call can be placed straight from the customer card
Account cabinet — signup by phone number, profile, balance, tariffs and the history of operations
Stack: React · MobX · MVVM · REST API
"MedYuMed" — a network of aesthetic medicine clinics, and this is its administrator's back office: a branch, a day, who is booked with which specialist, what the visit consists of, whether the client showed up and how they paid.
A branch day on one screen — the schedule laid out in a column per specialist, free slots opened by a click, every booking showing the client and the services; the branch and the date switch in the sidebar, and the hours of the grid come from the branch's own working schedule
The booking card — the client with their contacts, the list of services with prices and the administrator's note in a single window, without leaving the schedule
Visit status — waiting for the client, arrived, no-show, confirmed; the status decides whether payment opens and whether services can still be added
Payment on the spot — quick or split per service, in cash or by card, with a fiscal receipt and the loyalty programme
A course of procedures — a booking repeated from a template: the interval, the number of repeats, with a client attached or without one
The client base of the network — a paginated table of contacts and the branches a person visited, filters for "on the branch's books" and "has visited" plus gender and activity, and a mailing sent to the rows ticked off
Staff across the network — the specialist card (position, specialisation, status, rating, photo), assignment to branches, the directory of positions, types of non-working days, and merging duplicates of the same person when a branch joins the network
Stack: React · TypeScript · Redux Toolkit · MUI · styled-components · react-big-calendar · 1C REST API
Creating modern websites, supporting and developing a learning platform, and building a student accounting system.
Stack: JavaScript · HTML5 · CSS3