من زبان کامپیوتر را بلدم.

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

درباره

من شایان‌ام. از هفت‌سالگی برنامه‌نویسی را شروع کردم — اول BASIC روی کمودور ۶۴. بعد ماشین‌کد، و تا دوازده‌سالگی سی‌پلاس‌پلاس روی DOS. هنوز هم دلیل قانع‌کننده‌ای برای کنار گذاشتنش پیدا نکردم.

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

این روزها بیشتر برای وب و موبایل می‌سازم — Next.js و Flutter — و پروژه‌ها را از اولین طرح تا محصول نهایی جلو می‌برم. معمولاً فقط خودم؛ گاهی هم من و طراح یا عکاسی که سال‌هاست با هم کار می‌کنیم.

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

مهارت‌ها

بعد از پانزده سال C و سی‌پلاس‌پلاس، هنوز وب را دوست دارم.

سیستم

C و سی‌پلاس‌پلاس روی ویندوز — درایور کرنل (NDIS)، سرویس‌های سیستمی، هوکینگ، IPC. بیش از یک دهه روی امنیت اندپوینت، در سال‌های آخر به‌عنوان توسعه‌دهنده‌ی ارشد و کسی که پیش از انتشار همه‌چیز را بازبینی می‌کرد. مهندسی معکوس روی x86 و ARM. دو مورد قدیمی‌تر که می‌توانم اسم ببرم: درایور سخت‌افزار خودپرداز، و یک فایل اجرایی که با پروفایلر .NET یک تقویم شمسی را در سراسر رابط SharePoint تزریق می‌کرد.

وب

Next.js و React، PHP و Laravel، .NET Core. PostgreSQL و MySQL. یک پلتفرم B2B با CMS، CRM و کتابخانه‌ی رسانه‌ی اختصاصی خودش ساخته‌ام، و یک فروشگاه راست‌به‌چپ با درگاه پرداخت واقعی — هر دو سرتاسر.

موبایل

Flutter برای اندروید و iOS، و Flame برای بازی. اپ‌های offline-first روی دیتابیس محلی؛ یک بازی idle منتشرشده. macOS نیتیو با Swift وقتی پروژه لازم داشته باشد.

همچنین

سخت‌افزار — اسمبلی ATmega، ESP و PIC. لینوکس و زیرساخت بیلد. شبکه در حد CCNA/CCNP. انگلیسی روان، فارسی زبان مادری، و ژاپنی، فرانسه و عربی در حدی که از پسِ کار بربیایم.

الان بیشتر دلم می‌خواهد با Next.js یا Flutter بسازم.

SDM، یک دانلود‌منیجر macOS با Swift، و c64util برای بیرون کشیدن بازی‌ها از نوارهای کمودور — هر دو روی github.com/ShayanOH.

کارشناسی ریاضی کاربردی، دانشگاه شهید بهشتی. تقدیر ویژه در فینال جهانی ACM ICPC، سال 2006.

کارهای منتخب

پنج تا که می‌توانم درباره‌شان حرف بزنم.

۱ / ۵

Delibon Iran — screen

فروشگاه راست‌به‌چپ + پنل مدیریت · ساخت انفرادی · Next.js

Delibon Iran

تمام سمت فارسیِ برند — یک فروشگاه راست‌به‌چپ و دفتر پشتیبانی‌ای که می‌گرداندش. مشتری یک فرایند پرداخت واقعی دارد، با درگاه‌های پرداخت ایرانی (خرید اقساطی هم هست) پشت یک adapter قابل‌تعویض. تیم یک CMS بلوک‌محور، فهرست مشتری‌ها، دسترسی نقش‌محور، و کنترل‌های خودش را برای ارسال، مالیات و درگاه‌ها دارد. صف کارها به‌جای یک بروکر جدا روی PostgreSQL اجرا می‌شود، و کل مجموعه به‌شکل یک ایمیج Docker روی لیارا منتشر می‌شود — همان استک و همان هاستِ همین سایت. همه‌اش را خودم ساختم، از schema تا deploy.

Next.js · Tailwind v4 RTL · Postgres + Prisma · صف روی Postgres · Docker/Liara — به‌زودی رونمایی

  • Delibon Iran — screen 2
  • Delibon Iran — screen 3
  • Delibon Iran — screen 4
Delibon International — homepage

ویترین B2B · ساخت انفرادی · Next.js

Delibon International

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

Next.js · Turborepo · CMS بلوک‌محور + کتابخانه‌ی رسانه · Vercel — به‌زودی رونمایی

  • Delibon International — screen 2
Karkhooneh / Idle Factory — screen

بازی موبایل · ساخت انفرادی · Flutter + Flame

Karkhooneh / Idle Factory

یک بازی idle درباره‌ی بزرگ‌کردن یک کارخانه: روی یک ماشین بزن تا سریع‌تر کار کند، کارگر استخدام کن که به‌جای تو بگرداندش، و همین‌طور که جا شلوغ‌تر می‌شود در مناطق صنعتیِ ایزومتریک گسترش بده. اولین بازی جدی‌ام — با Flutter و Flame، به فارسی و انگلیسی.

Flutter · Flame · دوزبانه — روی بازار ←

Sakena — app screen

اپ مدیریت ساختمان · ساخت انفرادی · Flutter

Sakena

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

Flutter · Drift (آفلاین) · تقویم شمسی · گزارش PDF — در استفاده‌ی خصوصی

SDM / Shayan's Download Manager — app window

دانلود‌منیجر macOS · ساخت انفرادی · Swift

SDM / Shayan's Download Manager

همان دانلود‌منیجر نیتیو macOS که دنبالش گشتم و پیدا نکردم، برای همین خودم شروع به نوشتنش کردم. انتقال چندبخشی با چند اتصال، ادامه‌ی دانلودی که با کرش یا فورس‌کوییت هم از بین نمی‌رود، و یوتیوب از همان موتوری که بقیه‌ی دانلودها را انجام می‌دهد. کلیپ‌بورد را می‌پاید و هر لینک را برای چیزهایی که کد وضعیت لو نمی‌دهد بررسی می‌کند — یک ‎.mp4‎ که در واقع یک صفحه‌ی خطای ۲ کیلوبایتی است، ریدایرکتی که سر از صفحه‌ی ورود درمی‌آورد — و بعد آنچه پیدا کرده را در بسته‌ها گروه‌بندی می‌کند. با Swift و SwiftUI، هنوز در حال ساخت است، متن‌باز.

Swift · SwiftUI · موتور دانلود چندبخشی · yt-dlp · نوار منو + داک — در حال توسعه روی GitHub ←

رویکرد

پروژه‌ها را از اول تا آخر برمی‌دارم.

اگر چیزی سخت باشد، یا روی چیزی ساخته شده باشد که هنوز کار نکرده‌ام، معمولاً همین دلیلِ «بله» گفتنم بوده. تیم را سرپرستی کرده‌ام، و وقت زیادی صرف خواندن کد دیگران کرده‌ام — از جمله برداشتن پروژه‌هایی که متوقف شده بودند و رساندن‌شان به انتشار.

تماس

چیزی هست که می‌خواهید ساخته شود — یا چیزی که باید نجات پیدا کند؟

سریع‌ترین راه رسیدن به من ShayanOH@me.com است. تهران‌ام، دورکاری می‌کنم، و پروژه را تمام می‌کنم.

ShayanOH@me.com

دانلود رزومه (PDF)