mamrez

Mohammadreza ShiraziSenior Frontend Engineer: React, TypeScript and AI features

Nine years of React and TypeScript on enterprise products in process mining, business process management, digital banking and eLearning, and lately the AI features and .NET services behind them.

Open to remote roles and to relocation in Europe. One month’s notice.

Five problems I keep meeting, each with its case study:

Each shape opens its case study.
  • 9 yrsReact and TypeScript, enterprise products
  • 4AI features on one model-agnostic gateway
  • C1 · B2English and German
  • EUBlue Card eligible, one month’s notice

Selected work

An AI copilot that is not allowed to guess

Adding language-model features to a Power BI-style dashboard builder, where every column the model names is checked against the data model before anything runs.

4AI features on one model-agnostic gateway

Farakav · Golrang System · 2025–now

Experience

B.Sc. Information Technology, Islamic Azad University, South Tehran Branch, 2013 – 2019.

The full CV, with every role in detail.

  1. May 2025 – now

    Senior Front-End Engineer, Golrang System

    Farakav: the process-mining platform, and a rewrite of its dashboard builder with AI features and a .NET back end.

  2. May 2024 – May 2025

    Front-End Engineer, Faash

    Business process management suite: BPMN-IO and FormJS extensions, an access-control platform.

  3. Nov 2021 – May 2024

    Front-End Engineer, Simorq Tejarat

    Bajet, a consumer banking PWA: the Open Account journey, onboarding 600+ verified users a day.

  4. Jul 2019 – Sep 2021, and 2025

    Front-End Engineer, contract, Davilo (Germany, remote)

    A language-learning platform, rebuilt in 2025 as a learning management system.

  5. 2018 – 2020

    Front-End Developer, freelance, Various clients

    React and WordPress builds; performance, SEO and accessibility work.

  6. Jun 2017 – Oct 2018

    Junior Front-End Developer, Viratech Sharif

    Startup products in AngularJS, in a cross-functional Agile team.

Skills

Frontend
React, TypeScript, Next.js, Vite, Redux Toolkit, TanStack Query, React Hook Form, Zod, Ant Design, Material UI, Tailwind CSS
AI
Claude and OpenAI APIs, Tool calling, Grounding in metadata, Model gateway with routing and fallback
Backend and data
C#, ASP.NET Core, EF Core, SQL Server, SSAS, DAX, REST APIs
Diagrams and visualisation
BPMN-IO, FormJS, XYFlow, Recharts, GridStack
Quality
Accessibility (WCAG), Core Web Vitals, SSR and SSG, i18n and right-to-left, Code review
Tooling
Git, Docker, Azure DevOps, CI/CD
A plausible column name that does not exist is worse than an error, because people trust the chart that comes out of it.
From “An AI copilot that is not allowed to guess”
Mohammadreza Shirazi
  • Mohammadreza Haji Amin Shirazi in full, also written Mohammad Reza Shirazi; in Persian, محمدرضا حاجی امین شیرازی. Online as mamrez.
  • Remote work with German clients since 2019.
  • Persian native, English C1, German B2.
  • Right-to-left layouts and Jalali calendar logic, including the date arithmetic.
  • Learning C#, .NET and databases on the current project, working with an AI coding agent.

About me

Most of my nine years have gone into enterprise products where the hard part is what happens to an interface when real data volume arrives: a process-mining platform rendering analytical datasets, a business process suite whose workflow editor had to do things its library was never designed for, and a consumer bank whose onboarding flow had to work for six hundred people a day.

In all of them the frontend is the product. There is no fallback interface or power-user CLI, so if a table locks up while it sorts, the feature is broken.

I work in React and TypeScript, long enough to have opinions about state management that I hold loosely. I have worked remotely with German clients since 2019, which has made me better at writing things down.

At Golrang I now build AI features as well as interfaces. In the Farakav dashboard builder, language models propose charts and DAX measures, explain and repair expressions, and answer questions about a dashboard by running real queries. Each feature checks what the model returns against the data model before anything runs. I also use AI tools in my own work, and I review what they produce the way I would review a colleague’s pull request.

That is also where I want to keep growing. Alongside the frontend, I am learning the .NET and database side of the products I work on, and the AI features built on top of them, and I am looking for a team where I can do more of both.