تصور کنید یک اپلیکیشن به شما میگوید امتیاز رطوبت پوستتان ۶۰ است، اما هیچ ایدهای ندارید که این عدد در دنیای واقعی چه معنایی دارد و چه تغییری در روتین شبانهتان ایجاد کند. Skinova دقیقاً برای حل همین گسست طراحی شده است تا یک سلفی ساده را به نقشهی راهی برای سلامت پوست تبدیل کند. این پلتفرم به عنوان بخشی از هکاتون YouCam API Skin AI & Apparel VTO راهاندازی شد تا دادههای خام را به روتینهای عملیاتی تبدیل کند.
بسیاری از ابزارهای فعلی تحلیل پوست مانند اسکنرهای ایزوله عمل میکنند؛ یعنی مشکل را شناسایی کرده و همانجا متوقف میشوند. در حالی که کاربران با انبوهی از معیارهای فنی بمباران شدهاند، اما فاقد یک برنامهی منسجم برای بهبود وضعیت پوست خود هستند. Skinova با تعریف خود به عنوان یک همراه آموزشی — و نه یک ابزار تشخیص پزشکی — سعی میکند شکاف بین جمعآوری داده و شکلگیری عادتهای روزانه را پر کند. هدف این است که یک سلفی ساده به بینشهای قابل فهم، راهنماییهای کاربردی و دلیلی برای بازگشت کاربر به اپلیکیشن تبدیل شود.
به نقل از مستندات پروژه، این پلتفرم برای ایجاد یک پروفایل جامع از کاربر، پنج API مختلف شرکت YouCam را با هم ترکیب میکند. فرآیند با AI Skin Analysis (تحلیل پوست با هوش مصنوعی) آغاز میشود که به عنوان جریان کاری اصلی اسکن برای ارزیابی آکنه، منافذ، بافت، قرمزی، چربی، رطوبت و چینوچروک عمل میکند. این رویکرد در تحلیل دقیق جزئیات پوست، تفاوت چشمگیری با مدلهای تولید تصویر دارد؛ برای مثال، برخی استودیوهای پرتره AI برای دستیابی به واقعگرایی بیشتر، فیلترهای نرمکننده پوست را حذف کردهاند تا بافت طبیعی چهره حفظ شود.
پس از اسکن اولیه، سیستم لایهی شخصیسازی را با ابزارهای زیر فعال میکند:
- Fitzpatrick Scale Analyzer: تعیین نوع پوست برای ارائهی توصیههای محصولی متناسب و شخصیسازی نتایج در صفحهی نهایی.
- Skin Tone Analysis: تحلیل دقیق رنگ پوست برای ارائهی زمینهی رنگی مشخص در صفحهی نتایج.
- Face Analyzer: استخراج فرم صورت، سن و ویژگیهای چهره برای غنیسازی پروفایل کاربر.
- AI Skin Simulation: تولید پیشنمایشهای «قبل و بعد» در صفحهی پیشرفت برای تجسم مسیرهای احتمالی بهبود.

تیم توسعه برای تضمین امنیت و عملکرد، اپلیکیشن را با Next.js 15، TypeScript، React 19 و Tailwind CSS ساخته است. یک تصمیم معماری حیاتی، نگه داشتن تمام کلیدهای API در سمت سرور بود. کلاینت تنها با مسیرهای API داخلی Skinova (مانند POST /api/skinova/scan و GET /api/skinova/scan-status/[taskId]) ارتباط برقرار میکند تا از دسترسی مرورگر به اعتبارنامههای حساس جلوگیری شود.
برای ذخیرهسازی دادهها از Neon Postgres استفاده شده است که حسابهای کاربری، تاریخچهی اسکنها، روتینها، حافظهی مربی و نتایج شبیهسازی را نگه میدارد. این ساختار به کاربر اجازه میدهد «دلتای روند» یا همان تغییرات تدریجی پوست خود را در طول هفتهها و ماهها مشاهده کند، به جای آنکه تنها به یک عکس لحظهای تکیه کند. معماری اپلیکیشن به دو لایهی عمومی (صفحه فرود، ثبتنام، ورود) و لایهی احراز هویت شده (داشبورد، اسکن، نتایج، روتین، مربی و پیشرفت) تقسیم شده است.
بر اساس بررسی فنی سیستم، برای تبدیل یک فراخوانی API ساده به یک محصول مصرفی، خط لولهی دقیقی پیاده شده است:
- آپلودهای امن: سیستم درخواستهای متادیتای فایل و آپلودهای پیشامضا شده (Presigned Uploads) را مدیریت میکند تا تصاویر با امنیت کامل جابجا شوند.
- پردازش ناهمگام (Asynchronous): از آنجایی که تحلیل پوست آنی نیست، اپلیکیشن از سیستم ایجاد تسک و بررسی وضعیت (Polling) تا زمان تکمیل تحلیل استفاده میکند.
- نگاشت خطاها: مشکلات رایج تصویری، مانند کوچک بودن چهره یا نور نامناسب، به پیامهای راهنمای عملیاتی برای کاربر ترجمه میشوند.
- مرز احراز هویت: کاربران از طریق یک دیوار امنیتی با نام، ایمیل و رمز عبور وارد میشوند. رمزها توسط bcrypt هش شده و نشستها به صورت کوکیهای JWT HTTP-only (jose) ذخیره میشوند.
- محدودیت نرخ (Rate Limiting): برای محافظت از منابع، محدودیتهای تعداد درخواست برای هر کاربر در مسیرهای اسکن، شبیهسازی، مربی و روتین اعمال شده است.
بزرگترین چالش تیم، نبود ارزش کاربردی در مقادیر خام ui_score بود. برای حل این مشکل، آنها یک لایهی نرمالسازی ایجاد کردند که خروجیهای فنی را به «کارتهای دغدغه» و توضیحات به زبان ساده تبدیل میکند که برای افراد غیرمتخصص قابل درک باشد. این لایه، دادههای خشک را به اولویتهای مراقبتی و منطق روتین تبدیل میکند.
از آنجایی که تحلیل پوست زمانبر است، تیم یک جریان کاری ناهمگام توسعه داد. کاربران از یک استپر (Stepper) شش مرحلهای عبور میکنند که درخواستهای متادیتای فایل، آپلودهای پیشامضا شده و نظارت بر تسک را مدیریت میکند. این امر باعث میشود اپلیکیشن به جای یک دموی ساده از API، شبیه به یک محصول مصرفی صیقلخورده به نظر برسد. برای تضمین ثبات، مقادیر preview_image_url و sample_id در Neon ذخیره شدند تا ماسکهای دغدغه در دستگاهها و نشستهای مختلف با عکس اصلی همراستا بمانند.
سفر کاربر در Skinova در یک حلقهی چهارمرحلهای سازماندهی شده است: تحلیل $ \rightarrow $ درک $ \rightarrow $ تصمیم $ \rightarrow $ بهبود.
۱. تحلیل: کاربر سلفی خود را آپلود میکند یا یکی از نمونههای آماده YouCam playground را انتخاب میکند.
۲. درک: امتیازات فنی به نوع پوست فیتزپاتریک، زمینهی رنگ پوست و ماسکهای تشخیص دغدغه تبدیل میشوند.
۳. تصمیم: اپلیکیشن روتینهای صبح و شب شخصیسازیشده تولید میکند (تولید شده توسط AI و ذخیره شده در Neon).
۴. بهبود: کاربر تاریخچهی اسکنها را دنبال کرده و با شبیهساز پوست، پیشرفت احتمالی را میبیند.
این مراحل توسط یک «مربی پوست» تکمیل میشود؛ یک بات آموزشی که توسط مدل زبانی بزرگ (LLM) — مدل Qwen و تکنیک تولید بازیابیافزا (RAG) — قدرت گرفته است. این ساختار تضمین میکند که پاسخها بر اساس دادههای واقعی اسکن کاربر و دانش منتخب باشد، نه توصیههای کلی. برای حفظ ایمنی و انطباق با قوانین، توسعهدهندگان صراحتاً از به کار بردن زبان «تشخیص پزشکی» پرهیز کردهاند. پلتفرم به عنوان یک ابزار آموزش مراقبت از پوست تعریف شده است تا ادعاهای درمانی نکند یا جایگزین توصیههای پزشکی حرفهای نشود.
از دیدگاه تحلیلی، Skinova نشاندهندهی تغییری در نگاه ما به «پوشکهای AI» (AI Wrappers) است. بسیاری از پروژههای هکاتون صرفاً یک API را فراخوانی کرده و نتیجه را نمایش میدهند، اما ارزش Skinova در لایهی تفسیر آن است. با تبدیل یک امتیاز به یک روتین و یک روتین به یک تاریخچهی قابل ردیابی، این ابزار یک کاربرد لحظهای را به یک سرویس بلندمدت تبدیل میکند. رابط کاربری با زیباییشناسی تیره (Dark Aesthetic) و رنگهای سایان و زمردی طراحی شده تا حس یک محصول تجاری واقعی را منتقل کند.
برای کاربر عادی، این یعنی هوش مصنوعی دیگر فقط آینهای نیست که نقصها را منعکس کند، بلکه مربیای است که مسیر بهبود را نشان میدهد. ادغام مربی مبتنی بر RAG تضمین میکند که AI توصیههای کلی ندهد، بلکه به رنگ پوست واقعی و ماسکهای دغدغهی کاربر ارجاع دهد. تیم موفق شد دستور «پوست من را تحلیل کن» را به سفری تبدیل کند که شامل «درک $ \rightarrow $ دانستن اینکه چه باید کرد $ \rightarrow $ ردیابی تغییرات $ \rightarrow $ پیشنمایش بهبود» است.
نقشه راه آینده توسعهدهندگان شامل تبدیل پلتفرم به یک سیستم هوشمند عمیقتر است. بهروزرسانیهای آتی ممکن است شامل موارد زیر باشد:
- تاریخچهی بلندمدت: تحلیل روندهای غنیتر بر اساس اسکنهای متعدد در طول چندین ماه.
- تکامل روتین: تنظیم روتینهای شخصیسازیشده بر اساس اسکنهای مکرر و سیگنالهای پایبندی کاربر.
- ردیابی پایبندی: درک اینکه آیا کاربران به طور مداوم روتینهای پیشنهادی را دنبال میکنند یا خیر.
- مربیگری پیشرفته: شخصیسازی قویتر و کنترلهای ایمنی بیشتر برای مربی پوست.
- یکپارچگی با محصولات: توصیههای آگاه از محصول که به دغدغههای خاص پوستی متصل هستند.
- کنترلهای حریم خصوصی: کنترلهای پیشرفتهتر برای کاربران جهت مدیریت و حذف دادههای تحلیل پوست.
- تجربهی موبایلمحور: بهینهسازی رابط کاربری برای تسهیل اسکنهای منظم پوست توسط کاربر.
اگر میخواهید ببینید چگونه هوش مصنوعی میتواند از داده به عمل تبدیل شود، میتوانید نسخه فعال را در skinova-ai.vercel.app تست کنید یا معماری کامل سیستم و مخزن آن را در GitHub بررسی نمایید.
گام بعدی شما
- اگر به دنبال پیادهسازی لایهی تفسیر داده روی APIهای آماده هستید، معماری تفکیکشدهی Skinova در GitHub را بررسی کنید.
- برای تجربه تبدیل دادههای خام به روتین، نسخه دمو را در skinova-ai.vercel.app تست کنید.
- در طراحی محصولات AI، به جای نمایش عدد، روی ایجاد «کارتهای دغدغه» (Concern Cards) تمرکز کنید.
اما داستان سختافزاری پشت تحلیلهای تصویری در مقیاس بالا حتی پیچیدهتر است — به تحلیل ما دربارهی بهینهسازی استنتاج در مدلهای بینایی مراجعه کنید.




گفتگو