8.0 KiB
8.0 KiB
LocalPro Finder — Спецификация фичей (Reviews, Ratings, Chat)
Анализ конкурентов
TaskRabbit
- Отзывы: Только после завершения задачи, верифицированные покупателем
- Рейтинг: 5-звёздочный с разбивкой по категориям (качество, пунктуальность, коммуникация)
- Чат: Встроенный мессенджер между клиентом и мастером в приложении
- Безопасность: Проверка личности и криминального прошлого мастера
Thumbtack
- Отзывы: Детальные текстовые отзывы с фото работ, верификация через платформу
- Рейтинг: 5-звёздочный + "Top Pro" бейдж для лучших мастеров
- Чат: Встроенный чат до и после найма мастера
HomeAdvisor
- Отзывы: Верифицированные отзывы с подтверждением работы, True Cost Guide
- Рейтинг: 5-звёздочный + лицензия/страховка мастера
- Чат: Через платформу, без показа личных контактов до найма
Профи.ру (RU)
- Отзывы: Только после работы, проверка каждого отзыва, "Пять с плюсом" бейдж
- Рейтинг: 5-звёздочный + количество отзывов влияет на позицию в выдаче
- Чат: Мастера пишут сами клиенту, чат внутри платформы
Фича 1: Система отзывов и рейтингов
Модель данных
Review:
id: uuid
master_id: uuid
client_id: uuid
project_id: uuid (обязательно для верификации)
rating: int(1-5)
categories:
quality: int(1-5)
punctuality: int(1-5)
communication: int(1-5)
professionalism: int(1-5)
text: string(max 2000)
photos: array[media_url] (до 5 фото работ)
verified: bool (только после завершения проекта)
helpful_votes: int
created_at: datetime
updated_at: datetime
Правила
- Отзыв можно оставить только после завершённого проекта
- Каждый отзыв проходит модерацию (AI + ручная проверка для подозрительных)
- Мастер может ответить на отзыв в течение 7 дней
- Клиент может отредактировать отзыв в течение 48 часов
- Отзывы с фото получают приоритет в выдаче
Расчёт рейтинга мастера
rating = (reviews.aggregate(rating) * 0.6 +
reviews.aggregate(quality) * 0.25 +
reviews.count() * 0.15)
# Минимум 3 отзыва для отображения рейтинга
Бейджи и уровни
- ⭐ "Новичок" — < 10 отзывов
- ⭐⭐ "Надёжный" — 10+ отзывов, рейтинг > 4.5
- ⭐⭐⭐ "Профи" — 50+ отзывов, рейтинг > 4.7
- 🏆 "Мастер года" — топ-3 в категории по отзывам
Фича 2: Встроенный чат
Архитектура
ChatMessage:
id: uuid
chat_id: uuid (project-based)
sender_id: uuid
content_type: enum[text, image, file, voice]
content: string/blob
reply_to: uuid (reply to message)
read_at: datetime
created_at: datetime
Chat:
id: uuid
project_id: uuid
master_id: uuid
client_id: uuid
status: enum[active, completed, archived]
last_message_at: datetime
Функционал
- Текстовые сообщения — мгновенная доставка (WebSocket)
- Голосовые сообщения — до 2 минут, конвертация в текст для поиска
- Фото работ — мастер может присылать фото процесса/результата
- Файлы — договоры, сметы, документы
- Ответ на сообщение (reply)
- Статус прочтения (двойные галочки)
- Поиск по чату — по ключевым словам
Правила безопасности
- Контакты мастеров скрыты до начала проекта
- Чат ведётся только в рамках активного проекта
- История сохраняется 2 года после завершения
- Модерация на предмет оскорблений и спама
Фича 3: AI-оценка стоимости (до выезда)
Модель
PriceEstimate:
project_id: uuid
category: string
location: geo
complexity: enum[simple, medium, complex]
estimated_cost_min: decimal
estimated_cost_max: decimal
confidence: float(0-1)
factors:
- {name: "area", value: sqm}
- {name: "materials_needed": bool}
- {name: "urgency": enum[standard, rush]}
Источники данных для обучения
- Исторические цены по категориям и регионам
- Средние чеки конкурентов (TaskRabbit, Профи.ру)
- Региональные коэффициенты стоимости работ
- Сезонность спроса
Фича 4: Онлайн-диагностика проблемы
Flow
- Клиент описывает проблему (текст + фото)
- AI анализирует и задаёт уточняющие вопросы
- Мастер получает диагностику перед выездом
- Мастер подтверждает/корректирует оценку
Пример
Клиент: "Потёк кран на кухне, капает"
AI → Вопросы: "Какой тип крана? (однорычажный / с двумя ручками)"
Мастер → "Выезжаю, замена картриджа ~1500₽"
Фича 5: Подписка на обслуживание дома
Тарифы
| Пакет | Цена/мес | Включено |
|---|---|---|
| Базовый | 990₽ | 1 выезд/мес, скидка 10% на доп. работы |
| Стандарт | 2490₽ | 3 выезда/мес, приоритетный вызов, скидка 20% |
| Премиум | 4990₽ | Безлимитные выезды, мастер в резерве, скидка 30% |
Преимущества подписки
- Фиксированная цена на типовые работы
- Приоритетный выезд (в течение 2 часов)
- Персональный менеджер
- Бесплатная диагностика
Технический стек для реализации
Backend
- Язык: Python (FastAPI) / Node.js (NestJS)
- База данных: PostgreSQL + Redis (кэш рейтингов)
- Чат: WebSocket (Socket.IO / Pusher)
- Хранилище медиа: S3-compatible (MinIO)
Frontend
- Mobile-first: React Native / Flutter
- Web: Next.js (SSR для SEO)
AI/ML
- Оценка стоимости: XGBoost + исторические данные
- Диагностика: Fine-tuned LLM (Qwen 7B или аналог)
- Модерация отзывов: BERT classifier
Приоритеты разработки
- MVP (2 недели): Чат + базовые отзывы
- V1 (4 недели): Рейтинги + AI-оценка стоимости
- V2 (6 недель): Онлайн-диагностика + подписки
- V3 (8 недель): Бейджи, модерация, аналитика