essejblack

Backend developer


Tehran · Remote

برنامه‌نویس بک‌اند


تهران · دورکاری

Ehsan Jahanara

احسان جهان‌آرا

Seven years on the server side, building the parts that can't fall over: the schema, the API contract, the job that has to retry. Laravel on a multi-tenant SaaS, React on an offline-first PWA, and Python for the Keras and LLM work.

هفت سال کار سمت سرور؛ ساختن بخش‌هایی که نباید از کار بیفتند — ساختار دیتابیس، قرارداد API و جابی که باید دوباره تلاش کند. Laravel روی یک SaaS چندمستأجری، React روی یک PWA آفلاین‌اول، و Python برای کارهای Keras و LLM.

7 years 10 roles since 2018 Open to remote roles

۷ سال سابقه ۱۰ نقش از ۲۰۱۸ آماده‌ی همکاری دورکاری


GET /about


Backgroundپیشینه

The server side is the job.

کار اصلی، سمت سرور است.

Seven years of backend work, most of it Laravel. What I own on a project is the data model and the contract around it — Eloquent relationships that survive growth, REST APIs behind Passport or JWT, queued jobs for the slow work, migrations that run clean, and PHPUnit coverage that stops the same bug arriving twice.

هفت سال کار بک‌اند، بیشترش با Laravel. چیزی که در یک پروژه مالکیتش با من است، مدل داده و قراردادی است که دورش ساخته می‌شود — روابط Eloquent که با رشد پروژه نمی‌شکنند، REST API پشت Passport یا JWT، جاب‌های صف برای کارهای کُند، مایگریشن‌هایی که تمیز اجرا می‌شوند، و تست‌های PHPUnit که نمی‌گذارند یک باگ دو بار برگردد.

Python is where I'm heading. FastAPI services, pytest and TDD, scraping and automation, a CNN that colorizes photographs, an LLM agent loop with real tool calling. Right now I'm going deeper on the production side — Postgres, indexing, queues, observability — and on building LLM systems that are tested rather than demoed.

Python مسیری است که به سمتش می‌روم. سرویس‌های FastAPI، pytest و TDD، اسکرپینگ و اتوماسیون، یک شبکه‌ی کانولوشنی که به عکس‌های سیاه‌وسفید رنگ می‌دهد، و یک حلقه‌ی ایجنت LLM با فراخوانی واقعی ابزار. الان روی وجه پروداکشن آن عمیق‌تر می‌شوم — Postgres، ایندکس‌گذاری، صف‌ها و observability — و ساختن سیستم‌های LLM که تست شده باشند، نه فقط دمو.

There's WordPress in my history too, and plenty of it. Custom plugins, payment gateway integrations, back offices the owner can run alone. It taught me to ship against a deadline. It isn't where I want to spend the next five years.

WordPress هم در سابقه‌ام هست، و کم هم نیست. افزونه‌های اختصاصی، اتصال درگاه‌های پرداخت، و پنل‌هایی که صاحب کسب‌وکار خودش اداره‌شان می‌کند. یاد گرفتم سر موعد تحویل بدهم. ولی جایی نیست که بخواهم پنج سال بعدی را آنجا بگذرانم.

I've worked with teams in Canada, Australia and Oman as well as here in Tehran, so remote and async is how I've worked for most of my career. Most of what I learn ends up public on GitHub.

با تیم‌هایی در کانادا، استرالیا و عمان و همین‌طور اینجا در تهران کار کرده‌ام؛ دورکاری و کار async بیشترِ مسیر حرفه‌ای من بوده است. بیشتر چیزهایی که یاد می‌گیرم روی GitHub عمومی می‌شود.

Roleنقش
Backend developerبرنامه‌نویس بک‌اند
Experienceسابقه
7 years۷ سال
Basedمحل
Tehran, Iranتهران، ایران
Primaryتخصص اصلی
PHP · Laravel
Alsoهمچنین
React · TypeScript
Building onدر حال توسعه
Python · FastAPI · LLMs
Languagesزبان‌ها
English · Persianانگلیسی · فارسی
Statusوضعیت
Open to remote rolesآماده‌ی همکاری دورکاری

GET /stack


11 groups۱۱ دسته

What I reach for.ابزارهایی که سراغشان می‌روم.

PHP & frameworksPHP و فریم‌ورک‌ها

  • PHP 8.5
  • Laravel 13
  • Eloquent
  • Passport
  • Sanctum
  • Nova
  • Horizon
  • Pulse
  • Scout
  • Blade
  • WordPress
  • CodeIgniter

Python

  • Python 3
  • FastAPI
  • pytest
  • Selenium
  • Requests
  • Automation

AI & machine learningهوش مصنوعی و یادگیری ماشین

  • LLM agents
  • Tool calling
  • Chatbots
  • Speech to text
  • Keras
  • CNNs

APIs & integrationsAPI و یکپارچه‌سازی

  • REST
  • OpenAPI
  • JWT
  • OAuth2
  • Webhooks
  • Idempotency
  • Stripe
  • Thawani
  • Firebase
  • APNs

Testingتست‌نویسی

  • PHPUnit
  • pytest
  • TDD
  • Unit
  • Integration
  • Feature

Databasesپایگاه داده

  • MySQL
  • MariaDB
  • Redis
  • Eloquent
  • Migrations
  • Schema design

Infrastructureزیرساخت

  • Docker
  • Nginx
  • Apache
  • Git
  • GitHub CI/CD
  • Linux

Blockchainبلاک‌چین

  • Solidity
  • ERC-20
  • Hardhat
  • Hardhat Ignition
  • Truffle
  • web3.js
  • Contract testingتست قرارداد

Networking & securityشبکه و امنیت

  • Socketsسوکت
  • Scapy
  • Port scanningپویش پورت
  • MITM mechanicsمکانیک MITM
  • Access controlکنترل دسترسی
  • Constant-time comparisonمقایسه‌ی زمان‌ثابت

SEO, AEO & GEOسئو، AEO و GEO

  • Technical SEOسئوی فنی
  • Schema / JSON-LDاسکیما / JSON-LD
  • Yoast
  • Search Consoleسرچ کنسول
  • llms.txt
  • Core Web Vitals
  • mu-plugins

Front endفرانت‌اند

  • React 19
  • TypeScript
  • Vite
  • Tailwind
  • PWA
  • Service workers
  • Persian RTL
  • Vue
  • jQuery
  • Three.js

GET /experience


Since 2018از ۲۰۱۸

Where I've shipped.جاهایی که تحویل داده‌ام.

Sep 2026 — Present · Remoteسپتامبر ۲۰۲۶ — اکنون · دورکاری

Senior Full-Stack Engineerمهندس ارشد فول‌استک

Renowo · renovation cost estimationبرآورد هزینه‌ی بازسازی
  • Shipped a mobile-first Persian RTL PWA in React 19, TypeScript and Vite 6 against a Laravel API. Fully offline, and nothing loads from a foreign CDN.
  • Designed build-versioning and stale-install detection: one build ID across the bundle, the service worker cache and a server manifest, with a reload guard so it can't loop behind a stale cache.
  • Tracked down an iOS 26 PWA regression that zeroed safe-area insets, proving Safari- and Chrome-installed home screen apps are the same WebKit view.
  • Catalogue-driven questionnaire engine over 735 elements, with server-supplied rules pruned client-side so hidden answers aren't billed.
  • Wrote pixel-audit tooling in PHP — a colour census, gutter sweep and ink profile across 120 design frames — to settle layout tokens by measurement rather than sampling. Three had drifted in production.
  • Every user-facing string and enum label comes from the database with generated compile-time fallbacks, so screens still render correct Persian when the API is unreachable.
  • Hardened the deploy pipeline: fail fast, post-deploy verification against the live origin, and a self-modification guard for a script that git pulls itself. Found an nginx rule silently returning 403 on a release channel.
  • یک PWA موبایل‌اول فارسی و راست‌به‌چپ با React 19، TypeScript و Vite 6 روی یک API لاراولی تحویل دادم. کاملاً آفلاین، و هیچ چیزی از CDN خارجی بارگذاری نمی‌شود.
  • نسخه‌بندی بیلد و تشخیص نصب قدیمی را طراحی کردم: یک شناسه‌ی بیلد مشترک میان باندل، کش سرویس‌ورکر و منیفست سرور، به‌همراه محافظ ری‌لود تا پشت کش قدیمی در حلقه نیفتد.
  • یک رگرسیون PWA در iOS 26 را ردیابی کردم که safe-area insets را صفر می‌کرد، و نشان دادم اپ‌های نصب‌شده از سافاری و کروم هر دو یک WebKit view یکسان‌اند.
  • موتور پرسش‌نامه‌ی مبتنی بر کاتالوگ روی ۷۳۵ المان، با قواعد سمت سرور که در کلاینت هرس می‌شوند تا پاسخ‌های پنهان محاسبه نشوند.
  • ابزار ممیزی پیکسلی با PHP نوشتم — سرشماری رنگ، پویش فاصله‌ها و پروفایل جوهر روی ۱۲۰ فریم طراحی — تا توکن‌های چیدمان با اندازه‌گیری تعیین شوند نه نمونه‌برداری. سه مورد در پروداکشن منحرف شده بود.
  • همه‌ی رشته‌های نمایشی و برچسب‌های enum از دیتابیس می‌آیند با fallbackهای تولیدشده در زمان کامپایل، تا وقتی API در دسترس نیست هم صفحه‌ها فارسیِ درست را نمایش دهند.
  • پایپ‌لاین استقرار را مقاوم کردم: شکست سریع، راستی‌آزمایی پس از استقرار روی مبدأ زنده، و محافظ خودویرایشی برای اسکریپتی که خودش را git pull می‌کند. یک قاعده‌ی nginx را پیدا کردم که بی‌صدا روی یک کانال انتشار ۴۰۳ برمی‌گرداند.
May 2025 — Present · Remoteمه ۲۰۲۵ — اکنون · دورکاری

Full Stack Developerتوسعه‌دهنده‌ی فول‌استک

Ding · multi-tenant HR & attendance SaaSسامانه‌ی SaaS چندمستأجری منابع انسانی و حضوروغیاب
  • Led the Laravel 12 → 13 and PHP 8.3 → 8.4 upgrade across the app, a vendored domain package and the GitLab CI pipeline.
  • Repaired identity drift between two MySQL schemas with no foreign keys between them, backfilling account links and roles for ~13,000 memberships.
  • Built a VOIP webhook integration with constant-time key comparison, IP allowlisting and queued idempotent processing behind a cache lock.
  • Closed a set of cross-tenant access-control holes — records had been readable between companies. Manager routes now scope to the tenant in the URL, list endpoints return only each manager's granted employees, and the whole route surface is catalogued in a permission seeder.
  • Three-state feature gate enforced as middleware on 40+ routes, with per-tenant overrides and a cached lookup that fails open.
  • Mobile REST APIs with multi-company and multi-node switching the original data model hadn't allowed for, plus push notifications routed between Firebase and APNs by device OS.
  • Took a core report from ~10s to ~3s. Built the Gemini-backed "Advanced Shift" feature, a payment gateway, and a one-way sync of customers, invoices and payments into an external accounting system.
  • Added Horizon, Pulse, a health endpoint and scheduler supervision. Code reviews throughout.
  • ارتقای Laravel 12 به 13 و PHP 8.3 به 8.4 را در کل اپلیکیشن، یک پکیج دامنه‌ی داخلی و پایپ‌لاین GitLab CI رهبری کردم.
  • ناسازگاری هویت میان دو اسکیمای MySQL بدون کلید خارجی را اصلاح کردم و پیوند حساب‌ها و نقش‌ها را برای حدود ۱۳٬۰۰۰ عضویت بازسازی کردم.
  • یکپارچه‌سازی وب‌هوک VOIP با مقایسه‌ی کلید در زمان ثابت، allowlist آی‌پی و پردازش idempotent صف‌شده پشت قفل کش.
  • مجموعه‌ای از حفره‌های کنترل دسترسی بین‌مستأجری را بستم — پیش از آن رکوردها بین شرکت‌ها قابل خواندن بودند. حالا مسیرهای مدیر به مستأجرِ داخل URL محدود می‌شوند، اندپوینت‌های فهرست فقط کارمندان مجازِ همان مدیر را برمی‌گردانند، و کل سطح مسیرها در یک permission seeder ثبت شده است.
  • گیت ویژگی سه‌حالته به‌صورت middleware روی بیش از ۴۰ مسیر، با override به‌ازای هر مستأجر و جست‌وجوی کش‌شده‌ای که در خطا باز می‌ماند.
  • REST API موبایل با جابه‌جایی چندشرکتی و چندنودی که مدل داده‌ی اولیه پیش‌بینی نکرده بود، به‌همراه نوتیفیکیشن که بسته به سیستم‌عامل دستگاه بین Firebase و APNs مسیردهی می‌شود.
  • یک گزارش اصلی را از حدود ۱۰ ثانیه به حدود ۳ ثانیه رساندم. قابلیت «شیفت پیشرفته» مبتنی بر Gemini، یک درگاه پرداخت، و همگام‌سازی یک‌طرفه‌ی مشتریان، فاکتورها و پرداخت‌ها با یک سامانه‌ی حسابداری بیرونی را ساختم.
  • Horizon، Pulse، health endpoint و نظارت بر زمان‌بند اضافه کردم. در کل دوره، بازبینی کد.
Jan 2025 — Jun 2025 · Remoteژانویه ۲۰۲۵ — ژوئن ۲۰۲۵ · دورکاری

WordPress Developerتوسعه‌دهنده‌ی وردپرس (part time)(پاره‌وقت)

Rastad.io
  • Integrated real-time crypto price data into custom plugins.
  • Built WordPress e-commerce platforms selling packages and online lessons.
  • داده‌ی لحظه‌ای قیمت ارز دیجیتال را در افزونه‌های اختصاصی یکپارچه کردم.
  • پلتفرم‌های فروشگاهی وردپرس برای فروش بسته‌ها و دوره‌های آنلاین ساختم.
Apr 2024 — Aug 2024 · Remote, Omanآوریل ۲۰۲۴ — اوت ۲۰۲۴ · دورکاری، عمان

WordPress Developerتوسعه‌دهنده‌ی وردپرس

Allayaly
  • Integrated the Thawani payment gateway, improving transaction efficiency by 25%.
  • Developed custom themes and plugins for tourism services, increasing bookings by 30%.
  • Used Elementor for responsive designs, lifting user satisfaction by 40%.
  • درگاه پرداخت Thawani را یکپارچه کردم و کارایی تراکنش‌ها ۲۵٪ بهتر شد.
  • قالب‌ها و افزونه‌های اختصاصی برای خدمات گردشگری توسعه دادم و رزروها ۳۰٪ افزایش یافت.
  • با Elementor طراحی واکنش‌گرا پیاده کردم و رضایت کاربران ۴۰٪ بالا رفت.
Jul 2023 — Mar 2024ژوئیه ۲۰۲۳ — مارس ۲۰۲۴

Freelance Web Developerتوسعه‌دهنده‌ی وب (فریلنس)

Various clientsکارفرمایان مختلف
  • Custom themes, plugins and performance work for small businesses on WordPress.
  • Self-taught Python with a focus on automation, data handling and web tools.
  • Studied blockchain, DeFi tooling and trading fundamentals.
  • قالب و افزونه‌ی اختصاصی و بهینه‌سازی کارایی برای کسب‌وکارهای کوچک روی وردپرس.
  • یادگیری خودآموز Python با تمرکز بر اتوماسیون، کار با داده و ابزارهای وب.
  • مطالعه‌ی بلاک‌چین، ابزارهای DeFi و مبانی ترید.
Aug 2022 — Jun 2023 · Remote, Canadaاوت ۲۰۲۲ — ژوئن ۲۰۲۳ · دورکاری، کانادا

Laravel Developerتوسعه‌دهنده‌ی Laravel

Qoo Studio
  • Built QooBox, connecting 200+ contractors to engineers and cutting timelines by 35%.
  • Implemented Facade patterns and REST APIs with Passport, halving debugging time.
  • Dockerised projects across Laravel, Nginx, MySQL and Redis, streamlining deploys by 40%.
  • QooBox را ساختم که بیش از ۲۰۰ پیمانکار را به مهندسان وصل می‌کند و زمان پروژه‌ها را ۳۵٪ کوتاه کرد.
  • الگوی Facade و REST API با Passport را پیاده کردم و زمان دیباگ نصف شد.
  • پروژه‌ها را روی Laravel، Nginx، MySQL و Redis داکرایز کردم و استقرار ۴۰٪ روان‌تر شد.
Sep 2022 — Apr 2023 · Remote, Australiaسپتامبر ۲۰۲۲ — آوریل ۲۰۲۳ · دورکاری، استرالیا

Laravel Developerتوسعه‌دهنده‌ی Laravel

Shakewell Agency
  • Developed scalable Laravel platforms such as Riptide Magazine, integrating Stripe and boosting retention by 20%.
  • Customised Laravel Nova admin panels, improving efficiency by 25%.
  • Wrote PHPUnit tests, cutting post-deployment issues by 40%.
  • پلتفرم‌های مقیاس‌پذیر Laravel مثل Riptide Magazine را توسعه دادم، Stripe را یکپارچه کردم و نگه‌داشت کاربر ۲۰٪ بهتر شد.
  • پنل‌های مدیریت Laravel Nova را سفارشی‌سازی کردم و کارایی ۲۵٪ بالا رفت.
  • تست‌های PHPUnit نوشتم و مشکلات پس از استقرار ۴۰٪ کم شد.
Apr 2020 — Dec 2021آوریل ۲۰۲۰ — دسامبر ۲۰۲۱

Freelance Web Developerتوسعه‌دهنده‌ی وب (فریلنس)

Various clientsکارفرمایان مختلف
  • Delivered custom WordPress e-commerce and logistics sites, improving client satisfaction by 50%.
  • Built Laravel tracking platforms for shipping, serving 100+ users.
  • سایت‌های فروشگاهی و لجستیکی اختصاصی روی وردپرس تحویل دادم و رضایت مشتری ۵۰٪ بهتر شد.
  • پلتفرم‌های رهگیری ارسال با Laravel ساختم که به بیش از ۱۰۰ کاربر سرویس می‌داد.
Feb 2019 — Mar 2020 · Tehran, Iranفوریه ۲۰۱۹ — مارس ۲۰۲۰ · تهران، ایران

PHP Developerتوسعه‌دهنده‌ی PHP

Serat Misagh
  • Developed a startup platform connecting contractors to civil engineers in CodeIgniter 2.
  • Designed and built the company's business website in Laravel.
  • Initiated the AONE holding CRM with a Telegram bot in plain PHP.
  • یک پلتفرم استارتاپی برای اتصال پیمانکاران به مهندسان عمران با CodeIgniter 2 توسعه دادم.
  • وب‌سایت شرکتی مجموعه را با Laravel طراحی و پیاده‌سازی کردم.
  • CRM هلدینگ AONE را به‌همراه یک ربات تلگرام با PHP خالص راه‌اندازی کردم.
Feb 2018 — May 2018 · Tehran, Iranفوریه ۲۰۱۸ — مه ۲۰۱۸ · تهران، ایران

Junior QAکارشناس تست (جونیور)

Almaatech
  • UI test automation with Selenium WebDriver. Started here finding bugs, which is still how I read other people's code.
  • اتوماسیون تست رابط کاربری با Selenium WebDriver. کارم را با پیداکردن باگ شروع کردم، و هنوز کد دیگران را با همین نگاه می‌خوانم.
۲۰۲۰ — ۲۰۲۳

Bachelor in Software Engineeringکارشناسی مهندسی نرم‌افزار

University of Science and Cultureدانشگاه علم و فرهنگ
  • Built a car game in Three.js with gravity and custom shaders.
  • Trained a Python and Keras model to colorize grayscale photographs.
  • یک بازی ماشین با Three.js به‌همراه گرانش و شیدرهای اختصاصی ساختم.
  • یک مدل Python و Keras را برای رنگی‌کردن عکس‌های سیاه‌وسفید آموزش دادم.
۲۰۱۷ — ۲۰۱۹

Associate's in Computer Software Engineeringکاردانی مهندسی نرم‌افزار کامپیوتر

Shamsipour Technical and Vocational Collegeآموزشکده‌ی فنی و حرفه‌ای شمسی‌پور
  • Built a Snake and Ladder game in C#.
  • Created a library management website in CodeIgniter 2.
  • بازی مار و پله را با C# ساختم.
  • یک وب‌سایت مدیریت کتابخانه با CodeIgniter 2 ایجاد کردم.

GET /projects


26 builds · 14 live۲۶ پروژه · ۱۴ آنلاین

Things I built and shipped.چیزهایی که ساخته و تحویل داده‌ام.

Laravel · Qoo Studio

QooBox

Laravel

A platform connecting over 200 contractors to civil engineers, built on Laravel with Facade patterns and Passport-secured REST APIs. Project timelines dropped 35%, and the whole stack — Laravel, Nginx, MySQL, Redis — runs in Docker.

پلتفرمی که بیش از ۲۰۰ پیمانکار را به مهندسان عمران وصل می‌کند؛ ساخته‌شده با Laravel، الگوی Facade و REST API امن‌شده با Passport. زمان پروژه‌ها ۳۵٪ کم شد و کل استک — Laravel، Nginx، MySQL و Redis — در Docker اجرا می‌شود.

Riptide Magazine

Laravel

A publishing platform with Stripe subscriptions and a customised Laravel Nova back office. Retention rose 20%; PHPUnit coverage cut post-deployment issues by 40%. The magazine has since been rebuilt on a hosted platform.

یک پلتفرم انتشار با اشتراک‌های Stripe و پنل مدیریت سفارشی Laravel Nova. نگه‌داشت کاربر ۲۰٪ بالا رفت و پوشش PHPUnit مشکلات پس از استقرار را ۴۰٪ کم کرد. مجله از آن زمان روی یک پلتفرم میزبانی‌شده بازسازی شده است.

Jakojast

Laravel

A daily-rental booking platform for villas, suites and furnished apartments — listings, availability, reservations, and a back office the operator runs unaided.

پلتفرم رزرو روزانه‌ی ویلا، سوئیت و آپارتمان مبله — آگهی‌ها، موجودی، رزرو، و پنلی که اپراتور خودش اداره‌اش می‌کند.

jakojast.com ↗

Aghsat Marketاقساط مارکت

Web platformپلتفرم وب

An instalment-purchase platform built for retirees — catalogue, eligibility and payment scheduling, behind a Next.js front end.

پلتفرم خرید اقساطی برای بازنشستگان — کاتالوگ، احراز شرایط و زمان‌بندی پرداخت، پشت یک فرانت‌اند Next.js.

irantrb.com ↗

ai-agent-py

Python · LLM

An LLM agent loop. Hand it a set of tools, let it choose which to call, and keep conversation state coherent across turns.

یک حلقه‌ی ایجنت LLM. مجموعه‌ای از ابزارها را به آن بدهید، خودش انتخاب می‌کند کدام را صدا بزند و وضعیت گفتگو را بین نوبت‌ها منسجم نگه می‌دارد.

Read the source →مشاهده‌ی سورس ←

university-fastapi-py

Python · FastAPI

A university records API in FastAPI — typed request models, dependency-injected routes, and OpenAPI docs generated from the code itself.

یک API سوابق دانشگاهی با FastAPI — مدل‌های درخواست تایپ‌دار، مسیرهای با تزریق وابستگی، و مستندات OpenAPI که از خودِ کد تولید می‌شود.

Read the source →مشاهده‌ی سورس ←

ai-chatbot-py

Python · LLM

A conversational chatbot over an LLM API, handling message history and context so the thread stays coherent.

یک چت‌بات گفتگویی روی API یک LLM، با مدیریت تاریخچه‌ی پیام و زمینه تا رشته‌ی گفتگو منسجم بماند.

Read the source →مشاهده‌ی سورس ←

audio-to-text-py

Python · Speech

Drop an audio file in, get a transcript out. Speech-to-text that runs locally instead of behind a subscription.

فایل صوتی را بدهید، متن پیاده‌شده را بگیرید. تبدیل گفتار به متن که به‌جای اشتراک، محلی اجرا می‌شود.

Read the source →مشاهده‌ی سورس ←

py-colorizephoto-keras

Keras · CNN

A convolutional network trained to put colour back into black-and-white photographs, with the dataset prep that made it trainable.

یک شبکه‌ی کانولوشنی آموزش‌دیده برای بازگرداندن رنگ به عکس‌های سیاه‌وسفید، به‌همراه آماده‌سازی دیتاستی که آموزش را ممکن کرد.

Read the source →مشاهده‌ی سورس ←

pytest-tdd-py

Python · Testing

Test-first practice in pytest — fixtures, mocks, and the red-green-refactor loop applied until it stopped feeling like extra work.

تمرین تست‌محور با pytest — فیکسچر، ماک، و حلقه‌ی red-green-refactor تا جایی که دیگر کار اضافه حس نمی‌شد.

Read the source →مشاهده‌ی سورس ←

digikala-price-checker

Python · Scraping

Watches a marketplace listing and reports when the price moves. Written once for one product, then generalised.

یک آگهی فروشگاهی را رصد می‌کند و وقتی قیمت تغییر کرد خبر می‌دهد. اول برای یک محصول نوشته شد، بعد عمومی شد.

Read the source →مشاهده‌ی سورس ←
SEO · AEO · GEOسئو · AEO · GEO

Search system across the WordPress estateسامانه‌ی سئو روی مجموعه سایت‌های وردپرسی

WordPress

Every WordPress site here was optimised by me, and the work is tracked in Search Console. Rather than repeat it per project, I distilled it into a portable rulebook — 16 sections, 35 machine-checked gates — covering classic SEO, answer-engine optimisation (FAQ pairs, FAQPage schema) and generative-engine optimisation (llms.txt, one controlled @graph so LLMs cite the right facts). Each site carries a must-use plugin that owns the schema layer, regenerates llms.txt after every change, and applies the fixes a theme can't reach.

سئوی همه‌ی سایت‌های وردپرسی این صفحه را خودم انجام داده‌ام و عملکردشان در سرچ کنسول قابل پیگیری است. به‌جای تکرار کار در هر پروژه، آن را به یک راهنمای قابل‌حمل تبدیل کردم — ۱۶ بخش و ۳۵ قاعده‌ی ماشین‌بررسی‌شونده — که سئوی کلاسیک، بهینه‌سازی برای موتورهای پاسخ (جفت‌های پرسش‌وپاسخ و اسکیمای FAQPage) و بهینه‌سازی برای موتورهای مولد (llms.txt و یک @graph کنترل‌شده تا مدل‌های زبانی حقایق درست را نقل کنند) را پوشش می‌دهد. هر سایت یک must-use plugin دارد که مالک لایه‌ی اسکیما است، بعد از هر تغییر llms.txt را بازتولید می‌کند و اصلاحاتی را اعمال می‌کند که از دل قالب ممکن نیست.

Mediversa

WooCommerce

A medical equipment store specialising in autoclaves — sales, spare parts and servicing. A YMYL catalogue, so the schema and claims had to be exact.

فروشگاه تجهیزات پزشکی با تخصص اتوکلاو — فروش، قطعات یدکی و تعمیرات. کاتالوگی از جنس YMYL، بنابراین اسکیما و ادعاها باید دقیق می‌بود.

mediversa.ir ↗

Shakil Gold

WooCommerce

An online gold jewellery store with live spot pricing across 5,000+ products — every price recalculated as the market moves, not stored.

فروشگاه آنلاین طلا با قیمت لحظه‌ای روی بیش از ۵٬۰۰۰ محصول — هر قیمت با تغییر بازار دوباره محاسبه می‌شود، نه اینکه ذخیره شده باشد.

shakilgold.com ↗

Berno Beauty

WooCommerce

An online cosmetics and personal care store — catalogue, variants and checkout, with the search layer built in from the start.

فروشگاه آنلاین لوازم آرایشی و بهداشتی — کاتالوگ، تنوع محصول و پرداخت، با لایه‌ی سئو که از ابتدا در آن دیده شده بود.

bernobeauty.com ↗

Tooth Booth

WooCommerce

A dental care company in Canada — services, practitioners and appointment enquiries, with a storefront attached.

یک مجموعه‌ی دندان‌پزشکی در کانادا — خدمات، پزشکان و درخواست نوبت، به‌همراه یک فروشگاه.

toothbooths.com ↗

Topialand

WordPress

A Canadian storefront for a YouTuber's merchandise and artisanal products, built so the owner restocks and merchandises it alone. The store has since migrated to Shopify.

فروشگاهی کانادایی برای محصولات و کالاهای دست‌ساز یک یوتیوبر؛ طوری ساخته شد که صاحبش خودش موجودی و چیدمان را مدیریت کند. فروشگاه از آن زمان به Shopify منتقل شده است.

topialand.ca ↗

WSI Oilfield

WordPress

A corporate site for an oil-services company, including a career portal that takes applications.

سایت شرکتی یک مجموعه‌ی خدمات نفتی، به‌همراه پورتال استخدام که درخواست‌ها را دریافت می‌کند.

wsi-oilfield.com ↗

The School of Iranمدرسه‌ی ایران

WordPress

A charity site for a schools programme — campaigns, programme information and donor enquiries.

سایت یک خیریه‌ی مدرسه‌سازی — کمپین‌ها، معرفی برنامه‌ها و ارتباط با حامیان.

theschoolofiran.org ↗

Optimize Mind Performance

Astro

A sports and mind-performance coaching site, built as a static Astro site so it loads fast and costs nothing to host.

سایت مربی‌گری ورزشی و عملکرد ذهنی، به‌صورت استاتیک با Astro ساخته شد تا سریع بالا بیاید و هزینه‌ی میزبانی نداشته باشد.

optimizemindperformance.com ↗

Four WooCommerce storefrontsچهار فروشگاه ووکامرس

WooCommerce

Tiba Club (Saipa car parts), Rahnegar (Garmin watch retail), Dezhar Mine (industrial machinery parts) and KhaneGooGooli (travel mugs) — custom themes and plugins, catalogue and checkout, and back offices the owners run themselves. Plus Unique Investments, a private real-estate company in Belgium.

تیبا کلاب (قطعات خودروی سایپا)، ره‌نگار (فروش ساعت گارمین)، دژار معدن (قطعات ماشین‌آلات صنعتی) و خانه گوگولی (ماگ مسافرتی) — قالب و افزونه‌ی اختصاصی، کاتالوگ و پرداخت، و پنل‌هایی که صاحبانشان خودشان اداره می‌کنند. به‌علاوه‌ی Unique Investments، یک شرکت خصوصی املاک در بلژیک.

todolist-solidity

Solidity · Hardhat

A to-do list whose state lives on chain. Solidity contracts on Hardhat with TypeScript, deployment through Hardhat Ignition, and a test suite.

یک فهرست کارها که وضعیتش روی زنجیره زندگی می‌کند. قراردادهای Solidity روی Hardhat با TypeScript، استقرار از طریق Hardhat Ignition، و یک مجموعه تست.

Read the source →مشاهده‌ی سورس ←

simple-smart-contract-solidity

Solidity · Truffle

An ERC-20 style token — minting, burning and ownership transfer. Built on Truffle with migrations, plus web3.js scripts for reading the contract and moving tokens. Tested.

یک توکن به‌سبک ERC-20 — ضرب، سوزاندن و انتقال مالکیت. ساخته‌شده روی Truffle با migration، به‌همراه اسکریپت‌های web3.js برای خواندن قرارداد و جابه‌جایی توکن. تست‌شده.

Read the source →مشاهده‌ی سورس ←

Networking & security exercisesتمرین‌های شبکه و امنیت

Python

About a dozen self-study repos — port scanning and host discovery against raw sockets, ARP-level MITM with Scapy, socket client/server, encoding utilities. I'm not after a security role; I wrote these to understand what I'm defending against, and it's why I was the one who found the access-control holes at Ding.

حدود دوازده مخزن خودآموز — پویش پورت و کشف میزبان روی سوکت خام، MITM در سطح ARP با Scapy، کلاینت و سرور سوکت، و ابزارهای کدگذاری. دنبال نقش امنیتی نیستم؛ این‌ها را نوشتم تا بفهمم در برابر چه چیزی دفاع می‌کنم، و به‌همین دلیل بود که حفره‌های کنترل دسترسی در Ding را من پیدا کردم.

Browse the profile →مشاهده‌ی پروفایل ←
★ 9

laravel-postman-exporter

PHP · Package

Walks a Laravel app's route table, groups the endpoints, and writes a Postman collection you can hand straight to a frontend team.

جدول مسیرهای یک اپ Laravel را می‌پیماید، اندپوینت‌ها را گروه‌بندی می‌کند و یک کالکشن Postman می‌نویسد که مستقیم قابل تحویل به تیم فرانت‌اند است.

Read the source →مشاهده‌ی سورس ←

dockerize-laravel

Docker

A Laravel container stack that comes up with one make command — PHP-FPM, Nginx and MySQL, wired together in compose.

یک استک کانتینری Laravel که با یک دستور make بالا می‌آید — PHP-FPM، Nginx و MySQL، به‌هم‌بسته در compose.

Read the source →مشاهده‌ی سورس ←

POST /contact


Open to remote rolesآماده‌ی دورکاری

I'm open to remote backend work, and I've spent most of my career on distributed teams across four countries. Send me the problem — if it's Laravel, Python, or something that has to run reliably on a server, I'll tell you honestly whether I'm the right person for it.

آماده‌ی کار بک‌اند دورکاری هستم و بیشتر مسیر حرفه‌ای‌ام را در تیم‌های توزیع‌شده در چهار کشور گذرانده‌ام. مسئله را برایم بفرستید — اگر Laravel، Python یا چیزی است که باید روی سرور پایدار اجرا شود، صادقانه می‌گویم که آدم مناسبش هستم یا نه.