برای تیم ترب · چالش AI Product Engineer
«ترب ... رو بساز»
ترب خانه.
مستأجر تهرانی هر شب دهها آگهی را اسکرول میکند که نصفشان تکراری، طعمه یا غیرقابل مقایسهاند. ترب خانه همان کاری را با خانه میکند که ترب با قیمت کالا:
جمعآوری، نرمالسازی، ادغام، رتبهبندی بر اساس نیت کاربر، و توضیح.
مسئلههایی که پشت یک جستوجو حل میشوند
ویدیوی دمو · ۳:۵۲ دقیقه
مسئله، محصول و تصمیمها در ۴ دقیقه
تور محصول
از یک جمله تا یک تصمیم
یک جملهی فارسی به چیپهای قابلحذف تبدیل میشود؛ نتایج با دلیلِ رتبه، برچسب قیمت نسبت به محله و پین روی نقشه.

دادهی واقعی دیوار، crawl شده در ۱ مهر ۱۴۰۵
دادهها به زبان عدد
خانهی یکتا، از ۷۱۸ آگهی قابلتحلیل
۶۹۸
۲۰
محلهی تهران
۱۴۱
ایستگاه مترو (Wikidata)
عکسها مال همین خانه نیست
به گفتهی خود آگهیدهنده. روی کارتها برچسب «عکس نمونه» میخورند و در رتبهبندی اعتماد کمتری میگیرند.
آگهی تکراری، ادغامشده
۳۹ آگهی ← ۱۹ خانه، مثل فروشندهها در ترب
آگهی از مشاور املاک
۵۳٪
نردبانشده (پولی بالا آمده)
۵۰٪
از آگهی خام تا جواب
پایپلاین داده
یک بار و محلی اجرا میشود، نه در مرورگر. خروجیاش JSONی است که این دمو از آن میخواند.
- ۱
Crawl
جمعآوری
API عمومی دیوار، فقط مسیرهای مجاز robots.txt، هر ۲ ثانیه یک درخواست. ۷۳۹ آگهی از ۲۰ محله؛ بخش «تماس» هرگز خوانده نشد.
۲۰ محله۷۳۹ آگهی
- ۲
Normalize
نرمالسازی
عدد از متن آزاد، طبقه از «۳ از ۵»، سال تقریبی از «قبل از ۱۳۷۰»، و امکانات از توضیحات. تلفن و آیدی حذف میشود.
«دو» خوابrooms: 2
- ۳
Dedupe
ادغام تکراریها
هممحله، متراژ ±۲، خواب و طبقهی یکسان، بهعلاوهی عکس مشترک یا متن بیش از ۵۵٪ شبیه؛ با union-find یک «خانه» میشوند.
۳ آگهی۱ خانه
- ۴
Enrich
غنیسازی
اجارهی معادل (رهن × ۳٪)، میانهی هر متر محله، نزدیکترین مترو، برچسبهای اعتماد و خلاصهی قاعدهمحور.
۱ میلیارد رهن۳۰ میلیون/ماه
یک نمونهی واقعی
۳ آگهی، یک خانه
«120 متر یوسف اباد رهن و اجاره»
شخصیودیعه ۲٫۸ میلیارد · اجاره ۶۳ میلیون
«120 متر 2 خواب فول مدبر»
مشاورودیعه ۲٫۸ میلیارد · اجاره ۶۳ میلیون
«120 متر 2 خوابه 4 ساله»
مشاورودیعه ۴٫۹۵ میلیارد · اجاره رایگان
home · normalized
rooms · area2 · 120m²
floor4 / 6
equivRent147,000,000 T/mo
vsAreaMedian8%
nearestMetro1690 m
listings3
بدون جعبهی سیاه
رتبهبندی شفاف
نیت کاربر با یک پارسر قاعدهمحور فارسی (سریع، قطعی و قابل توضیح) از جمله استخراج میشود و به چیپهای قابلحذف تبدیل میشود. هر نتیجه با شش معیار وزندار امتیاز میگیرد و روی کارتش میگوید چرا اینجاست. بخشی از جمله که فهمیده نشود، صادقانه نشان داده میشود.
چطور ساخته شد
دادهی کثیف،
جواب روشن.
نقش AI
ساختهشده با Claude Code: تحقیق، طراحی پایپلاین، کد و تست؛ Playwright و Claude in Chrome برای بررسی UI. در محصول کلید API در فرانت نیست و غنیسازی هنگام جمعآوری انجام میشود.
اخلاق داده
حجم کم و یکباره، نرخ محترمانه، بدون دادهی تماس، عکسها hotlink با انتساب، و noindex. مالکیت آگهیها با منبع است.
آمادهی بکاند
لایهی سرویس با شکل API واقعی و تأخیر ماک؛ میشود JSON را با API عوض کرد بیآنکه UI تغییر کند.
محدودیتها
- فقط یک منبع (دیوار). کیلید در دسترس crawl نبود؛ ادغام فعلاً درونمنبعی است.
- فاصله تا مترو خط مستقیم است، نه مسیر پیاده.
- دادهی یک لحظه است، نه یک سری زمانی.
- پرسوناها فرضیهی مبتنی بر شواهدند و باید با مصاحبه اعتبارسنجی شوند.
قدم بعد
- ۱crawl دورهای و تاریخچهی قیمت هر خانه
- ۲هشدار «قیمت این خانه پایین آمد»
- ۳منبع دوم و ادغام بینمنبعی
- ۴مسیر پیاده تا مترو بهجای خط مستقیم
- ۵۵ مصاحبه با مستأجرها و بهروزرسانی پرسوناها

سازنده
کیانا نبیپور
Frontend Developer / AI Product Engineer
بیش از سه سال است محصول را از ایده تا production میبرم: کشف مسئله، طراحی UX، معماری فرانت، API و انتشار. در کلاسه، Product Engineer یک پلتفرم دانش بینالمللی مبتنی بر AI به نام Uryva هستم، و فیچرهای AI برای تیم فروش و یک دنیای سهبعدی آموزشی برای دانشآموزان هم ساختهام. کارم AI-native است؛ همین دمو هم از تحقیق تا دیپلوی با Claude Code ساخته شد.
- از ایده تا production
- ۳+ سال
- از ایده تا production
- ریلیز روی یک محصول
- ۵۴۰+
- ریلیز روی یک محصول
- محصول همزمان در production
- ۴
- محصول همزمان در production
- زبان، از جمله راستبهچپ
- ۱۲
- زبان، از جمله راستبهچپ