Senior Frontend Developer - Tehran, Iran · Remote
Majid Fatahi
7+ years building high-performance, type-safe web apps in React, Next.js, and TypeScript - now running across 15,000+ online stores. I specialize in scalable component architecture, Core Web Vitals optimization, and clean, well-tested code, with a sharp eye for detail and UX.
Selected Work
- 01
Partnerz - Shopify SaaS
Led the front-end of a Shopify marketing SaaS scaled to $100K+ MRR and 15,000+ active installs across 15,000+ online stores.
ReactTypeScriptZustandGraphQLViteVitest2024 - 02
Core Web Vitals Win
Cut CLS from 1.1 → 0.3 and LCP from 3s → 1.9s; migrated CRA to Vite and shrank the initial bundle ~200KB (~10%).
LighthouseChrome DevToolsViteCode-splitting2024 - 03
Kamva - Real-time PWA
Built a Next.js PWA with live geolocation tracking and real-time chat on interactive Leaflet maps, used by 5,000+ users.
Next.jsReact QueryLeafletPWAMaterial UI2023 - 04
Incorp - Lighthouse 35 → 80
Raised an exhibition-directory storefront's Lighthouse score from 35 to 80 via lazy hydration, code-splitting & asset preloading.
VueNuxt 2Tailwind CSSSSRLighthouse2022
Experience
- Led front-end of a SaaS Shopify app for e-commerce campaigns & storefront widgets, scaled to $100K+ MRR and 15,000+ active installs.
- Architected decoupled feature modules with a Zustand store-per-feature pattern, enabling 4 engineers to ship in parallel with minimal conflicts.
- Optimized Core Web Vitals: CLS 1.1 → 0.3, LCP 3s → 1.9s; migrated CRA → Vite and cut initial bundle ~200KB (~10%).
- Built the team's testing practice from zero to 1,000+ unit & integration tests with Vitest and React Testing Library.
- Set up Dockerized GitLab CI/CD gating every MR (lint, type-check, test, build).
- Created an agentic Claude Code workflow to scaffold, test, review & open PRs - shipping features up to 3× faster.
- Mentored 5 front-end developers across two products, owning architecture, conventions, hiring & onboarding.
- Built a Next.js PWA (native Android/iOS builds) with real-time chat & live geolocation tracking on Leaflet maps - 5,000+ users.
- Migrated Redux to React Query & React Context, cutting boilerplate and standardizing data-fetching across both products.
- Refactored a 10K-line legacy codebase into container/presentational components + shared hooks, and migrated JS → TypeScript.
- Led migration of paziresh24.com from a legacy MPA to a server-side-rendered Vue/Nuxt 2 app, delivering the homepage & doctor-profile pages.
- Built a real-time patient–doctor consultation chat client (1,000+ users at launch) in vanilla JS with a prototype-based component architecture.
- Designed & built from scratch a custom mobile-first weekly DatePicker for the doctor-appointment booking flow.