experience
- ITSUARemoteFullstack DeveloperJul 2025 — Present
- ›Built the purchase pipeline for EpinForce around a rate-limited third-party supplier: queued orders with BullMQ, per-purchase status tracking, email notifications on state change.
- ›Built StudyBooster from an empty repository with the CTO — split frontend (Astro + Vue) and backend (NestJS) in parallel, integrated AI features, shipped a secondary internal app.
- ›Joined a five-person team on an international healthcare recruitment platform (React + Symfony, client under NDA): retrofitted i18n across 2,000+ keys, built the multi-region build system (four regional properties from one codebase), designed the notification system end to end, worked on authorisation and access-control policy, and reworked the platform interface.
- ›Built the Strapi component set and assembled a 25-page site for SV Geo (Astro + Strapi).
VueReactAstroNestJSSymfonyMySQLBullMQStrapiTypeScriptDockerGitHub Actions - MindenitRemotePart-time Fullstack DeveloperSep 2023 — Present
- ›Sole developer on Vatra — geospatial event discovery platform (NestJS, Nuxt 4, PostGIS, BullMQ, Logto), from my own product idea. Spatial filtering by bounding box, radius, and city polygon; moderation through an admin panel backed by a BullMQ pipeline, with a Telegram bot for admin notifications.
- ›Maintained Schedule (timetable app, ~1,000 students, 300+ groups) for three years across two framework migrations (React → Nuxt 3 → Nuxt 4). Cut initial load from 4-5s to under a second and removed 600-700ms view-switch delays by eliminating 200+ unnecessary re-renders; added offline support with a service worker and IndexedDB.
- ›Co-rewrote the Schedule API from Fastify to NestJS, owning the caching and data layer: replaced a separate C# microservice with my own published crawler library, moved schedule data from Redis into Postgres with diff-based daily refresh so restarts no longer refetch, Redis-backed shareable links with per-user rate limiting.
- ›Built the authentication layer for the Business CRM (closed beta): deny-by-default JWT guard against a self-hosted Zitadel, tokens in encrypted httpOnly cookies via Nuxt BFF.
- ›Frontend for Mindenit ID — centralised OIDC account for all Mindenit products (Vue, Nuxt, Pinia, TanStack Query, TanStack Table).
NestJSNuxtReactVuePostgreSQLPostGISRedisDrizzleBullMQLogtoZitadelTypeScriptDockerGitHub Actions
stack
TypeScriptDockerReactPostgreSQLNuxtRedisNestJSVueDrizzleGitHub ActionsBullMQSymfonyAstroTanStack QueryPostGISLogtoPHPAIPythonFastAPISQLAlchemyS3SuperTokensPiniaKeycloakOAuth 2.0OIDCJWTRBACMySQLStrapiZitadel
click any tag to filter projects by that technology
education
Kharkiv National University of Radio Electronics2023 – present
Bachelor · Computer Engineering