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.

Professional Experience
SP-Lutsk
3 yrs 11 mos · Ukraine (Hybrid / On-site / Remote)
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.
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.
Featured Projects & Products
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
lab-inventory
A local-first laboratory antibody inventory tracking app. Features dynamic inventory usage tracking, report validation routines, and Excel spreadsheet export support.
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.
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.
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.
Problems Solved
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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