Mohammad Hossein Moradi

Software Engineer

About

I'm an experienced Software Engineer with over 6 years of experience in developing robust web applications with large codebase using monorepo approach.

I works with JavaScript as a dynamic language and Rust as a static language and every day learning about them, exploring new solutions and so on.

Experiences

Frontend Developer

Deponet

May 2024 - Nov 2024(6 Months)
Yazd, Yazd Province, IranOn-site

Develop fully feature e-commerce application Include admin panel and storefront

  • Restructure the entire project folders and naming conventions to enhance developer experience (DX) and improve project maintainability

  • Migrate from Next.js 12 Pages Router to Next.js 14 App Router and update all dependencies accordingly

  • Migrate from Neshan's Leaflet map to Parsimap's Mapbox

  • Implement an gallery and async gallery dialog that opens a dialog for the user to pick a file, with filtered options similar to the operating system's file picker

  • Implement an advanced file uploader with features such as an upload queue, manual upload trigger, upload progress tracking, and support for all file formats. Allow users to append files to the queue while other files are uploading, with the ability to stop and abort uploads at any time, providing a flexible and efficient file upload experience

  • Implement robust and fully feature breadcrumbs with support static and dynamic (async) breadcrumb with image, icon, label, and path

  • Implement advanced, robust, composable, polymorphic and slottable design system with latest design system implementation method; Features includes drag and drop, swipeable, keyboard navigation, accessible, virtualization, high DX, concise and pro API, subgrid, CVA

  • Redesign the entire application with a unified design system implementation to enhance the developer experience (DX), support multiple themes, and ensure a consistent and seamless user interface across all components

  • Implement server-side rendering (SSR) to optimize performance and enhance SEO by applying Technical SEO best practices, including integrating JSON-LD structured data on key pages for better search engine visibility

  • Switch to cookie-based session management

Senior Frontend Developer

Bacham

Feb 2024 - May 2024(3 Months)
Tehran, Tehran Province, IranRemote

Develop Bacham application

  • Implement authentication and control flow

  • Implement guard interface for access control with chaining capability

  • Implement advanced, robust, composable, polymorphic and slottable design system with latest design system implementation method; Features includes drag and drop, swipeable, keyboard navigation, accessible, virtualization, high DX, concise and pro API, subgrid, CVA

  • Use almost all Framer Motion features like sequence animations, scroll base, spring, transform values, velocity, gestures, variants, drag, custom, animation presence, layout animations and in view or intersection observer API

  • Implement robust jalali calendar and datetime picker with virtualization, infinite years, month and days

  • Register service worker and convert the app to a PWA

  • Implement custom audio and video players with unique design

  • Implement SSR rendering for blog pages and serialize data to be fallback data (initial data) for SWR

Frontend Developer

Deponet

Apr 2023 - Jan 2024(8 Months)
Yazd, Yazd Province, IranOn-site

Develop fully feature e-commerce application Include admin panel and storefront

  • Implement fully responsive design system base on Headless UI components (Menu, Listbox, Dialog, Tooltip, Loading, ...)

  • Implement TreeView Component with single and multiple select, intermediate state can render in popover or static

  • Implement image editor can append logo, resize, crop, change format and remove background with AI

  • Implement robust sorting component that has concise and pro api model with support flex, grid, drag and drop and keyboard

  • Fix redux persist in their project that cause hard refresh in the development mode

  • Implement custom alert dialog with success, warning, delete, info and confirm variant

  • Implement Neshan Map with search, reverse geocoding and geocoding

  • Implement Scrollspy Tab component with intersection observer support under the hood

Web Developer

Pishgaman Ginco Kavir

Aug 2022 - Apr 2023(7 Months)
Yazd, Yazd Province, IranOn-site

Develop and design digital marketing website with beautiful animations

  • Implement SSR

  • Use animations with framer motion

  • Use Strapi (zone, component, ...) for manage site data

  • All section of site can modify and reorder and organize in Strap CMS

Design and develop e-commerce admin panel with Nextjs

  • Use WooCommerce API under the hood

  • Implement dynamic theme setting for wordpress site in admin panel

  • Implement highly responsive design system

Skills

HTML

HTML is the standard markup language for Web pages.

CSS

Cascading Style Sheets is a style sheet language used for specifying the presentation and styling of a document written in a markup language such as HTML or XML.

SVG

SVG stands for Scalable Vector Graphics. SVG defines vector-based graphics in XML format.

Typescript

TypeScript is a free and open-source high-level programming language developed by Microsoft that adds static typing with optional type annotations to JavaScript.

Rust

Rust is a multi-paradigm, general-purpose programming language that emphasizes performance, type safety, and concurrency.

Next

Next is an open-source web development framework that enables you to create high-quality web applications with the power of React components.

React

React is a free and open-source front-end JavaScript library for building user interfaces based on components.

Tailwind CSS

Tailwind CSS is an open-source CSS framework.

Headless UI

Completely unstyled, fully accessible UI components, designed to integrate beautifully with Tailwind CSS.

DnD Kit

A lightweight, modular, performant, accessible and extensible drag & drop toolkit for React.

CVA

CVA allows you to create variants for UI components with ease.

SWR

React Hooks for Data Fetching. The name “SWR” is derived from stale-while-revalidate, a cache invalidation strategy popularized by HTTP RFC 5861.

Zustand

A small, fast and scalable bearbones state-management solution using simplified flux principles.

Zod

TypeScript-first schema validation with static type inference

Regex

Its a string of characters created within the framework of Regex syntax rules. You can easily manage your data with Regex, which uses commands like finding, matching, and editing.

Rest API

REST, which stands for Representational State Transfer, is an architectural style for designing networked applications.

React Hook Form

Performant, flexible and extensible forms with easy-to-use validation.

Date Fns

Most comprehensive, yet simple and consistent toolset for manipulating JavaScript dates in a browser & Node.js.

Swiper

The Most Modern Mobile Touch Slider for the web.

Framer Motion

A comprehensive and production-ready motion library for React.

Axios

Promise based HTTP client for the browser and node.js.

React Table

Headless UI library for building powerful tables & datagrids.

React Virtual

Headless UI library for Virtualizing Large Element Lists.

PWA

A progressive web app (PWA) is an app that's built using web platform technologies, but that provides a user experience like that of a platform-specific app.

Design Patterns

Design patterns are typical solutions to commonly occurring problems in software design.

Clean code

Clean code is written in a way that makes it simple, concise, and expressive.

Prisma

Open source Node.js and TypeScript ORM with an intuitive data model, automated migrations, type-safety, and auto-completion.

Showcase

Contact info

Faq