Front-End Engineer

Hi, I'm Ali — I build warm, fast web experiences.

A front-end engineer with 5+ years crafting responsive, user-friendly interfaces in React, Next.js & TypeScript — currently helping scale the front-end at Snapp, Iran's largest ride-hailing platform.

/ React · Next.js · TypeScript
About me

Engineer at heart, teacher by nature.

I'm a software engineer focused on front-end development and design, with a solid computer-science foundation — a BSc from Qom University of Technology and an MSc at Shahid Beheshti University. For 5+ years I've built responsive, user-friendly web apps with JavaScript, TypeScript, React and Next.js.

I love continuous learning just as much as sharing it — I regularly run knowledge-sharing sessions and mentor junior developers. I care deeply about clean, maintainable code, web performance, and shipping quality products alongside great teams.

📍 Narmak, TehranEnglish · ProfessionalPersian · Native

Performance-minded

SSR, Core Web Vitals and real-time data flows — I sweat load speed, LCP and the little details that make an app feel instant.

Clean & maintainable

TypeScript, shared UI kits, E2E tests and tidy CI/CD pipelines so codebases stay healthy as teams grow.

Loves to teach

Weekly knowledge-sharing, workshops and mentoring junior devs — I learn fastest by helping others level up.

Experience

Where I've worked

Snapp

Front-End Engineer

Nov 2023 — Present
Tehran, Iran
  • Building and improving the front-end of Iran's largest ride-hailing platform as part of the core front-end team.
  • Designed and shipped the mobile version of the Corporate Panel, making it far easier for organizations to manage their accounts.
  • Implemented a real-time trip-update flow over MQTT (alongside HTTP polling) to make the corporate panel feel instant.
  • Published handy-cam, an internal npm package that simplifies capturing & sending driver verification photos from the phone camera.
  • Completely rewrote and optimized the Voucher Center for better speed, performance and maintainability.
  • Set up Playwright E2E tests and a shared GitLab-Components package to standardize CI/CD across front-end teams.
ReactNext.jsTypeScriptMQTTPlaywrightKubernetesCI/CD

Idekavan

Technical Manager

May 2023 — Nov 2023
Tehran, Iran
  • Led and mentored a team of front-end and back-end developers with a focus on clean, optimized, maintainable code.
  • Ran weekly knowledge-sharing and training sessions, guiding the team through a full web project end-to-end.
  • Supported Scrum ceremonies (Planning, Retrospective, technical design) as the project's technical lead.
  • Co-built an internal UI Kit and set up CI/CD with GitLab CI & Docker, plus Core Web Vitals improvements for Landigator.
  • Wrote comprehensive technical documentation on Confluence to ease maintenance and future work.
ReactNext.jsTypeScriptGitLab CIDockerConfluence

Flytoday

Front-End Engineer

Mar 2022 — Mar 2023
Tehran, Iran
  • Debugged and refactored the Flytoday website (Next.js + Sass) to raise quality and cut bugs.
  • Built out Server-Side Rendering (SSR) to improve UX and overall performance.
  • Led Parto Tour as technical lead — an internal panel for creating and managing travel tours, built with Next.js, TypeScript and PrimeReact.
  • Coordinated daily with the Product Owner on Azure DevOps and mentored two junior front-end developers.
Next.jsTypeScriptSassSSRPrimeReactAzure DevOps

DG Land

Front-End Developer

Nov 2021 — Apr 2022
Remote · Part-time
  • Re-implemented the Dgland platform with Next.js, TypeScript and Tailwind CSS.
  • Designed and built 30+ operational pages and workflows that empowered non-technical teams and reduced their dependence on developers.
  • Collaborated remotely with back-end teams and the product manager, tracking work in Trello.
Next.jsTypeScriptTailwind CSSTrello

Chap Agha

Front-End Developer

Feb 2021 — Mar 2022
Tehran, Iran
  • Rebuilt the Chap Agha website with a modern, scalable, fully-responsive stack (Next.js, TypeScript, Tailwind).
  • Added PWA & TWA support with push notifications and shipped it to internal app markets.
  • Built an order-tracking panel with React & TypeScript and hardened the app against XSS and other client-side vulnerabilities.
ReactNext.jsTypeScriptPWAVanilla JS
Selected projects

Things I've shipped

01Snapp

Corporate Panel — Mobile

Mobile redesign of Snapp's B2B corporate panel, with live trip updates streamed over MQTT for an instant, real-time feel.

Next.jsMQTTTypeScript
02Snapp

handy-cam (npm)

A lightweight npm package for capturing and sending driver verification photos straight from the phone camera.

npmCamera APITypeScript
03Flytoday

SSR Revamp

Re-architected Iran's travel-booking site with Server-Side Rendering for faster loads and stronger SEO.

Next.jsSassSSR
04Flytoday

Parto Tour Panel

Internal panel for building and managing travel tours, powered by a custom PrimeReact-based UI kit.

Next.jsTypeScriptPrimeReact
05DG Land

Dgland Platform

Full re-implementation of the Dgland platform, plus 30+ operational workflow pages for non-technical teams.

Next.jsTailwindTypeScript
06Chap Agha

Chapagha PWA

A modern, installable PWA/TWA for a printing service with push notifications, shipped to internal app markets.

PWANext.jsPush
Toolbox

Skills & tools

Languages

HTML5CSS3JavaScriptTypeScriptSass / SCSS

Frameworks & Libraries

ReactNext.jsReduxReact QueryTailwind CSS

Testing

JestPlaywright

Tooling & DevOps

GitGitLab CIDockerKubernetesHelmArgo CD

Concepts

SSRPWAWebSocketMQTTWeb PerformanceClean Code
Education

Where I studied

MSc2023 — 2025

Computer Engineering (Software)

Shahid Beheshti University

Taught a two-session module on the gRPC protocol and presented a workshop on web performance — covering Lighthouse metrics like LCP, CLS, FCP, TBT and Speed Index.

BSc2017 — 2021

Computer Engineering

Qom University of Technology

Final project: a cross-platform food-ordering mobile app built with React Native, deployable to both Android and iOS.

Contact

Let's build something cozy together.

I'm open to front-end roles and interesting collaborations. The fastest way to reach me is a quick email — I usually reply within a day.