MM monogram

MAHI MOHRECHI ยท FRONTEND ENGINEER

Building frontends for products with a lot going on.

React, Next.js and TypeScript. I've worked on a crypto exchange and cloud platforms, and I like tidying up architecture along the way.

Portrait of Mahi Mohrechi

Mahi Mohrechi

Frontend Engineer

Download resume
Location
Tehran, Iran
Languages
English, Persian

Skills

Languages
TypeScriptJavaScriptHTMLCSS
Frameworks
ReactNext.jsnext-intl
State & Data
TanStack React QueryReduxRedux SagaContext APIAxiosFetch API
UI & Styling
Tailwind CSSAnt DesignMUIBootstrapStyled Components
Testing
Vitest (unit tests)
Tools
GitGitHubnpmyarnFigma

Experience

  1. Bitmax

    June 2024 โ€“ Present

    Frontend Developer

    Bitmax.ir, an Iranian cryptocurrency exchange

    • Redux Saga to TanStack React Query migration. Independently designed and executed the migration of server-state management across more than 25 routes of a production Next.js application, covering trading, wallets, deposits and withdrawals, authentication, KYC, auto-investment and enterprise payments. Migrated one feature area at a time, each with a written plan and a reviewable commit, and removed Redux and Redux Saga entirely.
    • Data-access conventions. Defined and documented the structure the migrated code follows: endpoint constants, stateless API calls, query-key factories, service hooks and pure helpers. TanStack Query owns server state, and each mutation invalidates only the keys it affects.
    • Private cache scoping. Scoped private query data, such as wallet and history, by user and account in the query key, separate from public catalog data, so private caches can be cleared on logout or account switch without discarding public data. Fixed an account-switch cache race and added a regression test.
    • Token refresh. Worked on the shared Axios session layer: concurrent 401 responses share one refresh request, retries are guarded against loops, and the session ends only when the refresh token is rejected, not on network or server errors. Covered by Vitest unit tests.
    • Non-blocking login and account switching. Removed a wait on slow profile and account requests after login and fixed a stale-token bug in the profile refresh. Account switching now refreshes in the background, with a guard so a slow response cannot overwrite a newer switch, and loading states use a shared Skeleton component.
    • Enterprise onboarding and payments. Built enterprise registration, signatory and group-payment flows: status polling while awaiting admin review, Excel payment upload and recap, draft recovery after idempotency conflicts, and OTP retry on a stale challenge.
    • Shared UI system. Moved the app's pages and flows to a shared Button component and the legacy icon registry to SVGR icon exports, fixing SVG id collisions between icons. Redesigned the crypto withdraw flow, splitting its form logic into tested units.
    • Plan-first, agent-assisted workflow. Used AI coding agents against written plans for large refactors such as the Saga migration, and reviewed the output before merging.
  2. Freelance

    2022 โ€“ Present

    Frontend Developer

    Independent frontend projects

    • Built independent React and Next.js projects, including a full-stack food ordering app and this portfolio.
  3. Dana Cloud

    Feb 2025 โ€“ Jan 2026

    Frontend Developer

    DanaCloud.com and DanaIX.com, global data-center solutions platformsdanacloud.comdanaix.com

    • Turned Figma designs into mobile-first, localized pages and shared components in Next.js and Tailwind CSS.
    • Built internationalization support in Next.js for English, Korean and additional locales.
  4. Mann-E

    Nov 2023 โ€“ Feb 2024

    Frontend Developer

    Generative AI tool that converts text to vector (SVG) graphicsDiscontinued

    • Built the product frontend with Next.js, Tailwind CSS and Redux for state management.
    • Created pages and reusable components for the application.
  5. Elitive

    Oct 2022 โ€“ Apr 2023

    Frontend Developer

    Web projects built with React and Next.jsDiscontinued

    • Built the frontend of websites with React and Next.js.

Selected work

Bitmax screenshot

Bitmax

Cryptocurrency exchange ยท Professional

Overview
Production web frontend of an Iranian crypto-asset exchange.
My role
Frontend developer. Owned the Redux Saga to TanStack React Query migration end to end.
Challenge
Moving server-state handling across more than 25 routes (trading, wallets, deposits and withdrawals, KYC, authentication, auto-investment, enterprise payments) in an application that was live.
Decision
Made TanStack Query the owner of server state, with Redux and Saga removed rather than kept alongside it.
Implementation
A layered data-access structure: endpoint constants, stateless API calls, query-key factories, service hooks and pure helpers. Private data is keyed per user and account and cleared on logout or account switch; mutations invalidate only the keys they affect.
Outcome
Redux and Redux Saga are fully removed from the application.
  • Next.js
  • React
  • TypeScript
  • TanStack React Query
  • Axios
  • Tailwind CSS
  • Ant Design
  • Vitest
DanaCloud & DanaIX screenshot

DanaCloud & DanaIX

Cloud platforms ยท Professional

Overview
Frontends for DanaCloud and DanaIX, global data-center solutions platforms.
My role
Frontend developer. Built localized, mobile-first pages from Figma designs.
Challenge
Serving the same product in several languages, including English and Korean, with consistent behavior across devices.
Decision
Built internationalization support in Next.js for English, Korean and additional locales.
  • Next.js
  • Tailwind CSS
  • React Hook Form
  • Axios
Mehrito screenshot

Mehrito

Consumer app ยท Launch landing page

Overview
Persian wishlist and gift app: save wishes from a link, share lists, and reserve gifts so nobody buys a duplicate.
My role
Frontend developer. Built the Next.js launch landing page; teammates built deployment, the web app and Android release.
Challenge
Telling the product story in a right-to-left Persian layout, with light and dark themes and animated visuals.
Decision
Extracted reusable design-system components and added motion, including an animated wish-orbit hero, with Next.js, Tailwind CSS and Framer Motion.
  • Next.js
  • React
  • TypeScript
  • Tailwind CSS
  • Framer Motion
Mann-E screenshot

Mann-E

Generative AI tool ยท ProfessionalDiscontinued

Overview
A generative AI product that converts text prompts into vector (SVG) graphics.
My role
Frontend developer. Built pages, reusable components and client state.
Challenge
Presenting an AI text-to-SVG generation workflow in a responsive interface.
Decision
Reusable Next.js components styled with Tailwind CSS, with Redux for state.
  • Next.js
  • Tailwind CSS
  • Redux

Personal projects

Education

Bachelor of Applied Chemistry

Islamic Azad University of Karaj

Sep 2017 โ€“ Feb 2022

ยฉ 2026 Mahi Mohrechi