Skip to content

Hi, I'm

Mehran Mazhar

.NET Backend Engineer — payments, refunds & money-path systems

10+ years on .NET, the last 7+ on one production travel platform — owning money-path verticals end to end: refunds, wallets, withdrawals, payment-gateway integration. The part I care about is the failure branch: what happens when a payment retries, a bank goes quiet, or two requests hit the same credit.

Tech Stack
C# / .NET 10 REST APIs SQL Server Redis RabbitMQ
01 — About

A decade on .NET. Seven years on one money path.

Portrait of Mehran Mazhar
Mehran Mazhar.NET Backend

Seven-plus years on one production travel platform — Fly Today (B2C) and Parto CRS (B2B) — most of them owning its money path: refunds end to end across B2B and B2C, wallet deposits, withdrawal processing, and payment-gateway integration.

I also ship product verticals from zero and run them for years — virtual interlining, an airfare limit-order engine, flexible search, gift cards, price alerts. Long-lived systems, not prototypes: most of what I have built, I still run. Design goes into written specs before code.

This is payments engineering inside a travel product — not regulated financial services. The interesting problems are concurrency and failure: idempotency, credit-keyed locks, re-inquiry instead of assumed failure, bounded retry.

Core Expertise

Core .NET
C# / .NET 10
REST / Web API
Entity Framework Core
SignalR & Serilog
Data
SQL Server
Redis & RediSearch
MongoDB
Caching strategy
Messaging & Jobs
RabbitMQ
MassTransit
Hangfire
MediatR
Money Path & Reliability
Gateway integration
Refund automation
Distributed locking
Webhook surfaces
02 — Selected Work

The money path, and the verticals around it.

All on one production platform — Fly Today (B2C) and Parto CRS (B2B), Dec 2018 to present. The repositories are private, so the public pages prove a feature exists; the engineering detail is interview material.

Payments engineering inside a travel product. The work I care most about is the failure branch: refund execution re-inquires with the bank rather than assuming failure, persists gateway state immediately so a duplicate cannot slip through, and locks on the credit rather than the queue.

Measured in production

~3,400Tickets / monthVirtual interlining, built from zero
~1.33MCard transactions2025, via the four gateways I integrated
85%Faster refunds7 days to 1, B2B and B2C
7+ yrsOne platformMoney path owned end to end

Money path — owned end to end:

Refunds, end to end

B2B and B2C, air and hotel — request, finance approval, execution against the bank, and the failure paths underneath. Turnaround went from about a week, manual across three teams, to about a day. Idempotency, credit-keyed Redis locks, re-inquiry instead of assumed failure, bounded retry.

.NETRedisHangfireSQL Server

Payment gateways

Four bank payment providers integrated into an existing provider-agnostic gateway abstraction — redirect and callback flows on Hangfire. Those four carry 98% of card volume: about 1.33M successful transactions in 2025.

.NETHangfireCallbacks

Wallets & withdrawals

Wallet deposits built from zero — money-in, effectively sole author. Withdrawal processing went from roughly two days manual to seconds, with concurrent requests serialized by a per-account Redis lock. Bank settlement downstream is not mine.

.NETRedisConcurrency

B2B webhook surface

The outbound event surface agency clients integrate against — subscription API, roughly 729,000 events delivered in 90 days, replacing client polling.

.NETRabbitMQREST

Product verticals — built from zero, still running:

Virtual interlining

Two airlines combined into one bookable itinerary under a single payment — search through booking. All five design specs behind the accepted ADRs are mine. About 3,400 tickets a month.

.NETRedisRabbitMQADRs

Auto-reserve

An airfare limit order, built from zero — it buys and issues while the customer is offline, recovering otherwise-lost bookings. Operations tune eligibility without a deploy. Links to the company feature page.

.NETHangfireRules engine

Flexible search

Origin, destination and dates all optional — built from zero, live in production. Priced results stored and indexed to serve both interactive search and generated SEO landing pages.

.NETRediSearchSEO

Gift cards

37,495 issued — shipped from zero inside the cross-product promotions rule engine, of which I am the top sustaining author (roughly 46,000 redemptions a year).

.NETRedisRules engine

Flight price alerts

Built from zero in 2019 and owned since — scheduled evaluation notifying by SMS and email, with SQL and LINQ tuning keeping subscription checks off the hot search path. About 280 notifications a day.

.NETHangfireLINQ / SQL

Travel insurance & supplier hub

Rebuilt the travel-insurance line end to end in 2020 and owned it for five years — plan search, parallel multi-passenger issuance, refund integration with the money path. Separately, consolidated hotel-supplier onboarding onto a single hub connection: 31 suppliers, 24 through the hub — originated it, later handed over.

.NETGraphQLTravelgateX

Side project — open source, not production

03 — Experience

Where I have shipped software.

.NET Backend Engineer

Fly Today / Parto CRS
Dec 2018 — Present

B2C online travel agency and B2B travel platform. Owning the money path, and shipping product verticals from zero.

  • ~3,400 tickets a month through virtual interlining built from zero — search through booking, all five design specs authored.
  • Launched auto-reserve from zero — an airfare limit order that buys and issues while the customer is offline, recovering otherwise-lost bookings.
  • Cut refund turnaround by 85% (7 days to 1), automating the B2B/B2C flow that three teams ran by hand and keeping the finance-approval control — credit-keyed Redis locking on execution.
  • Integrated four bank payment providers into an existing provider-agnostic gateway abstraction — redirect and callback flows on Hangfire; those four carry 98% of card volume, about 1.33M successful transactions in 2025.
  • 37,495 gift cards issued — shipped from zero inside the promotions rule engine, its top sustaining author.
  • Owns the B2B webhook surface agency clients integrate against — subscription API, ~729,000 events delivered in 90 days, replacing client polling.
C# / .NET 10REST APIsSQL ServerRedisRabbitMQHangfire

.NET & IoT Developer

Wenda IoT Communication Technology
Apr 2018 — Oct 2018

Azure IoT Hub and Python embedded integrations.

  • Developed an IoT device management and monitoring portal on Microsoft Azure IoT Hub.
  • Built a dual-channel touch switch with cloud connectivity and network cameras with face detection.
  • Programmed embedded hardware in Python and Arduino; authored content for iot-lab.ir.
C#Azure IoT HubPythonArduino

Full-Stack Web Developer

Sepna & Tehran Municipality ICT
Dec 2014 — Feb 2018

Co-developed an ITIL-based ITSM workflow engine.

  • Co-developed an ITIL-based ITSM platform for Tehran Municipality ICT, including a custom workflow engine for business-process automation.
  • Built enterprise portals and custom modules on DotNetNuke.
  • Developed ASP.NET (Web Forms, MVC, Core) applications and WCF / ASMX web services.
  • Designed SQL Server databases with stored procedures, functions, and reporting.
ASP.NETDotNetNukeWCFSQL Server
04 — Education

Academic foundation.

2023

M.Sc., Computer Software Engineering

Islamic Azad University

Thesis: a blockchain-based network to reduce travel cost in ride-sharing services. Clutch Protocol grew out of it as a side project.

2018

B.Sc., Computer Software Engineering

Islamic Azad University, Islamshahr Branch

2015

A.Sc., Computer Software Engineering

Shahid Babaei College, Qazvin

05 — Academic Research

The thesis, in the open.

Master's Thesis · 2023

A Blockchain-Based Network to Reduce the Travel Cost in Ride-Sharing Services

Advisor: MohammadHossein ShafiAbadi, Ph.D.

Academic work on whether a decentralized settlement layer can cut the platform fee in ride-sharing, and what it would cost to run one. Clutch Protocol is the solo open-source implementation that grew out of it — a side project, not a product.

Economic Analysis

Comparison of centralized and decentralized ride-sharing fee models.

Technical Architecture

A chain design shaped around the ride lifecycle rather than general computation.

Cost Modelling

Where the fee actually goes, and what a lower one would require.

Security & Trust

Client-side signing with secp256k1 / ed25519; no custodial key handling.

Thesis, defence presentation and the implementation are all public. Worth reading if you want to see how I write a design down before writing the code.

06 — Beyond the Code

Life outside the editor.

Production ownership is a long game. Getting away from the screen is how I stay good at it.

Mountaineering

Long routes, bad weather, no shortcuts. The planning discipline transfers directly to systems that have to survive their own failure modes.

Traveling

Seven years building travel software makes you a difficult passenger and a much better product engineer.

Open Source

Where I get to build the thing properly, on my own schedule — and where the code is public enough to argue about.

Writing Things Down

Specs before code, ADRs before merges. Most of the arguments worth having are cheaper to have on paper.

What's Next?

Let's talk backend.

Open to fully remote .NET backend roles — payments, transaction-sensitive systems, platform work. Engagement through an Employer of Record. If you have a money path that needs to stop losing arguments with concurrency, my inbox is open.