00معرفی

تهران، ایران · UTC+3:30

حسین صفاوردی

معمار و مهندس نرم‌افزار

سامانه‌های پرداخت، Core Banking و ERP‏.

شش سال است روی سامانه‌هایی کار می‌کنم که اشتباه در آن‌ها برای کسی هزینه دارد. درگاه پرداخت و Core Banking در حامی سیستم شریف، یک لایهٔ پرداخت مستقل از provider روی Stripe و NMI برای LeadFi در آمریکا، و ERP که پنج واحد آهن‌آنلاین هنوز روی آن کار می‌کنند. از ۲۰۲۵ بیشتر وقتم صرف محصولات خودم شده و نخستین آن‌ها منتشر شده است.

ساکن
تهران، ایران
همکاری با
تیم‌هایی در آمریکا و اروپا، به‌صورت دورکاری
می‌نویسم
C#، Python، TypeScript، SQL
حوزه‌ها
پرداخت، Core Banking، ERP، SaaS multi-tenant
زبان‌ها
فارسی (مادری)، انگلیسی (حرفه‌ای)
منتشر شده
dadyar.pro
سامانه‌هایی در حال کار برای
۰۱این روزها

این روزها روی چه کار می‌کنم

  • دادیار منتشر شده و روی dadyar.pro در دسترس است. هنوز بخش عمدهٔ API را خودم می‌نویسم، و همچنین کل pipeline پیکرهٔ قوانین و سامانهٔ راستی‌آزمایی استنادها.
  • یک پروژهٔ کارفرمایی در جریان است: توسعهٔ بخش پرداخت LeadFi روی Django با Stripe و NMI.
  • دو محصول دیگر در مرحلهٔ توسعهٔ خصوصی هستند. هنوز چیزی برای ارائه ندارند، بنابراین اینجا هم توضیحی دربارهٔ آن‌ها نیامده است.
  • ظرفیت یک پروژهٔ دیگر تا پایان سال دارم. به دنبال موقعیت تمام‌وقت نیستم.
آخرین بازبینی: شهریور ۱۴۰۵
۰۲محصولات خودم

محصولاتی که می‌سازم

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

دادیار logo

دادیارDadyar

منتشر شده

بنیان‌گذار · معمار · و هنوز توسعه‌دهنده

دستیار حقوقی مبتنی بر هوش مصنوعی، فارسی‌زبان و ویژهٔ حقوق ایران، با شبکه‌ای از وکلای دارای پروانهٔ تأییدشده.

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

پیکرهٔ زیرین، متن کامل هجده قانون ایران است، ماده به ماده و هر ماده روی URL اختصاصی خود، همراه با تبصره‌ها، وضعیت اعتبار ثبت‌شدهٔ قانون، و آرای وحدت رویه و نظریات مشورتی‌ای که به آن ماده استناد کرده‌اند.

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

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

پیکرهٔ قوانین
۱۸ قانون، بیش از ۵٬۵۰۰ ماده روی URL اختصاصی، به‌همراه آرای وحدت رویه
قراردادها
۲۸ نوع در ۷ دسته، از کتابخانهٔ بند با استناد قانونی
ابزار رایگان
۷ ماشین‌حساب بر پایهٔ نرخ‌های رسمی، بدون ثبت‌نام
فناوری‌ها
‎.NET 10‎ با Clean Architecture، CQRS با MediatR، Hangfire، Next.js 15، PostgreSQL، pgvector
سهم من
معماری، ingestion پیکرهٔ قوانین، راستی‌آزمایی استناد، و بخش عمدهٔ API
دادیار را ببینید dadyar.pro

سامانهٔ حسابداری و عملیات

در حال توسعه

برای شرکت‌هایی که از اکسل فراتر رفته‌اند و خرید یک ERP سازمانی برایشان توجیه اقتصادی ندارد. دفاتر، اسناد، مطالبات و گزارش‌گیری. یک API روی ‎.NET با Clean Architecture، به‌همراه اپلیکیشن مشتری و کنسول اپراتور که هر دو از یک قرارداد OpenAPI تولید می‌شوند. پیش از این، ERP در همین مقیاس را برای مجموعهٔ دیگری راهبری کرده‌ام.

پلتفرم SaaS multi-tenant برای مخاطبان پیام‌رسان

در حال توسعه

برای تیم‌هایی که مخاطبشان به‌جای شبکه‌های اجتماعی در پیام‌رسان‌هاست. جداسازی workspace در لایهٔ داده، اشتراک و صورت‌حساب، مدیریت کانال و بات، و یک کنسول اپراتور پشت مجموعه.

اگر یکی از این دو به آنچه در دست دارید نزدیک است، بپرسید؛ بیش از آنچه اینجا نوشته‌ام توضیح می‌دهم.

۰۳پروژه‌ها

سامانه‌هایی که برای دیگران ساخته‌ام

چهار پروژه که ارزش توضیح دارند؛ دو مورد به‌عنوان کارمند و دو مورد به‌صورت مستقل.

۰۱

LeadFi

پرداخت · آمریکا · ۲۰۲۵ تا امروز

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

provider پشت یک interface انتزاعی قرار دارد، بنابراین Stripe و NMI دو پیاده‌سازی از یک مجموعه متد هستند و نه دو مسیر جداگانه در کد. Checkout Session، پرداخت با کارت ذخیره‌شده، tokenization و vaulting، بازگشت وجه، پورتال مشتری و اعتبارسنجی امضای webhook، مستقل از provider فعال، خروجی هم‌شکل می‌دهند. تأیید کارت یک احراز یک‌دلاری است که بلافاصله برگردانده می‌شود. شمارهٔ فاکتور زیر retry تخصیص داده می‌شود، چون توالی آن رقابتی است و دو پرداخت هم‌زمان در غیر این صورت یک شماره برمی‌دارند.

تغییر provider پیش از این به معنای بازنویسی بود. اکنون در حد تغییر پیکربندی است.

Django، DRF، PostgreSQL، Celery، Redis، JWT، Stripe، NMI، Prometheus

۰۲

حامی سیستم شریف

درگاه پرداخت و Core Banking · ایران · ۲۰۲۵ تا ۲۰۲۶

معمار ارشد PayWeb، درگاه پرداختی که اکنون روی payweb.ir در دسترس است، و پس از آن معمار Core Banking. مرزهای microservice و استانداردهای فنی‌ای که تیم بر مبنای آن‌ها توسعه می‌داد را تعریف کردم، و سرویس‌های پرداخت توزیع‌شده‌ای طراحی کردم که هم‌زمان با چند provider در ارتباط‌اند، ذیل الزامات PCI-DSS.

یک محدودیت، شکل بقیهٔ کار را تعیین کرد: تراکنش اجازه دارد کند باشد؛ اجازه ندارد گم شود.

Microservices، Distributed Transaction، High Availability، طراحی منطبق بر PCI-DSS

۰۳

کارفرمایی در اروپا

پلتفرم و یکپارچه‌سازی · اروپا · ۲۰۲۵ تا ۲۰۲۶ · تحت NDA

یک مجموعهٔ کامل سرویس روی ‎.NET، از طراحی تا تحویل: سرویس بات پیام‌رسان مبتنی بر webhook، کلاینت وب توکار روی REST و OpenAPI، API‌های داخلی ادمین، و یکپارچه‌سازی با درگاه‌های رمزارز. همه به‌صورت container، با CI/CD از نخستین commit.

‎ASP.NET Core (.NET 10)‎، EF Core، PostgreSQL، Redis، Docker Compose، GitHub Actions

۰۴

آهن‌آنلاین

ERP و پلتفرم تجاری · ایران · ۲۰۲۰ تا ۲۰۲۵

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

پیش از ERP، سامانهٔ انبار و موجودی آن‌ها را با Nest.js ساختم؛ همان‌جا بود که فهمیدم production واقعاً چه هزینه‌ای دارد.

Domain Modeling، دادهٔ پرحجم، SQL Server، Nest.js، TypeScript، RBAC

۰۴سوابق

کجا کار کرده‌ام

مستقل

بنیان‌گذار، معمار نرم‌افزار، Tech Lead

محصولات خودم، و فهرست کوتاهی از پروژه‌های کارفرمایی. چند مهندس با من همکاری می‌کنند.

۲۰۲۵ تا اکنون
LeadFi logo

LeadFi

مهندس بک‌اند، دورکار (آمریکا)

پرداخت مستقل از provider روی Stripe و NMI برای یک پلتفرم پیش‌ارزیابی سرنخ. Django، PostgreSQL، Celery.

۲۰۲۵ تا اکنون

کارفرمایی در اروپا

مهندس بک‌اند، دورکار (اروپا)

سرویس‌های ASP.NET Core، پلتفرم بات پیام‌رسان، API‌های ادمین، یکپارچه‌سازی با درگاه رمزارز.

۲۰۲۵ تا ۲۰۲۶
حامی سیستم شریف logo

حامی سیستم شریف

توسعه‌دهندهٔ ارشد بک‌اند، معمار ارشد

معماری درگاه پرداخت و سپس Core Banking. مرزهای microservice و استانداردهای تیم.

PayWeb logoPayWebدرگاه پرداختی که معماری‌اش را آنجا انجام دادم. روی payweb.ir در دسترس است.
۲۰۲۵ تا ۲۰۲۶
آهن‌آنلاین logo

آهن‌آنلاین

توسعه‌دهندهٔ ارشد بک‌اند

ERP در مرکز تماس، بازرگانی، حسابداری، تدارکات و فروش. کار روی امنیت و کارایی.

۲۰۲۲ تا ۲۰۲۵
آهن‌آنلاین logo

آهن‌آنلاین

توسعه‌دهندهٔ بک‌اند

سامانهٔ انبار و موجودی با Nest.js؛ API‌های REST و RBAC.

۲۰۲۰ تا ۲۰۲۲

۲۰۱۹ تا ۲۰۲۳کارشناسی مدیریت بازرگانی, دانشگاه جامع علمی کاربردی، تهران

۰۵فناوری‌ها

با چه فناوری‌هایی کار می‌کنم

زبان‌ها

C#، Python، TypeScript، SQL

بک‌اند

‎ASP.NET Core (.NET 10)‎، EF Core، Django، Django REST Framework، Celery، Nest.js

معماری

Clean Architecture، CQRS با MediatR، معماری Event-Driven، مرزهای microservice، Domain و Data Modeling

پرداخت

طراحی درگاه، Stripe، NMI، tokenization و vaulting، پایداری webhook، idempotency، طراحی منطبق بر PCI-DSS، Core Banking

داده

PostgreSQL، SQL Server، Redis، pgvector

اجرا و نگه‌داری

Docker، Docker Compose، GitHub Actions، Prometheus، structured logging، OpenAPI

نقطهٔ قوتم نیست

پژوهش در حوزهٔ یادگیری ماشین. دادیار بر پایهٔ retrieval و راستی‌آزمایی استناد کار می‌کند و مدل زیربنایی آن را خودم آموزش نداده‌ام؛ اگر مسئله‌ای به مدلی نیاز داشته باشد که از ابتدا آموزش ببیند، در حد حدس خواهم بود. توسعهٔ Native برای موبایل هم وضعیت مشابهی دارد. می‌توانم کار را بازبینی کنم، اما نباید مالک آن باشم.

روش کار

شیوهٔ همکاری

هم‌زمان یک یا دو پروژه می‌پذیرم. پروژه‌هایی که در آن‌ها مفید هستم از بیرون شبیه یکدیگرند: یا پول از محصول عبور می‌کند، یا دادهٔ تحت نظارت قانونی در آن نگهداری می‌شود، یا codebase به‌تدریج آن‌قدر پرهزینه شده که تغییر دادنش ریسک دارد و کسی نمی‌داند این وضعیت از کجا شروع شده است.

آنچه تحویل می‌گیرید یک معماری مکتوب است که مهندسان شما می‌توانند دربارهٔ آن بحث کنند. بخش‌هایی را که بیشترین ریسک را دارند خودم می‌نویسم و باقی را همراه با استدلال پشت آن تحویل می‌دهم. چند مهندس که پیش‌تر با هم کار کرده‌ایم، هنگام نیاز پروژه به نیروی بیشتر اضافه می‌شوند. نه شرکتی پشت من است و نه واسطه‌ای در میان.

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

پرسش‌ها

پرسش‌های پرتکرار

با شرکت‌های خارج از ایران کار می‌کنید؟

بله، و هم‌اکنون نیز چنین همکاری‌ای دارم. LeadFi در آمریکاست و کارفرمای پلتفرمی من در سال‌های ۲۰۲۵ تا ۲۰۲۶ در اروپا بود. نحوهٔ تسویه و قرارداد موضوعی است که بهتر است در همان هفتهٔ نخست روشن شود، و این گفت‌وگو را به‌قدر کافی انجام داده‌ام که کوتاه باشد.

«معمار نرم‌افزار» در مورد شما یعنی چه؟

یعنی شکل کلی سامانه بر عهدهٔ من است و همچنان کد بخش‌هایی را که اهمیت دارند خودم می‌نویسم: جریان‌های پرداخت، مدل داده، و هر چیزی که پول یا انطباق قانونی در آن نقش دارد. هیچ‌گاه آن تعریف از این نقش را نخواسته‌ام که در آن، معمار دیگر کد نمی‌نویسد.

ظرفیت همکاری دارید؟

برای یک پروژهٔ دیگر تا پایان امسال بله؛ برای همکاری تمام‌وقت خیر، چون بیشتر هفتهٔ کاری‌ام به دادیار و دو محصول پشت آن اختصاص دارد.

سریع‌ترین راه ارتباط چیست؟

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

۰۶تماس

تماس

بنویسید چه می‌سازید و کجای کار به مشکل خورده است. یک پاراگراف برای شروع کافی است؛ به‌سرعت می‌گویم که فرد مناسبی برای آن هستم یا نه.

ذخیرهٔ اطلاعات تماس

فایل vCard، ۲ کیلوبایت. مستقیم در مخاطبین گوشی باز می‌شود.

زبان دیگر