Networking
Subnets, routing, firewalls, VPNs. I plan address space you will not have to redo, then find the packet that is actually late.
- Routing & switching
- DNS & DHCP layout
- VPN & site-to-site links
Tehran — Azadi
I am Mahdi. I work where software meets the machine underneath it: routing, servers, release pipelines, and the small scripts that stop people from doing the same thing twice.
Most of my time goes into infrastructure that stays quiet: networks that route predictably, deploys that roll back with one command, and web apps that still load fast on a bad connection.
I live in Iran and was born on 21 March 2010, on Nowruz. The age shown on this page was computed a moment ago — nobody typed it in.
Yazd — windcatchers
Scoped work with a measurable outcome. If it falls outside these five, write to me and I will tell you plainly whether I can help.
Subnets, routing, firewalls, VPNs. I plan address space you will not have to redo, then find the packet that is actually late.
Backends and web apps with a small surface and clear boundaries — code the next person can actually read.
A storefront that survives its own sale and settles correctly afterwards — payment, stock and orders staying in agreement.
Deployments that repeat and roll back without a meeting, on servers that report what broke before a customer does.
Scripts and pipelines that take over the repetitive work, and robots wired to sensors and the network — from a small shell script to an arm beside a production line.
Isfahan — Si-o-se-pol
Things I have built that you can open right now. The status on each card is honest — live means it really runs.
Persepolis — the columns
Every case has three parts: what the problem was, what I built, and what changed. The full write-up is in the dialog.
Toolkit
No percentage bars, no star ratings. These are the tools I reach for in real work.
Carpet hall — the toranj
Small tools that run right here with no server. Nothing leaves your browser and no request is ever sent.
Method
Four steps that do not reorder. Step three is not optional, otherwise step four means nothing.
Before writing code I restate the problem in my own words. If I cannot, I have not understood it yet.
First the version that works, then the version that survives failure. Never the other way around.
Every change goes down a repeatable path. A manual one-off is not a release.
After release, logs and numbers say what actually broke. I fix that, not what I guessed.
Fire temple — the flame
The stops that actually changed how I work — not a list of everything I have touched.
Things I learned that were worth writing down. Short, technical, no warm-up.
The five questions that land in my inbox most often. If yours is not here, just ask.
Four things: networking, software development, e-commerce, and infrastructure/DevOps. I prefer small, sharply defined work — I only take multi-month projects when the job is genuinely that big.
A short e-mail describing the problem. Then a thirty-minute call to pin down scope, then a written estimate with a price and a date. If the estimate does not suit you, that is the end of it.
Fixed price for defined work, monthly hours for maintenance. You know the ceiling before anything starts. Everything runs remotely; no physical presence is needed.
Because these are doors to reach me, not billboards. E-mail keeps its history; Telegram and Instagram are for when the conversation needs to move faster. All three are open — write through whichever is easiest.
The age is computed at the top of this page and I do not hide it. Work is judged by its result, not by a birth year. My standard is simple: what I hand over has to keep working after I walk away.
Home — the lit doorway
Write a short e-mail: the problem, the scope, the timing. You will hear back that day or the next.
Prefer to write directly?