پرش به محتوای اصلی
نماد بصری علی عمرایی
Senior Frontend EngineerReact • Next.js • TypeScript

من علی عمرایی هستم؛ Senior Frontend Engineer با تمرکز روی معماری، Performance و تجربه کاربری در محصول‌های سازمانی.

بیش از ۵ سال است که در طراحی، توسعه، بازطراحی و بهینه‌سازی سامانه‌های واقعی کار می‌کنم؛ از BPMS و workflow platform گرفته تا پورتال‌های ویدیویی، PWA، داشبوردهای سازمانی، CRM و اپلیکیشن‌های موبایل. نقطه قوت من ترکیب مهارت فنی با نگاه محصولی است: معماری تمیز، performance قابل اندازه‌گیری، UI قابل اعتماد، تجربه کاربری قابل فهم و همکاری نزدیک با تیم‌های product، design و backend.

aliamraei.aa@gmail.com

۵+ سال
تجربه حرفه‌ای در فرانت‌اند
Enterprise
BPMS، CRM، Portal، Dashboard
Senior
Code Review، Mentoring، Architecture
Modern Stack
React، Next.js، TypeScript، NX، PWA
About

فرانت‌اند برای من فقط پیاده‌سازی UI نیست.

من معمولاً در محصول‌هایی کار کرده‌ام که فرانت‌اند در آن‌ها فقط چند صفحه ساده نیست؛ بلکه بخش مهمی از منطق محصول، تجربه کاربر، workflow، data fetching، authorization، فرم‌های پیچیده، performance و نگهداشت بلندمدت روی دوش فرانت‌اند است.

در چنین محصول‌هایی، تصمیم‌های کوچک فنی می‌توانند روی سرعت توسعه، کیفیت خروجی، تجربه کاربر و هزینه نگهداشت اثر جدی بگذارند. به همین دلیل سعی می‌کنم در کنار توسعه فیچر، به معماری، naming، component boundaries، state management، rendering strategy، accessibility، responsive behavior و developer experience هم توجه کنم.

Selected Case Studies

پروژه‌هایی که بهتر نشان می‌دهند چطور فکر و اجرا می‌کنم

هر پروژه با مسئله، نقش من و خروجی فنی خلاصه شده تا فقط یک لیست تکنولوژی نباشد.

BPMSLegacy → Modern

بازنویسی کامل BPMS از AngularJS به React/NX

روی یک BPMS چندزبانه legacy نوشته‌شده با AngularJS کار کردم که نیاز جدی به بهینه‌سازی داشت؛ سپس در طراحی و بازنویسی کامل آن از صفر با معماری مدرن NX Monorepo نقش اصلی داشتم.

Problem
Bundle سنگین و کندی محصول
Action
Optimization، سپس بازنویسی کامل
Result
۴۰٪ کاهش bundle size
React 19TypeScriptNXViteAnt DesignReact QueryApollo ClientZustand

پروژه سازمانی — Samim Engineering Group

Video PlatformNext.js

پلتفرم انتشار و پخش ویدیوی سازمانی

معماری و توسعه یک پلتفرم سازمانی برای انتشار و پخش ویدیو با پشتیبانی از VOD، UGC و Reels. پیاده‌سازی SSR/ISR/SSG/CSR، لایه BFF، پخش تطبیقی با Video.js، چندزبانگی و چندتمی بودن، و استقرار Dockerized.

Next.jsSSR / ISR / SSG / CSRVideo.jsshadcn/uiRadix UIZodDockerBFF

پروژه سازمانی — Samim Engineering Group

Enterprise AppsIrancell

اپلیکیشن‌های سازمانی BOSS، mySME، PRM و Customer Portal

توسعه و نگهداشت چند اپلیکیشن سازمانی برای ایرانسل. Refactor فرانت‌اند BOSS برای بهبود نگهداشت‌پذیری و performance، پیاده‌سازی تست E2E با Cypress و بهینه‌سازی Webpack برای کاهش زمان build.

ReactNext.jsTypeScriptCypressWebpackPWA

پروژه سازمانی — RashaSoft (برای ایرانسل)

Form BuildersPlugins

پلاگین‌های سفارشی Form.io و FormJS

توسعه پلاگین‌ها و کامپوننت‌های سفارشی برای Form.io و FormJS؛ شامل calendar، chart و diagram برای استفاده در فرم‌سازهای سازمانی و workflowهای پیچیده.

Form.ioFormJSFullCalendarEChartsMermaid

پروژه سازمانی — Samim Engineering Group

Latest Posts

آخرین نوشته‌ها

تجربه‌های فنی از پروژه‌های واقعی — بهینه‌سازی، معماری، ابزارها و درس‌هایی که در عمل یاد گرفتم.

4 دقیقه مطالعه

SemVer توی npm به زبان ساده

توی این پست یاد می‌گیریم علامت‌های ^ و ~ توی نسخه‌گذاری npm دقیقاً چه کاری انجام می‌دن و npm install چطور باهاشون رفتار می‌کنه.

خواندن نوشته ←
Experience

مسیر کاری

Samim Engineering Group

Senior Frontend Engineer

Nov 2024 — اکنون

بازنویسی کامل یک BPMS legacy مبتنی بر AngularJS به معماری مدرن React/NX، توسعه پورتال ویدیویی سازمانی و پلاگین‌های فرم‌ساز.

  • بازنویسی کامل BPMS legacy (AngularJS) به یک NX Monorepo مدرن با React، TypeScript، Vite و Ant Design؛ طراحی معماری مقیاس‌پذیر و mentoring یک توسعه‌دهنده جونیور در طول مهاجرت.
  • کاهش ۴۰٪ حجم Bundle نسخه legacy از طریق بهینه‌سازی Webpack، ماژولار‌سازی و code splitting.
  • معماری و توسعه یک پلتفرم سازمانی انتشار و پخش ویدیو با پشتیبانی از VOD، UGC و Reels با Next.js.
  • پیاده‌سازی SSR، ISR، SSG، CSR، لایه BFF، استقرار Dockerized، پشتیبانی چندزبانه و چندتم، پخش تطبیقی ویدیو با Video.js و بهینه‌سازی مستمر SEO و Performance.
  • توسعه پلاگین‌های سفارشی Form.io/FormJS شامل کامپوننت‌های تقویم (FullCalendar)، نمودار (ECharts) و دیاگرام (Mermaid) برای گسترش قابلیت‌های workflow سازمانی.
  • بومی‌سازی و پایدارسازی یک ماژول آنالیتیکس BPMS (مشابه Camunda Optimize) با پشتیبانی کامل RTL/فارسی و رفع مشکلات کلیدی عملکردی.
  • یکپارچه‌سازی و شخصی‌سازی جریان‌های احراز هویت و قالب‌های ورود Keycloak در اپلیکیشن‌های سازمانی.
  • همکاری نزدیک با تیم‌های product، design و backend در محیط Agile، انجام Code Review و mentoring اعضای تیم.

Bardin Tech

Frontend Developer (Part-time)

Nov 2025 — Mar 2026

توسعه پروژه‌ای پاره‌وقت روی پلتفرم سازمانی BOSS؛ رفع بدهی فنی، ارتقای PWA و به‌روزرسانی زیرساخت فرانت‌اند.

  • Refactor و مدرن‌سازی فرانت‌اند پلتفرم BOSS با رفع مشکلات legacy و بهبود پایداری اپلیکیشن.
  • بهبود پیاده‌سازی PWA از طریق پیکربندی بهتر Service Worker، استراتژی‌های caching و پشتیبانی آفلاین.
  • ارتقای dependencyها و ابزارهای فرانت‌اند برای بهبود نگهداشت‌پذیری و ساده‌سازی توسعه آینده.
  • انجام Code Review و معرفی استانداردهای کدنویسی تمیزتر برای یکپارچگی بیشتر در کدبیس.

RashaSoft (Rasha Communications Development)

Frontend Developer

Sep 2021 — Sep 2024

توسعه و نگهداشت اپلیکیشن‌های سازمانی برای ایرانسل (BOSS، mySME، PRM، Customer Portal، Cartable) با React، Next.js و TypeScript.

  • توسعه و نگهداشت اپلیکیشن‌های سازمانی BOSS، mySME، PRM، Customer Portal و Cartable برای ایرانسل با React، Next.js و TypeScript.
  • Refactor فرانت‌اند BOSS برای بهبود نگهداشت‌پذیری، مقیاس‌پذیری و عملکرد کلی، با همکاری نزدیک تیم‌های backend، design و business.
  • پیاده‌سازی تست‌های End-to-End با Cypress و افزایش قابلیت اطمینان اپلیکیشن و کاهش مشکلات رگرسیون.
  • بهینه‌سازی پیکربندی Webpack برای بهبود سرعت Build و کاهش زمان بارگذاری اپلیکیشن.
  • انجام Code Review، راهنمایی کارآموزان و توسعه‌دهندگان جونیور، و مشارکت در مصاحبه‌های فنی فرانت‌اند.
  • همکاری با تیم Business Analytics برای ارزیابی امکان‌پذیری فنی و برآورد میزان پیاده‌سازی فیچرهای جدید.

Digiwash

Frontend Developer

Mar 2020 — Aug 2021

پیوستن به تیم توسعه و مشارکت در ساخت سه اپلیکیشن موبایل به‌هم‌مرتبط (Factory، Driver، Customer) با React Native و یک سیستم CRM با React.

  • به تیم توسعه پیوستم و روی سه اپلیکیشن موبایل به‌هم‌مرتبط (Factory App، Driver App و Customer App) با React Native و TypeScript برای Android و iOS کار کردم؛ نسخه‌های وب همان اپلیکیشن‌ها هم از طریق React Native Web با همان کدبیس مشترک ارائه شد.
  • توسعه بخش‌هایی از یک سیستم CRM با React و TypeScript که به بهبود ۳۰٪ در بهره‌وری مدیریت مشتریان کمک کرد.
  • یکپارچه‌سازی و مصرف REST APIهای بک‌اند با TanStack Query برای مدیریت data fetching و همگام‌سازی داده بین اپلیکیشن‌های کارخانه، راننده و مشتری.
Tech Stack

تکنولوژی‌هایی که بیشتر با آن‌ها کار می‌کنم

Languages & Frameworks

JavaScript (ES6+)TypeScriptReactNext.js (App Router, SSR, ISR, SSG, CSR)React NativeReact Native WebAngularJS

State & Data Management

TanStack Query (React Query)Apollo ClientGraphQLREST APIsZustandContext APIAxiosReact Hook FormZod

Architecture & Tooling

NX MonorepoViteWebpackDockerGitGitLab CI/CDBFF PatternESLintPrettier

UI, Styling & Design Systems

Ant DesignTailwind CSSshadcn/uiRadix UIstyled-componentsCSS3 / Sass / LessResponsive Designi18nRTL (Persian)

Performance & Specialized

PWAService WorkersSEOPerformance OptimizationLazy LoadingImage OptimizationKeycloakVideo.jsMapboxEChartsFullCalendarMermaidForm.io / FormJS Plugin Development

Testing & Quality

Cypress (E2E)PlaywrightVitestCode ReviewRefactoringTechnical Interviewing
Principles

اصول کاری من

Performance by design

ترجیح می‌دهم performance، rendering strategy، bundle و data fetching از ابتدا درست طراحی شوند.

Maintainable code

کدی که بعداً تیم بتواند با اطمینان آن را تغییر دهد؛ با ساختار روشن، componentهای هدفمند و naming قابل فهم.

Product-minded frontend

فرانت‌اند باید مسئله محصول، نیاز کاربر، محدودیت backend و تجربه نهایی را همزمان ببیند.

Team growth

Code review، mentoring و استانداردسازی باعث می‌شود تیم سریع‌تر، سالم‌تر و قابل اعتمادتر توسعه دهد.

Contact

برای گفتگو و تبادل تجربه در ارتباط باشیم.

اگر سوال فنی دارید، یا صرفاً دوست دارید درباره چالش‌های توسعه صحبت کنیم، از طریق ایمیل یا لینکدین با من در ارتباط باشید. رزومه کامل هم در دسترس است.