Mahdi MirMohamadi

Hi, I’m Mahdi, an AI-native software engineer.

Four years of React, Next.js and TypeScript on real products, under real load. Right now I’m one of two engineers building InnoMeet, a live-class app for a team in Melbourne, and I still ship for Armani English here in Tehran. I live on Linux, let Claude and Cursor do the typing, and read every line before it ships.

Download my resumeEN · FA

Experience

  1. InnoLearn

    Melbourne, Australia · remote

    Software engineer

    An all-in-one learning platform: an LMS plus InnoMeet, a live online meeting app built for classes. Both live in one Turborepo monorepo.

    innolearn.irinnomeet.ir

    • Next.js
    • TypeScript
    • Turborepo
    • pnpm
    • Tailwind CSS
    • Zustand

    What I built there

    • We’re a two-person front-end team, and I built a big part of InnoMeet and its blocks: chat, live video, image and audio streaming.
    • Live quizzes and polls a teacher can drop into the middle of a class.
    • A native image creation tool, built from scratch with zero AI.
    • The assignments and exams module of the LMS, plus several landing pages for the main site.
    • Went beyond my tasks: pitched and shipped UX improvements for the product and cleaned up the team’s CI/CD.
  2. Armani English

    Tehran, Iran · hybrid

    Software engineer

    An English-learning company: a big store for courses and educational products, plus a student portal with exams, study clubs and live webinars.

    armanienglish.commy.armanienglish.com

    • Next.js
    • React
    • TypeScript
    • Tailwind CSS
    • Chakra UI
    • Zustand
    • Jotai
    • TanStack Query
    • SWR

    What I built there

    • I build and maintain the main website and the admin panels, with responsive, reusable components made side by side with the UX/UI and product design team.
    • AI-powered features, including an automated exam and scoring system: students take the exam, AI grades it.
    • The student portal (my.armanienglish.com): real-time exams, AI scoring, a smart study planner, study clubs and live webinars.
    • Fixed Core Web Vitals issues and cut page load times by 30%, with a noticeably better SEO and a proper CI/CD pipeline.
    • Brought an AI-assisted workflow into the team with Claude Code and Cursor: faster features and refactors, same quality bar.
  3. Before that? I was studying, obviously!

    • B.Sc. Mechatronics Engineering (computers + mechanics)Iran University of Science & Technology2019 – 2023
    • Diploma, Math & PhysicsAllameh Helli High School (NODET)2013 – 2019

Projects

Stuff I built or helped build. Most of it is still online, so go poke it.

InnoLearn

An LMS for a team in Melbourne, in a Turborepo monorepo it shares with InnoMeet. Courses, assignments, exams and the landing pages.

EdTech · Monorepo · Next.js, TypeScript, Turborepo, pnpm

InnoMeet

A live-class app where students and teachers actually see each other. Chat, live video, audio and image streaming, plus quizzes and polls in the middle of a class.

Real-time · Live classes · Next.js, TypeScript, Turborepo, pnpm

This Portfolio

My personal site and "comfort space", built with Astro's island architecture to stay fast. A radio and pomodoro timer are on the way.

Personal

Hesabikav

An interactive landing page for a financial-analysis startup that explains the product clearly and helps win B2B clients and investors.

Fintech

All projects

How AI changed my workflow

Most of my first drafts aren’t typed by me anymore. I plan, an agent writes, and I read the diff like a stranger wrote it, because one did. The loop looks like this:

  1. I plan itthe what and the why
  2. An agent drafts itClaude Code, Cursor
  3. I read every linelike a stranger wrote itnot right? again
  4. Tests and CIthe robots check too
  5. Ship itthen the next one

My AI toolbox

Four keys I press every day. Tap one to meet the tool.

  • Claude Code

    My main agent. It lives in the terminal: plans the change, writes it, refactors it.

  • Cursor

    The editor I read diffs in, with quick inline edits and tab completions.

  • Antigravity

    Google’s agent-first IDE, for when a few agents work side by side.

  • Hermes Agent

    Nous Research’s open-source agent: my sidekick for research and side chores.

Skills

What I actually use, grouped. No made-up percentages.

Languages
  • TypeScript
  • JavaScript
  • HTML
  • CSS
Frameworks
  • React
  • Next.js
  • Astro
  • Remix
  • Refine
  • TanStack Start
Styling
  • Tailwind CSS
  • shadcn/ui
  • Chakra UI
  • MUI
  • Panda CSS
State & data
  • Zustand
  • Jotai
  • Redux
  • TanStack Query
  • SWR
Tooling
  • Linux
  • Git
  • GitHub
  • GitLab
  • Turborepo
  • pnpm
  • Docker
  • CI/CD
Web quality
  • Core Web Vitals
  • Technical SEO

Or ask the terminal

A real little shell I wrote in about 4KB of TypeScript. Type the command «help» to see what it can do, or just press one of the keys under the screen.

$ neofetch

Mahdi in a yellow polo and clear glasses, chin on his hand, looking at a laptop.
mahdi@workstation
Role
AI-native software engineer
Uptime
4 years in production
Location
Tehran, Iran (UTC+3:30)
OS
Linux
Shell
zsh
Languages
TypeScript, JavaScript
Frameworks
React 19, Next.js, Astro, Remix
Education
B.Sc. Mechatronics (computers + mechanics), IUST
Focus
Performance, SEO, DX

type help, or press a key under the screen

Blog

Things I figured out and wrote down, mostly about the web, Linux and AI.

All posts

Get in touch

Hiring, a freelance project, or just a Linux question? Call me or send an email. I answer both.

Phone
+98 910 077 0673
Email
MahdiMirMohamadi13@gmail.com

Want more nerdy stuff?

I post the technical bits on my Telegram channel and on X: web tricks, Linux, AI tools, and the things I broke and then fixed. Come hang out there.

Pick one. I’ll fetch it!

Which one do you want?

Same me, two languages.