QA Fest — конференция №1 по тестированию и автоматизации. Финальная программа уже на сайте >>
×Закрыть

DOU Проектор: ReSell — безпечна купівля та продаж вживаної електроніки

В рубрике DOU Проектор все желающие могут презентовать свой продукт (как стартап, так и ламповый pet-проект). Если вам есть о чем рассказать — приглашаем поучаствовать. Если нет — возможно, серия вдохновит на создание собственного made in Ukraine продукта. Вопросы и заявки на участие присылайте на editors@dou.ua.

Привіт! Мене звуть Федір Симоненко, я co-founder проекту ReSell — маркетплейсу для простої і безпечної купівлі/продажу майже нової електроніки. З його допомогою ви можете оцінити свій старий девайс та продати його без будь-яких ризиків, а також купити майже новий пристрій з гарантією якості. Перед тим як присвятити себе цьому проекту, я встиг попрацювати розробником баз даних, а також займався автоматизацією бізнес-процесів та пошуком і інтеграцією ІТ-рішень у великій FMCG-компанії.

Ідея

Одного разу я вирішив продати декілька пристроїв, які не використовувалися та просто валялися у шафі. Це були смартфони Apple і HTC та електронна книга LBook. Виявилось, що не надто легко оцінити свій не новий пристрій, а також існує великий ризик залишитися і без гаджету, і без грошей, натрапивши на шахраїв.

Після цього і з’явилася ідея створити сервіс, який допоможе вирішити усі питання, пов’язані з оцінкою, можливим ремонтом, технічною перевіркою вживаних пристроїв. Крім того, мені дуже подобалися принципи безпечних покупок на міжнародних майданчиках, таких як AliExpress. Тому я вирішив, що для уникнення шахрайства необхідно звести до мінімуму готівкові розрахунки. Погугливши, я знайшов декілька нішевих маркетплейсів у США, таких як swappa.com і glyde.com. Далі я знайшов партнера, який мав досвід запуску стартапів.

Зліва — директор з маркетингу Максим Байталюк, справа — Федір Симоненко

Реалізація і створення MVP

Після опрацювання бізнес-логіки маркетплейсу стало зрозуміло, що власними силами цей проект ми з партнером не реалізуємо. Вирішили створити першу версію продукту за власні кошти. З самого початку у команді були ми з партнером і дизайнер. Оскільки прив’язки до конкретної технології у нас не було, у мене була можливість обрати будь-який фреймворк/мову програмування для реалізації задачі.

Ми визначили такі критерії для вибору фреймворку:

  • швидкість і вартість розробки;
  • можливість масштабування і кастомізації проекту;
  • кількість розробників на ринку і вартість доробок;
  • кількість open source модулів / підтримка спільноти.

Після аналізу існуючих рішень я відразу відкинув шаблонні рішення типу Wordpress, оскільки вони слабо кастомізуються. В результаті я обирав між Ruby-on-Rails і Python-Django. На користь Python зіграла більша кількість розробників і низький поріг для входу нових спеціалістів (а отже, рейти не повинні швидко зростати). Django ж підкупив величезною спільнотою, автоматичною генерацією адмінки, а також ростом популярності останнім часом серед eCommerce-проектів.

Фінальна таблиця для вибору фреймворка виглядала так:

Після цього ми провели низку зустрічей/скайп-колів з компаніями і фрілансерами, які могли б реалізувати MVP-версію. В результаті трохи більше аніж через півроку перша версія продукту являла собою написаний фрілансерами монолітний web-застосунок на Django (Python 2.7) з адаптивною версткою.

Як працює маркетплейс

Основний акцент ми вирішили зробити на можливості оцінити свій пристрій, просто вибравши його зі списку і вказавши його стан і основні параметри. Перша версія анкети для продажу смартфону виглядала так:

В подальшому реалізували мобільну версію і дещо спростили анкету:

Ми вирішили відразу створити ієрархічний каталог для того, щоб можна було точніше оцінити девайс користувача, а також для зручної фільтрації оголошень.

Однією з базових послуг для безпеки користувачів ми вбачали фінансову безпеку, тому одними з перших в Україні почали реалізовувати рішення для утримування коштів покупця до моменту отримання ним якісного товару. Весь процес ми зробили максимально автоматизованим, аналогічно AliExpress.

Також створили послугу «Технічна перевірка і гарантія». Ця послуга передбачає огляд пристрою сервісним центром перед купівлею і отримання гарантії його роботи за невелику доплату. Оскільки ця послуга вимагала довіри до бренду з боку користувачів, якої ми спочатку не мали, ми модифікували послугу технічної перевірки, почавши перевіряти професійних продавців перед розміщенням оголошень на порталі. Для цього наші спеціалісти приїжджали в магазин продавця, оглядали наявні пристрої, фотографували їх і розміщували оголошення на порталі.

Після надходження замовлення, продавцю необхідно було відправити товар перевізником з опцією післяоплати. У разі відсутності зауважень від клієнтів щодо якості, такий продавець отримував можливість самостійно розміщувати оголошення на порталі, але в будь-який момент ми могли провести перевірку його роботи. Як показала практика, продавці дуже піклувалися про свій статус «Перевірений продавець», і в результаті зауваження по невідповідності товару практично не надходили.

Ще ми вирішили створити рейтинг б/в пристороїв, адже на сьогоднішній день є багато інформації про те, як обрати новий телефон або ноутбук. А як веде себе цей самий девайс через декілька років, нікому не відомо.

Цей продукт допоміг протестувати ідею і залучити перші інвестиції на акселераторі Intecracy.Ventures.

Зміна архітектури і реліз

Разом з тим ми розуміли, що без нормальної мобільної версії сайту і гнучкої архітектури проекту ми не зможемо швидко розвиватися. Тому використали Django REST для створення web API з мікросервісною архітектурою і паралельно переписали проект на Python 3.6. Також ми використали Celery для обробки асинхронних задач. Клієнтську частину вирішили писати на React JS + Redux.

База даних: PostgreSQL (вона й була з самого початку). Всі сервіси розгорнуті в Docker-контейнерах, хостимося на DigitalOcean, в якості CI використовуємо Jenkins. Сам проект має структуру SPA з рендерингом на клієнтській частині (CSR). Деякі сторінки (лендінги) ми рендеримо на сервері через Django-templates, а для створення блогу інтегрували сервіс ghost.org.

Після отримання перших інвестицій, ми почали збирати команду для full-time роботи над проектом. Окрім програмістів, для розвитку і підтримки проекту було створено відділ маркетингу і реклами та службу підтримки клієнтів. Цей процес зайняв декілька місяців. В результаті наша команда розробки складається з бізнес-аналітика, UX-UI дизайнера, трьох бекенд-розробників Python, двох фронтенд-розробників React JS і тестувальника.

Команда ReSell

Фейли

Однією з найбільш трудоємних і складних задач стали інтеграція з платіжними і логістичними системами. Виявилося, що майже всі існуючі в країні торговельні майданчики дають можливість автоматичного створення накладних на товар тільки напряму від продавця покупцю. Ми ж хотіли контролювати увесь процес руху замовлень і коштів, і при цьому дати можливість покупцю оплатити усе замовлення одним платежем, включаючи послуги доставки. На наш подив, навіть лідери серед служб доставки не мали прозорої документації API для маркетплейсів з подібним флоу. Тому реалізація такого функціоналу виявилась не тривіальною інтеграцією і зайняла набагато більше часу, ніж ми планували. Як показав час, можна було б на старті взагалі обійтися і без цього, оскільки клієнти не надто горіли бажанням платити карткою на незнайомому сайті. Через це нам довелося дещо змінити бізнес-модель і адаптуватися під потреби ринку.

CSR (client side rendering). Для будь-якого комерційного проекту ключовим завданням є зниження вартості залучення клієнта (CAC), а це можливо тільки за умови постійного зростання органічного трафіку з пошукових систем. Хоча Google і заявляє, що його боти вже давно читають JavaScript і можуть індексувати SPA-сайти, на практиці все проходить не так гладко. Ми були змушені достатньо поморочитися для того, щоб добитися коректної індексації наших ключових сторінок. Була ідея навіть використати Next JS, але відмовилися від неї через брак часу. В результаті нам вдалося прибрати більшість перепон на шляху краулера, але все ще залишається багато завдань з оптимізації.

Результат і плани на майбутнє

З моменту початку роботи над проектом пройшло більше ніж півтора року для створення MVP і залучення інвестицій. Потім ще більше ніж півроку для формування команди і запуску. Зміна архітектури, формування команди з нуля, а також інтеграція з платіжними і логістичними системами дещо посунули наші плани релізу, внаслідок чого ми запустилися в середині 2018 року, а активні рекламні кампанії запустили у серпні — вересні того ж року. Після тестового запуску і наповнення майданчика реальними оголошеннями ми вирішили сконцентруватися на зниженні вартості залучення клієнта, оптимізації продукту, збільшенні кількості замовлень і якості їх обробки.

Основною ж відмінністю від конкурентів ми, як і раніше, вбачаємо перевірку коректної роботи пристроїв і безпечність покупок. Однак, за відсутності довіри до нового бренду, модель передплати карткою не дозволяла нам швидко розвиватися. Тому ми дещо змінили концепт і почали перевіряти продавців, які мали конкурентні ціни і не боялися пройти аудит і відправити пристрій покупцю без передплати (аналогічно Amazon Prime). На даний момент наші перевірені продавці знаходяться в Києві, але ми плануємо масштабувати послугу перевірки продавців й у інші регіони.

В результаті, майже за 4 місяці активної роботи наш сайт відвідало більше 350 000 унікальних користувачів, зареєструвались в системі близько 6 000 відвідувачів. Усього через майданчик ми отримали близько 1 000 замовлень. А кількість замовлень від наших перевірених продавців зростає в 2 рази кожного місяця, що свідчить про актуальність даної послуги на ринку.

Зараз ми працюємо над оптимізацією вартості залучення клієнтів, але розуміємо, що для отримання органічного трафіку ще потрібен час. Також наш проект шукає додаткові інвестиції для досягнення намічених цілей. Найближчим часом ми плануємо створити створити повноцінну десктоп-версію сайту, мобільні застосунки, розширити каталог електроніки, додати кілька мов інтерфейсу і протестувати низку гіпотез щодо додаткових сервісів. Зараз ми розвиваємо проект в Україні, але плануємо виходити на ринки Східної Європи у найближчому майбутньому.

Ми бачимо, що локальний ринок вживаної електроніки все ще залишається дуже неорганізованим, тому наша місія — зробити покупку б/в електроніки такою простою і безпечною, як і купівлю нових!

LinkedIn

25 комментариев

Подписаться на комментарииОтписаться от комментариев Комментарии могут оставлять только пользователи с подтвержденными аккаунтами.

Упущено головне — як наганяли трафік? де і як шукали цільового користувача?

Основне джерело трафіку платна реклама з пошукових і соціальних мереж. Також кожного місяця зростає доля органічного(безкоштовного) трафіку, саме для цього ми створили експертний блог з унікальним контентом resell.com.ua/blog

А можна детальніше про SPA i SEO ? Які саме підводні камені? Хіба не вирішує react-router i Helmet ці питання? Чому не SSR для пошукових ботів? Спасибі.

Зекономили на початковому SEO. SSR — маст хев.

без SSR взагалі ніяк? гугл ж вроді парсить, просто не миттєво?

З нашої практики — краулер заходить по url і індексує сторінку тільки після того, як цей url відвідають більше Х користувачів (в нашому випадку близько 1000). Ще одна проблема — він чекає близько 5 секунд, і якщо не отримує готову html-сторінку, то йде геть. А за цей час далеко не завжди можна виконати усі запити на API, отримати відповідь і відрендерити контент.
В процесі нам довелось частину контенту віддавати зразу, а частину завантажувати в процесі пролистування сторінки юзером.
В React 16.6 вже є лейзі-лоадінг «під капотом».
Також гуглу потрібні 404 помилки з серверу, а не з клієнта, бо в такому випадку він думає, що цей url існує і з радістю індексує неіснуючу сторінку з написом 404.

При SSR більшість таких проблем відпадає автоматично...

Тут можна почитати детальніше
medium.com/...​seo-friendly-be2c827f1c38
medium.com/...​ch-as-google-afb11dff8562

не заходить при відвідуваності менше 1000 юзерів навіть якщо додати сторінку в сайтмап?
>

В React 16.6 вже є лейзі-лоадінг «під капотом».

а гугл бот підтримує цю версію андроїд? Я чув що в нього там старіша версія хрома?

А чому ви з самого початку SSR не налаштували?

Зараз всі функціональні сторінки з динамічним контентом рендеряться на клієнті (CSR), за виключенням лендінгів і статичних сторінок, які рендеряться на сервері.

В сайтмап додали всі сторінки, але це не підвищило активність бота

Де українська мова?

Плануємо додати найближчим часом

1. Тайпаю у пошуку на головній xia — пропонує Xiaomi Mi 4s. Вибираю і тисну «ентер»: resell.com.ua/...​phone?device=xiaomi-mi-4s -не знайдено. Чому тоді пропонує тільки це не ясно.
2. Вибираю у фільтрі «другие», тисну «еще»: показує тоді не інші, а всі...
Фільтру за характеристиками для покупки не знайшов... Як цим взагалі можна користуватися?
UPD
Фільтр знайшов, але там з характеристик тільки «пам’ять» і колір. дуже користно...

Дякую, пошук фіксимо.
Набір фільтрів маємо можливість розширити (є в базі даних), вирішили поки не показати основні

Вроде интересный сервис, но когда вылетает такое «Хочешь знать, как купить телефон дешевле?Подпишись на нашу рассылку!» и не работает крестик для закрытия — становится грустно)

Спасибо за фидбэк.
Да, до идеала нам еще далеко, но мы стараемся :)

лох.уа чим не вгодив для продажу беушки?

EVO запустила сервис для продажи б/у товаров IZI
ain.ua/...​la-servis-obyavlenij-izi

Привіт, цікаво і як вам вдалось проводити платежі від фіз. осіб іншим фіз. особам?

WayForPay предоставляет такую возможность.

Дякую за пораду, про блокування коштів нічого нажаль не знайшов. Тут стоїть проблема всіх маркетплейсів, як гарантувати безпеку p2p платежів, особливо якщо сума платежа більше тис. уо і щоб ці платежі не ходили через компанію і не створювали зайвий оборот.

Везде есть какая-то комиссия. Тут стоит уже смотреть какой сервис более выгодный.
Можете еще в сторону uapay посмотреть

Романе, як раз для того, щоб кошти не «ходили» через рахунок компанії і використовується «холдування». Працює це так:
1) Клієнт вводить реквізити картки і здійснює оплату, кошти «заморожуються» на карті клієнта до 30 днів, а далі ви через API даєте команду повернути або ж списати цю суму. Після списання вона потрапляє на віртуальний рахунок фін. компаніїї (в даному випадку WayForPay), а звідти вже Ви можете «дробити» цю суму к завгодно: частину зарахувати на картку іншої фізособи, частину собі на рахунок юридичної особи, частину іншій юр. особі і т.д.

P.S. Комісія при списанні коштів — 2,5%, при зарахуванні на картку фіз. особи — ще 1%, повернення всієї суми (розхолдування) — безкоштовне.
Ось посилання на документацію
wiki.wayforpay.com/...​age.action?pageId=2424858

Приятно когда выходит статья о проекте который ты писал!
Это почти как популярность на ТВ, только в другой интерпретации ))

Подписаться на комментарии