Software that explains why · نرمافزاری که میگوید چرا
I'm a software engineer in Mashhad, Iran. I build open-source developer tools in Python and TypeScript, mostly for AI coding agents and for developers in Iran: small, well-tested tools that tell you why something broke. Each one has a release, docs and its own website.
Tip
Open to collaboration. Every flagship below has issues labelled good first issue, and a pull request is the fastest way to say hello.
good first issue دارد و ارسال pull request بهترین شروع آشناییست.| Building vazhgun, payanlint, arjaa and neveshtar: offline tools for a Persian Word thesis (flipped numerals, typing and format lint, figure and citation cross-references, written register). در حال ساخت vazhgun، payanlint، arjaa و neveshtar: ابزارهای آفلاین برای پایاننامهٔ فارسی در ورد (اعداد وارونه، لینت تایپ و قالببندی، ارجاع شکل و منبع، لحن نوشتاری). |
Working at Programmer at the Khorasan Razavi Chamber of Commerce, Mashhad (resume). محل کار برنامهنویس در اتاق بازرگانی خراسان رضوی، مشهد. |
| MihanStack · میهناستک · site Local cloud for Iranian payment and SMS APIs: Zarinpal, Zibal, Kavenegar and SMS.ir with failure scenarios, chaos mode and record/replay. ابرِ محلی برای APIهای پرداخت و پیامک ایران: زرینپال، زیبال، کاوهنگار و SMS.ir، همراه با سناریوهای خطا، حالت آشوب و ضبط و بازپخش. |
|
| dibs · site Stops Claude Code, Codex, Cursor, Gemini CLI, Copilot and aider from reverting the edits you make by hand. نمیگذارد ایجنتهای کدنویسی هوش مصنوعی (Claude Code، Codex، Cursor، Gemini CLI، Copilot و aider) ویرایشهای دستی شما را برگردانند. |
|
| hamyad · همیاد · site One shared project brain for ChatGPT, Claude, Codex, Gemini, Grok, Cursor, Copilot and more: sessions, decisions and diffs, over MCP and REST. یک حافظهٔ مشترک پروژه برای ChatGPT، Claude، Codex، Gemini، Grok، Cursor، Copilot و بقیه: نشستها، تصمیمها و تغییرات، از طریق MCP و REST. |
|
| dokhaneh · دوخانه · site Publishes every release to GitHub and Iranian hosts with an Ed25519-signed manifest and a verifying fallback installer. هر نسخه را هم روی گیتهاب و هم روی میزبانهای ایرانی منتشر میکند، با مانیفست امضاشده با Ed25519 و نصبکنندهٔ جایگزینی که صحت فایل را بررسی میکند. |
|
| paknevis · پاکنویس · site Persian text linter and auto-fixer: half-spaces, Arabic letters, punctuation, digits. CLI, pre-commit and GitHub Action. اصلاحگر و لینتر متن فارسی: نیمفاصله، حروف عربی، نقطهگذاری و ارقام. خط فرمان، pre-commit و GitHub Action. |
|
| netdoctor-ir · site Connectivity doctor for developers in Iran: scans dev services, ranks DNS resolvers, switches pip, npm and Docker mirrors. پزشکِ اتصال برای برنامهنویسهای ایران: سرویسهای توسعه را میسنجد، DNSها را رتبهبندی میکند و آینههای pip و npm و Docker را عوض میکند. |
|
| flowpilot · site Self-hosted, code-first workflow engine: YAML in Git, cron, webhook and RSS triggers, Telegram steps, Jalali dates. موتور گردشکار خودمیزبان و کدمحور: YAML در Git، محرکهای cron و webhook و RSS، گامهای تلگرام و تقویم جلالی. |
|
| sabr · صبر · site Resumable git clone, docker pull and downloads for links that keep dropping: a drop costs one step, not the whole transfer. git clone، docker pull و دانلودِ ازسرگرفتنی برای اتصالهای ناپایدار: قطع شدن فقط یک گام را از بین میبرد، نه کل انتقال را. |
|
| marz · مرز · site Will your app work in Iran, China and Russia? Scans code for blocked and sanctioned services, with OONI data and fixes. برنامهات در ایران، چین و روسیه کار میکند؟ کد را از نظر سرویسهای مسدود و تحریمی بررسی میکند، با دادههای OONI و پیشنهاد راهحل. |
|
| whystuck · site Runs any command with an idle watchdog. When it hangs, says why (pager, editor, y/N prompt, password, lock) and prints the non-interactive fix. هر فرمانی را با یک نگهبانِ بیحرکتی اجرا میکند. وقتی گیر کند میگوید چرا (pager، ویرایشگر، پرسش y/N، رمز عبور، قفل) و راهحل غیرتعاملی را چاپ میکند. |
|
| shellparity · site Diffs your terminal shell against an AI agent's shell (PATH, versions, proxies, UTF-8, SSH, git signing) and prints the rc-file fix. شل ترمینال شما را با شل ایجنت هوش مصنوعی مقایسه میکند (PATH، نسخهها، پروکسی، UTF-8، SSH، امضای git) و اصلاح لازم برای فایل rc را چاپ میکند. |
|
| whystale · site Changed the code but it behaves the old way? Finds servers started before .env changed, old builds, deps and generated code. کد را عوض کردی ولی هنوز مثل قبل کار میکند؟ سرورهایی را که پیش از تغییر .env راه افتادهاند، و بیلدها، وابستگیها و کدهای تولیدشدهٔ کهنه را پیدا میکند. |
|
| whycached · site Deployed but still seeing the old version? Finds which cache layer (CDN, browser, service worker, filename) serves it, with proof and the fix. دیپلوی کردی ولی هنوز نسخهٔ قدیمی را میبینی؟ پیدا میکند کدام لایهٔ کش (CDN، مرورگر، service worker، نام فایل) آن را میدهد، با مدرک و راهحل. |
|
| persianprobe · site Does your language handle Persian text the way you think? Runs the same probes through Python, Node, Perl, SQLite, Go and shows where they disagree. زبان برنامهنویسیات متن فارسی را همانطور که فکر میکنی پردازش میکند؟ همین آزمونها را در Python، Node، Perl، SQLite و Go اجرا میکند و اختلافها را نشان میدهد. |
|
| whyenv · site Changed the env variable and nothing changed? Shows which source (shell, .env files, compose) wins in Vite, Next, dotenv and Compose, and which edit is ignored. متغیر محیطی را عوض کردی و چیزی عوض نشد؟ نشان میدهد کدام منبع (شل، فایلهای .env، compose) در Vite و Next و dotenv و Compose برنده است و کدام ویرایش نادیده گرفته میشود. |
|
| vazhgun · واژگون · site Persian thesis in Word: finds paragraphs where typed order and drawn order differ (۲-۳ shown as ۳-۲, left-to-right tables) and writes an explicit fixed copy. پایاننامهٔ فارسی در ورد: پاراگرافهایی را پیدا میکند که ترتیب تایپشده و نمایشدادهشدهشان فرق دارد (۲-۳ که ۳-۲ دیده میشود، جدول چپبهراست) و نسخهٔ اصلاحشدهٔ صریح مینویسد. |
|
| payanlint · پایانلینت · site Lints a Persian Word thesis: half-spaces, Arabic ي/ك, digit sets, complex-script font and size, margins, captions, page numbers; safe --fix on a copy. پایاننامهٔ فارسی در ورد را لینت میکند: نیمفاصله، «ي» و «ك» عربی، دستهٔ رقم، قلم و اندازهٔ complex-script، حاشیه، شرح شکل، شمارهٔ صفحه؛ --fix امن روی نسخه. |
|
| arjaa · ارجاع · site Checks figure and table numbers and mentions, and in-text citations against the reference list, in a Persian .docx, with Jalali and Gregorian years. شمارهٔ شکل و جدول و ارجاع به آنها، و ارجاعهای متنی را در برابر فهرست منابع در یک .docx فارسی بررسی میکند، با سال شمسی و میلادی. |
|
| neveshtar · نوشتار · site Rewrites spoken Persian forms into the thesis register with a reason and a confidence tier for each, writes Word tracked changes, checks thesis conventions, and (v0.2.0) questions stock phrasing and flat rhythm for you to review; offline and rule-based, not an AI author. شکلهای گفتاری فارسی را به لحن پایاننامه بازنویسی میکند، با دلیل و سطح اطمینان برای هرکدام، تغییر ردیابیشدهٔ ورد مینویسد قراردادهای پایاننامه را بررسی میکند و (نسخهٔ ۰٫۲٫۰) عبارتهای کلیشهای و ریتم یکنواخت را برای بازبینی شما زیر سؤال میبرد؛ آفلاین و قاعدهمحور، نه نویسندهٔ هوش مصنوعی. |
Stars, language and version beside each project are read from the GitHub API and refreshed daily.
- AgentForge · one source of AI coding-agent rules, synced to Cursor, Claude Code, Windsurf, Copilot, Roo and Aider.
- Awesome Persian Developer Resources · curated hub of tools Iranian developers rely on.
- Universal Video Downloader · Chrome/Edge extension that saves HLS and MP4 streams, client-side.
- Page Smash · jetpack physics toy that smashes any webpage.
- Jenkins Pipeline Examples · small, readable declarative pipelines.
- PrintBridge · fork of AnouarSbia/printbridge, a local agent for silent PDF and label printing.
Every picture here is a small self-hosted SVG in one warm palette, with light and dark variants; there is no external image service or counter. Text is outlined from open fonts so Persian shapes correctly everywhere, and the motion switches off when your system asks for reduced motion. The numbers are rebuilt daily by a GitHub Action running scripts/build_profile.py. Language shares are by bytes across my public non-fork repositories, excluding generated site output.



