STATUS: AVAILABLE FOR FULL-STACK & FRONTEND ROLES

Hello, I'm Ivan Kahan.

I specialize in building high-performance web applications, Chrome extensions, and mobile apps. Currently designing e-commerce modules, AI SaaS integrations, and advanced BDD testing suites.

Ivan Kahan
01 // CAREER PROGRESSION

Professional Experience

[SP]

SP-Lutsk

3 yrs 11 mos · Ukraine (Hybrid / On-site / Remote)

Jun 2023 – PresentFull-time · Hybrid

Frontend Engineer (Full-Stack Reach)

Moved from implementing designs to owning frontend architecture and shipping across the full stack on production platforms:

  • Led the enterprise migration of a 150k+ LOC supply chain platform from Create React App to Vite 8 & Vitest 5 (React 18), cutting bundle build times by 35% and CI pipeline execution from 12m to 4.5m across 230+ specs.
  • Rebuilt a high-traffic dynamic QR SaaS platform from a client-rendered SPA onto Next.js 16 (App Router) & TypeScript, eliminating layout shifts (CLS to 0.0), reducing LCP down to 1.6s, and boosting mobile Lighthouse performance scores to 96+.
  • Extended past the API boundary into backend services – designed Django Ninja REST APIs, PostgreSQL data models, and Celery async queues, integrating real-time WebSockets with optimistic UI updates that cut user-perceived latency by 60%.
  • Architected end-to-end multi-tier checkout with Stripe Elements & PayPal SDK, subscription win-back retention funnels, and automated invoicing.
  • Took performance, stability, and observability as core disciplines – chasing silent hydration mismatches, eliminating layout shifts, and establishing resilient state management patterns.
Oct 2022 – Jun 20239 mos · Full-time · Remote

QA Engineer

Where I started – building the automation foundation that proves high-concurrency systems hold up under stress:

  • Architected k6load-testing suites simulating up to 1,500 virtual users (VUs) for logistics & e-commerce platforms, uncovering 15+ backend bottlenecks and database connection pool saturations before production releases.
  • Developed automated Cypress & Cucumber BDD test suites covering 40+ critical business flows, cutting regression testing cycle time from 6h to 25m.
  • Configured Grafana dashboards streaming real-time InfluxDB metrics (P95/P99 latency, error rates, throughput), turning invisible CLI logs into company-wide release criteria.
  • Partnered with developers and product managers on triage, reproducing race conditions and observing first-hand how production systems break – building the instincts for edge cases I still lean on when designing and reviewing code.
02 // SELECTED PRODUCTS

Featured Projects & Products

[ CHROME EXTENSION // MANIFEST V3 ]

AliExpress Orders Exporter

A secure, private Manifest V3 Chrome Extension & Next.js dashboard with 40+ active users. Features synchronous MAIN world network interception, HAR package offline imports, price trend tracking, dispute rate metrics, automated PDF invoice compilation, and Google Sheets OAuth2 synchronization.

Chrome Extension (MV3)React 19Next.js 16TypeScriptIndexedDBGoogle Sheets APIesbuildTailwind CSS v4Vitest
[ Hardware Workstation ]
Live

mc5000-studio

An open-source telemetry station, analytics dashboard, and ESP32 firmware flasher for the SkyRC MC5000 battery analyzer. Features dual-transport hot-swapping between Web Bluetooth and a 24/7 autonomous ESP32 Wi-Fi gateway (replaying ~600k LittleFS records with instant delta catch-up), 1Hz multi-slot metrics, Recharts cubic splines, full 40-byte program configuration, and local-first IndexedDB session archiving.

React 19TypeScriptWeb BluetoothWeb SerialESP32C++RechartsZustandTailwind CSSIndexedDBVitest
[ Parametric 3D CAD ]
Live

casecraft-3d

A parametric browser-based 3D CAD box and enclosure generator engineered for 3D printing. Features multi-core Web Worker background CSG geometry processing (@jscad/modeling) with zero-copy Transferables, a 2D spatial perimeter matrix for per-wall thickness tuning, multiline 3D vector text extrusion, friction-fit & screw-mount lid mechanics, coplanar normal snapping, and direct binary STL / STEP / OBJ export.

React 19TypeScriptThree.jsReact Three Fiber@jscad/modelingWeb WorkersZustandTailwind CSSVitest
[ SaaS Logistics ]

SKzxlop

A multi-tenant logistics & supply chain platform. Led the 150k+ LOC frontend migration from Create React App to Vite 8 & Vitest 5 (React 18), cutting CI build times by 62%. Owned architecture for warehouse logistics, quoting engines, carrier tracking, Amazon SP-API & DocuSign integrations, and dynamic PDF shipping labels.

ReactTypeScriptViteVitestRedux ToolkitRTK QueryReact RouterReact Hook FormWebSocketsCalendly APIStripeCypressCucumberk6GrafanaAmazon SP-APIDocuSign APIHubSpot APIDjangoPostgreSQLDockerKubernetes
[ SaaS Ecommerce ]

Clwxpzqber

A multi-tenant e-commerce order fulfillment & dropshipping platform. Architected multi-role order processing workflows, product catalog management, and automated billing balances. Built the real-time AI support chat (WebSocket) and the k6 load-testing suite covering admin, tenant, and shared flows.

ReactTypeScriptRedux ToolkitReact RouterReact Hook FormWebSocketsOpenAI APIStripePayPalPlaywrightk6Amazon SP-APIShopify APIDjangoPostgreSQLDockerAWS
[ AI SaaS Platform ]

juaxkzwprqmvy.ai

An AI headshot & avatar generation platform. Contributed to checkout promo logic, plan usage dashboards, Sanity CMS landing pages, and OpenAI/fal.ai image-generation workflows.

ReactNext.jsTypeScriptRedux ToolkitReact RouterStripePayPalFirebaseTailwind CSSSanity CMSOpenAI APIfal.aiDjangoDjango Ninja
[ Developer Portal ]

qrtznwblshpxd.com

A high-traffic dynamic QR code SaaS platform. Architected the complete SPA to Next.js 16 (App Router) & TypeScript migration, achieving a 96+ mobile Lighthouse score (CLS 0.0, LCP 1.6s). Built subscription cancellation & win-back flows, integrated Stripe & PayPal multi-tier checkout, and optimized SSR/client hydration boundaries.

Next.jsReactTypeScriptRedux ToolkitReact Hook FormStripePayPalFirebase AuthTailwind CSSDjangoDjango NinjaPostgreSQLDockerSentry
[ Hardware Analytics ]
Live

li-ion-calculator

A high-performance balancing calculator for custom lithium-ion battery packs. Built an off-thread Web Worker optimization engine (Genetic Algorithms), thermal heatmap simulations, busbar connection layout pathing, multi-format file parsers, and IndexedDB workspace management.

Next.jsReactTypeScriptWeb WorkersTailwind CSSSheetJS (XLSX)IndexedDBVitest
[ Mobile Application ]

fiqwzbncxvlksdher

A full-stack personal finance & expense tracking mobile app I contributed to, built with React Native (Expo Router v6), NativeWind, and Django REST microservices. Features voice expense logging (Whisper AI), Tesseract OCR receipt scanning, Celery/Redis async task queues, WebSockets, and Stripe billing.

React NativeExpo RouterTypeScriptRedux ToolkitReact NavigationWebSocketsStripeNativeWindTesseract OCRDjango RESTCeleryRedisPostgreSQLDockerNginx
[ SaaS Analytics ]

sanzkxwpqrmvyai

An AI-powered Sankey diagram & flow visualization SaaS platform. Built native Microsoft Excel Add-in data sync, automated AI diagram generation (OpenAI), drag-and-drop node editing, and Stripe & PayPal multi-tier subscription billing.

Next.jsReactTypeScriptRedux ToolkitOffice Add-in APIsStripePayPalFirebaseTailwind CSSOpenAI APIDjangoDjango NinjaPostgreSQLDockerSentry
[ SEO Blog Platform ]

qrbzkxwpqrmvyog

Multilingual content hub featuring AI-powered automated post generation and translations. Integrated SEO routing systems, smart CDN asset resizing, and a Core Web Vitals pass now measuring 96 mobile performance and 100 SEO on PageSpeed Insights.

Next.jsReactTypeScriptOpenAI APIClaude APIAI AutomationGoogle Cloud TranslationCDN Image ResizerPostgreSQLGoogle CloudDocker
[ Inventory Database ]

lab-inventory

A local-first laboratory antibody inventory tracking app. Features dynamic inventory usage tracking, report validation routines, and Excel spreadsheet export support.

Next.jsFirebaseFirebase FunctionsFirebase Admin SDKReact Hook FormReact ToastifyTypeScriptxlsx (SheetJS)
[ Full Stack CRM ]

beauty-crm

A full-stack salon management & client scheduling CRM. Built real-time appointment booking updates (Express-WS & WebSockets), JWT authentication with HTTP-only cookies, client interaction histories, and responsive Redux Toolkit dashboards.

ReactRedux ToolkitReact RouterReact Hook FormNode.jsExpress.jsWebSocketsJWT AuthMongoDBMongooseBootstrap
[ Web Planner ]

calendar-project

An interactive web planner modeled after Google Calendar. Built multi-view scheduling grids, custom date algorithms (Day.js), and real-time cloud sync with Firebase Firestore. Developed as the portfolio project that secured my first professional developer role.

ReactRedux ToolkitReact RouterReact BootstrapAxiosDay.jsFirebaseFirestoreBootstrap
[ Mobile Assistant ]

LNTU-Assist

A university mobile assistant for Lutsk National Technical University. Built campus map navigation (react-native-maps), schedule lookups, and audio playback (expo-av). My foundational project, self-taught from scratch on the fly.

React NativeExpoReduxReact NavigationReact Native MapsExpo AVAxiosAndroid/iOS
03 // ENGINEERING NOTES

Problems Solved

[AliExpress Orders Exporter]Chrome MV3

No API tells you if a background tab finished, got blocked, or is stuck

The extension opens a hidden tab to let AliExpress's own page load and capture data – but there's no signal for whether that tab finished normally, hit a login wall, got a captcha, or is just slow. Naive detection matched anti-bot script tags and words like 'verify' that are present on every single page, not just blocked ones.

[AliExpress Orders Exporter]Chrome MV3 · MAIN world

A network-interception result couldn't cross back out of the page's own execution context

Capturing AliExpress's own network requests meant hooking fetch/XHR inside the page's MAIN world, running before the page's own code – but whatever that hook captured couldn't be handed directly to the extension's isolated content-script world; the two contexts don't share objects.

[SKzxlop]Carrier APIs + Redux

Tracking one shipment took a chain of four dependent API calls

Neither carrier provider answered in a single request – one returned a job id the browser had to poll, the other a numeric status code and a latitude field that sometimes read "Not Supported". Turning that into a map position needed geocoding and route interpolation on top, and the entire list had to settle before anything rendered, with every intermediate state passing through one hand-rolled Redux store.

[SKzxlop]Django + Kubernetes

Notifications lie about job completion

Amazon product imports run as Kubernetes Jobs. The completion notification is written from inside the pod before the container actually exits – so it can reach the browser while Kubernetes still reports the job as running.

[SKzxlop]k6 load testing

Load tests that assumed a linear timeline

Load-testing a shared, constantly-mutating environment breaks any suite that assumes 'test B runs after test A creates its data' – at real concurrency, that assumption never holds.

[qrtznwblshpxd.com]Next.js / reverse proxy

A page couldn't start rendering until the entire upstream response finished downloading

The reverse proxy in front of the blog buffered the full upstream response before forwarding it, so time-to-first-byte was gated on downloading the whole HTML document first – no matter how fast the visitor's connection was.

[qrbzkxwpqrmvyog]AI content pipeline

A single AI generation call routinely outlasted what the platform allowed

Generating a blog post with AI could take longer than a normal request/response call is allowed to run – and even after switching to a streaming response, the connection could still be dropped after a period of inactivity regardless of the overall time budget, with default compression occasionally corrupting the tail of the stream on disconnect.

[qrbzkxwpqrmvyog]Next.js / image pipeline

Turning image optimization back on wasn't enough to actually get it

Image optimization had been disabled outright. Re-enabling it looked like the whole fix – but the blog is served behind another app through a path rewrite, and without an explicit optimizer path the generated image URLs resolved to the parent app's unoptimized endpoint. In production the images were served exactly as before, with nothing in the build or the page to flag it.

[MC5000 Studio]Web Bluetooth · ESP32 Gateway · LittleFS

Replaying 40 days of asynchronous hardware telemetry without browser drops

Chromium tabs throttle background timers and drop Web Bluetooth connections when screens sleep or tabs close during multi-day battery cycles. Bridging autonomous 24/7 logging to an ultra-low-cost ESP32 module required a circular LittleFS flash ring-buffer packing 16-byte records with deadband compression, accompanied by an instant delta catch-up replay into browser IndexedDB upon reconnection.

[CaseCraft 3D]Three.js · Web Workers · JSCAD

Complex 3D CSG boolean operations froze the main UI thread during live slider adjustments

Evaluating real-time parametric CSG cuts for honeycomb ventilation, multiline text engraving, and screw boss cavities on every slider movement completely locked the browser frame rate. Moving geometry computation to dedicated Web Workers required zero-copy Transferable ArrayBuffers, coplanar normal snapping to prevent lighting banding, and an off-thread binary STL exporter.

[sanzkxwpqrmvyai]Excel Add-in

Office Add-in tooling doesn't support Next.js

Microsoft's Add-in template and CLI only scaffold a plain React/webpack app – there's no supported path to run an Add-in on Next.js.

04 // TECHNICAL STACK

Core Skills

Languages & Runtimes

  • TypeScript / JavaScript (Node.js / Express.js)
  • Python (Django / Django Ninja)
  • C++ / Embedded (ESP-IDF / Arduino)
  • SQL & NoSQL (PostgreSQL / MongoDB / Redis / SQLite)

Frontend & Mobile

  • React 18/19 & Next.js (App Router)
  • Three.js & React Three Fiber (3D CAD & WebGL)
  • React Native (Expo / Expo Router)
  • Vite & Modern Build Tooling
  • Redux Toolkit, RTK Query & Zustand
  • Tailwind CSS v4 & Modern CSS
  • Internationalization (i18next / react-intl)

DevOps & Infrastructure

  • Docker & Docker Compose containerization
  • GitHub Actions CI/CD workflows automation
  • Sentry error monitoring & performance tracking
  • Cloudflare Workers serverless deployment

Specialized Integrations & AI

  • Web Bluetooth & Web Serial APIs (Hardware I/O)
  • OpenAI API, Claude API & Antigravity
  • Microsoft Office Add-ins (Excel APIs)
  • Chrome Extension APIs (Manifest V3)
  • Stripe & PayPal Checkout Systems
  • ShipsGo, ParcelsApp, UPS & FedEx Tracking APIs

QA, Testing & Automation

  • Playwright Browser E2E Automation
  • k6 Load & Performance Testing
  • Grafana & InfluxDB Load-Test Metrics Dashboards
  • Cypress & Cucumber BDD testing frameworks
  • Vitest & Jest Unit Test Suites

Data, Storage & Processing

  • Binary STL & STEP AP203/214 3D CAD Pipelines
  • IndexedDB Local-First Storage & Web Workers
  • SheetJS (XLSX) & Automated CSV/Excel Exports
  • Automated PDF Generation & Document Processing
  • RESTful APIs & OAuth2 Authentication Flows
  • WebSockets Real-Time Updates (react-use-websocket)

Design & Collaboration

  • Figma (UI/UX design, prototyping & dev handoff)
  • Jira, Clockify & If-team Workflows
  • Git & GitHub version control