[Из песочницы] Стартап своими силами. История создания портала недвижимости
Приветствую вас, уважаемые пользователи «Мегамозга»!
Хочу поделиться с вами своим опытом по созданию своего стартапа — портала недвижимости.
Статья получиться объемной, но зато даст представление о том, какой долгий путь я прошел для понимания того, как нужно, и как не нужно делать проекты.
Меня зовут Данилевский Кирилл и мне сейчас 36 лет. Я закончил Киевский политех в далеком 2000 году, и учился на факультете информатики. После выпуска начался мой самостоятельный полет разработчика.
Как веб-разработчик, я уже работаю более 10 лет. В юные годы (20–25 лет) я был полон оптимизма и всевозможных радужных идей. Я брался делать все. Все свои идеи я пытался реализовать самостоятельно.
Одной из моих идей, которую я реализовал, был собственный фреймворк на PHP, по-моему, я его назвал Site-Master. Он был написан процедурно и достаточно шустро работал. На нем я построил пару своих проектов.
В 2004 году я создал свою доску объявлений, которая называлась E-Sale и проект, который был чем-то вроде портала грузоперевозок. Где можно было нанять грузоперевозчика или подобрать грузы для перевозки. Он имел название Trans-avto.
Просуществовали эти проекты где-то года до 2010, после чего я их таки отпустил, и дал спокойно упокоиться с миром.
Почему же так произошло. А причин, на самом деле, немало.
1) Это процедурное программирование. Когда проект разрастался, то поддерживать существующий код было наказанием. Приходилось все время проводить рефакторинг кода, переписывать наново старые функции. И это превратилось в непрекращающуюся рутину.
2) Использование собственного фреймворка. Тогда, в мои юные года, мне казалось, что вести проект на собственном фреймворке — это круто, это гордо, это говорит о моем профессионализме и опыте. Это была одной из роковых ошибок. Доска объявлений была достаточно посещаема, до нескольких тысяч посетителей в день. Ежедневно добавлялись десятки новых объявлений. Скорость была большая, сам интерфейс был красивый и удобный. Я создал большое количество плюшек, которых не было у конкурентов. И был очень этим горд. Но сайт раз в неделю взламывали. То через уязвимость в Ckeditor, то подбирали mySQL инъекцию, где я пощелкал в какой-то функции. И моя работа превратилась в вечное латание дыр. Плюс ко всему, когда мне нужно было добавить какой-то интересный функционал, мне приходилось все писать руками, внедрять это в код, тестить, рефакторить, обслуживать.
3) Моя вера в пользователя. Я предоставлял обширный на доске функционал, но были правила, которые пользователи должны были соблюдать. Правила достаточно простые. Не спамить, не писать капслоком, не дублировать объявления и т. п. У меня реально не было времени для модерации, и я сильно рассчитывал на понимание моих пользователей, и их добросовестность. Но очень зря! Чаще всего, правила при регистрации вообще не читали. Никто их не соблюдал. И в очень скором времени доска стала превращаться в какую-то грязную помойку. Я раз в неделю начинал зверствовать и удалять объявления возмутителей порядка, а их самих банить. Но это не помогало. На одно удаленное объявление, появлялось еще десять новых, с другого аккаунта, с другого IP адреса. Все это превратилось в какую-то мышиную возню. Я понаставил тогда везде где только можно капчу, но пострадали добросовестные посетители, которые писали мне гневные письма. В итоге, мне опять приходилось думать над защитой от спамеров. Но, если бы сайт сразу себя вел жестко в плане модерации, то такой головной боли могло бы просто не быть.
4) Неправильная рекламная стратегия. Я сильно надеялся на то, что трафик будет увеличиваться с белых каталогов, разных форумов и других досок объявлений. Но если трафик и приходил, то настолько мизерный, что не стоил тех усилий, которые я тратил на него. Тогда я стал делиться по всему Интернету своими программными решениями. Платежными системами, счетчиками с системой отчетов для статистики и т. п. Люди в огромном количестве скачивали эти решения, внедряли на свои сайты, но желаемого эффекта я так и не получил. Трафик на сайт не увеличивался, зато увеличилась головная боль, когда меня стали засыпать на почту вопросами о том, как правильно установить скрипт, мол у меня не работает — помогите и другие подобные крики о помощи. Просто всех послать я не мог. И мне добавилась новая неоплачиваемая работа.
5) Искренняя вера во всякие статьи по SEO на просторах интернета. Скажу честно, пока до меня дошел факт того, что все эти статьи пишутся только для одной цели, а именно привлечь доверчивого пользователя на свой сайт, а не чему-то научить, то прошло немало времени. При чем, прочитал одну статью — прочитал все! Найти реальный опыт людей, пусть даже неудачный, было практически невыполнимой задачей. И я все время бился головой об стену в поисках какого-то выхода.
6) Засилье дилетантов везде и во всем. Как-то мне стали чаще приходить в голову мысли о том, что нужно нанять одного разработчика и одного СЕО специалиста, которые частично снимут с меня часть головной боли. Закончилось все это тем, что мне пришлось всех уволить и опять заняться всем самому. Знаний и опыта у людей оказывалось еще меньше, чем у меня. Мотивации вообще не было. Очень многие почитав пару статей о СЕО, при чем сомнительного качества, уже называли себя профессионалами. Примерно такая же картина обстояла и с программистами. Время и деньги на зарплату были мною потрачены опять впустую.
Помимо всей этой мышиной возни со своими сайтами, мне нужно было еще как-то и на жизнь зарабатывать. И я просто разрывался на части между фрилансом с клиентами, которые мне приносят прибыли, а так же между своими проектами, которые съедают мои деньги и высасывают из меня все мои соки.
Мой рабочий день начинался с момента подъема с кровати и заканчивался моментом, когда я ложился в постель. Такой режим очень сильно подрывает физическое здоровье и душевное равновесие тоже. Я стал нервным и раздражительным.
И в какой-то момент свой жизни я решил, что хватит. Так как уже начинал ощущать, что скоро меня вынесут из квартиры вперед ногами. Я на целый год плюнул на программирование и даже не открывал IDE. Просто переключился на дом, на семью, на другие заботы. Это позволило мне сохранить свое душевное равновесие. Отойти от удара своего огромного фиаско.
Где-то в 2010 я снова взялся за клавиатуру. Видать это в крови и от этого не убежать. Но я пошел другим путем. Я немного устал от фриланса предыдущих лет, от вечного выяснения отношений с клиентами и решил устроиться в крупную контору на нормальную зарплату. Что я и сделал.
Проработав пару лет на иностранную компанию, я понял, что душевного спокойствия я тут тоже не обрел. Если мне раньше много клиентов клепали мозг, то сейчас всего пару крутых боссов, но не меньше, чем все клиенты с фриланса вместе взятые. Проблема была в том, что владельцы бизнеса совершенно не понимали, как работает IT область вообще в целом. Что спустить команду сделать то-то да то-то утром, а вечером уже все должно быть готово, не возможно в принципе.
И мотивация была совсем не той, на которую я рассчитывал. Например, раз не можешь этого сделать за день, значит не такой уж и хороший разработчик. А вот до тебя работал программист, которого мы уволили, и он мог за день это сделать. И все в подобном ключе. Нужно сказать, что зарплата была очень приличной, но стресс был еще больший. Или, как пример, такая еще ситуация. Тебя сверху прессуют, что нужно на вчера, заставляют сверхурочно создавать новый функционал. Ты, как белка в колесе мечешься, но все делаешь. А потом у руководства еще две недели не находится времени на то, чтобы этот функционал посмотреть.
Но я должен сказать, что работа в этой компании мне дала просто огромный опыт. Я смог увидеть все недостатки рабочего процесса со стороны. Смог понять, как важен этап планирования и делегирования полномочий. Как важно вести техническую документацию, без которой через месяц даже и не вспомнишь, о чем вообще шла речь, и что мы там вообще разрабатывали. А самое главное, что я понял, так это то, что большая и богатая компания — это не значит, что успешная.
Получил я и еще один интересный и очень важный опыт, который можно получить только в компании с большим финансовым оборотом. Понятно, что меня, как главного разработчика, никто не слушал. А если и пытались, то не понимали о чем я пытаюсь им сказать. А именно, я в их ТЗ часто находил узкие места, нелогичности и тупиковые реализации. Пытаясь это объяснить, меня не понимали, а если и понимали, то не слушали и настаивали на своем. И в какой-то момент я видел прямо на живом проекте, как сбывались мои предположения. После чего сверху спускалась команда, все переделать, но уже правильно.
В итоге, я научился достаточно с высокой точностью находить узкие места в архитектуре. И мог на практике наблюдать, как происходили эти процессы. Так как у компании были почти миллиардные обороты, то они с такими вещами просто не считались. Для них это было среднестатистической погрешностью. Но для меня это был опыт, который не возможно купить не за какие деньги. И именно этот опыт стал ключевым в моей жизни. Так как сохранить финансы на этапе проектирования своего проекта — это фактически ключ к успеху самого проекта.
Поскольку я в душе так и остался вольным художником, то работа в офисе не могла меня держать вечно. Даже большая зарплата меня не мотивировала, хотя позволила сколотить начальный капитал. И я уволился. Еще и по причине того, что даже с высоким рейтом, я так и не обрел душевного равновесия.
Еще в офисе я обдумывал свой будущий проект. Я подходил к этому вопросу взвешенно, не торопясь с хорошей долей трезвого скептицизма. У меня уже был колоссальный опыт с доской объявлений. Я знал, что нужно пользователям не понаслышке. Я смог взглянуть со стороны на весь свой негативный опыт, и самостоятельно себя объективно раскритиковать.
Плюс меня всегда манила недвижимость. Почему именно недвижимость. Ну тут есть ряд объективных причин. Во первых — это очень сложная, но в тоже время и очень интересная область бизнеса. Потом — это вечная тема, стратегический вид бизнеса. Ну и в дополнение — это огромные финансовые обороты.
Естественно, я отдавал себе отчет в том, какое это высоко конкурентное поле. Но меня это не пугало. Я уже был подкован и знаниями и опытом. И я начал разработку проекта с создания именно идеи.
Идея была проста, как угол дома:
1) Проект не должен быть очередным клоном успешного портала по недвижимости.
2) Должен быть как можно проще. Давать возможность тем, кто размещает свои предложения, управлять своими объявлениями максимально удобно и быстро. А тем, кто ищет недвижимость, дать возможность искать ее по всему миру с максимальной точностью своих критериев.
3) Я дерзко решил, что те популярные ресурсы, которые есть — это не самое лучшее из придуманного, это отсутствие альтернативы.
Потом я влез в шкуру простого потребителя и шерстил интернет в поисках разных квартир, офисов и домов. Я хотел найти что-то простое, гибкое и мощное.
Наверное, я нашел десятки тысяч всяких сайтов, порталов и чего-то отдалено похожего на сайт, которые работали в сфере недвижимости.
Какие выводы из увиденного я сделал:
1) Наверное, процентов 80, увиденные мной сайты, похожи друг на друга. Клоны с одними и теми же недостатками.
2) Многие сайты были сделаны и оформлены так, что прямо с первой страницы кричали: «Пользователь! Я тебя ненавижу.» Если бы могли, то еще бы и плевали в лицо прямо через экран.
Клонов и подобные сайты из п. 2) я сразу отмел, так как конкуренцию они для меня не составляли.
3) Серьезные порталы по недвижимости обладали какими-то странными свойствами. Например:
1. Почти у всех узко региональная направленность. Глобализация нам наступает на пятки, множество гаджетов оснащены всеми языками мира. Так зачем замыкаться только в одной стране?
2. Практически у всех, только один язык интерфейса — русский. А как же иностранные граждане, которые все же как-то попадают в страны СНГ, и без знания русского языка.
3. Многим ресурсам очень нравятся интерактивные карты поиска недвижимости. Например, на карте Москвы стоит сотня меток со сдаваемыми в аренду квартирами. Но такое решение для меня видится абсолютно не удобным. Во первых, нужно знать районы, чтобы понимать, где ты ищешь. Потом, при отдалении карты все метки сливаются в одну. Нужно делать масштабирование, двигать во все стороны карту и кликать на все метки, чтобы получить хоть какую-то информацию. Я согласен, что это выглядит круто и красиво, но лично я таким пользоваться не смог. Многие пользователи не хотят тратить свое время на не нужную красоту и крутизну.
4. У подавляющего большинства ресурсов, такие разделы, как посуточная аренда, жилая и коммерческая недвижимость, это, всего навсего, поле выбора в объявлении. Но я посчитал, что это абсолютно разные объекты со своими независимыми наборами полей. И нет никакого смысла делать из этого кашу при фильтрации. Поэтому я разделил все эти объекты недвижимости на свои независимые и не пересекающиеся разделы со своими уникальными наборами полей.
5. Опять таки, у большинства порталов, фильтрация происходит путем накликивания бесконечного числа выпадающих списков. Вот пользователь ищет, к примеру, себе квартиру. Берет и выбирает из десятка фильтров восемь параметров. Нажимает кнопку поиска, а ему выдает: «По вашему поиску ничего не найдено». А часто выдает вообще то, что и не требовалось. Это не просто раздражает — это выносит мозг по полной программе. Поэтому, я сделал фасетные фильтры. Получишь только то, что ты ищешь, как в нормальных интернет-магазинах. Для многих это стало не привычно. Но как только пользователи немного распробовали, они поняли, что такое удобный поиск без головной боли.
6. Ограничение количества символов, запрет на использование html тегов, запрет вставки ссылок на свои сайты, ограничение количества фотографий и т. п. Все просто. Я не стал никого ограничивать и запрещать все подряд. А наоборот, даже, стимулирую пользователей выкладывать большие и качественные фотографии своей недвижимости. Писать хорошее и подробное описание своих объектов. Разрешаю использовать теги для выделения в тексте важных моментов.
7. Очень часто повторы одинаковых предложений. Сейчас я слежу за порталом, и наказываю тех, кто не соблюдает правила с первого дня. Но для того, чтобы не было необходимости размещать одни и те же предложения, я сделал в профиле пользователя возможность раз в день обновлять дату своего предложения. Тогда такое предложение появляется вверху списка. Сортировка недвижимости идет по умолчанию по дате публикации.
8. Безумно раздражающая реклама «Поднять в Топ». Этим грешат многие. К примеру, заходит пользователь в раздел, чтобы найти себе квартиру, а ему вываливает пять страниц желтых объявлений, которые ему совсем не нужны и не интересны. Но нужно их все при этом проматывать и просматривать. Я считаю это хамством и неуважением к своим пользователям. Поэтому я принципиально отказался от такого пути. Те же, кто хочет как-то выделить свои предложения, я решил помещать их в отдельные ВИП блоки, которые не будут перекрывать просмотр простых объявлений.
9. Такие сервисы, как онлайн бронирование для посуточной аренды, импорт/экспорт xml фидов — это платные функции. Я же сделал их на своем портале бесплатными.
10. И есть еще один важный пункт, который дает мне уверенность в том, что я смогу конкурировать с серьезными игроками. Многие порталы не могут позволить себе держать высоко профессионального сениор разработчика. Одна только зарплата будет сильно бить по бюджету. Как правило, в проект на этапе разработки вкладываются финансы, а дальше, что уже есть, то есть. Мало кто дорабатывает функционал, улучшает свой проект и дает новые возможности пользователям. А я каждые пару недель-месяц выпускаю новый релиз. Советуюсь с пользователями, какой функционал им нужен и внедряю его на портале.
Я назвал выше десять моментов, которые я считаю ключевыми в вопросе того, почему я уверен в том, что у проекта есть будущее.
На сам проект у меня ушло два года работы. Примерно 3800 часов. Каждый час я примерно оцениваю в 30$. Сам проект я реализовывал на платформе Drupal 7. По причине того, что я профессионально разрабатываю под ней. Именно большинство времени проекта ушло на создание собственных модулей и функционала.
Сам проект, еще до запуска первого релиза, я перекраивал заново, как минимум, три раза. Так как уже на этапе реализации становилось понятно, что то, что я написал в ТЗ, не оптимально или вообще в корне не верно.
Первого мая 2015 года я запустил первый релиз. Он существенно отличался от того, что можно увидеть сейчас на портале. Некоторый функционал был не доработан, дизайн был полным отстоем.
Привлекать новых пользователей, которые бы согласились опубликовать свою недвижимость у нас, было очень сложно. Никто ни хотел публиковаться на пустом сайте, многие глядя на проект, не понимали, почему он выглядит как-то по другому, чем они привыкли видеть в интернете. Я находил по всему интернету контакты разных агентств недвижимости по всей Европе. Кому-то писал, кому-то звонил.
Эта часть работы была очень сложной. Так как на сайт не придут те, кто ищут недвижимость, если не будет тех, кто ее будет публиковать. Это был замкнутый круг. Но сейчас на сайте более 1300 продавцов, и новые регистрируются гораздо охотнее.
Также я понял, что в какой-то момент начал ходить по кругу. Это касалось улучшения юзабилити и всего внешнего вида портала. И тогда я обратился за помощью к Друпал сообществу на сайте Drupal.ru, тем более что уже много лет являлся его членом. Я попросил конструктивно раскритиковать портал. Откликнулось много пользователей и вместе мы смогли довести Best-House до более-менее нормального вида.
Сейчас уже на портале пятнадцатый релиз. Без критики и взгляда со стороны было бы трудно развивать проект. Так как все уже примелькалось и разные косяки уже были не видны.
На данный момент портал не монетизирован. Весь функционал бесплатен. Зарабатывать я планирую на создании разных платных сервисов. Например, в ближайших планах создать свою уникальную CRM систему, заточенную под недвижимость. Пока нахожусь на этапе обдумывания.
Да, забыл про еще один момент. Про домен. Я долго думал, какой домен купить. Все красивые домены, естественно были разобраны. Я хотел, чтобы домен был международный, без региональной привязки. Был легко запоминаемым и однозначно писался. Первым доменом был совсем другой. Я его сделал в итоге тестовым. И вот, я случайно набрел на домен best-house.org, который ранее принадлежал японскому агентству недвижимости, и который продавался за вменяемые деньги с аукциона. При этом у него уже был PR 5. Я его сразу же и выкупил. Уже и не помню по чем, но не очень дорого.
Вот, примерно в двух словах, мой жизненный опыт в плане создания своего проекта, длиной почти в 15 лет.
В послесловии я хочу дать несколько советов тем, кто хочет начать свой проект:
1) Если вы вообще ничего не понимаете в IT, но хотите вложить деньги в проект (свой или чужой), то лучше отдайте эти деньги в детский дом. Это будет гораздо дешевле, меньше сожженных нервов, а главное, сделаете реально доброе дело.
2) Если вы рассчитали бюджет на проект, при этом рассчитали очень профессионально и четко, то можете смело умножить его на пять, если не больше.
3) Если вы имеете свою идею и хотите реализовать ее в проект, вместе со своими друзьями, то сразу прикиньте, сможете ли вы в одиночку закончить этот проект, если друзья вас оставят.
4) Если вы нашли инвестора, который готов вложить в ваши идеи финансы, за долю в вашем проекте, то будьте готовы к тому, что вы, с большой вероятностью, станете ведомым в проекте, а не ведущим. И в итоге от ваших идей в конце проекта может вообще мало что остаться. Впрочем, как и вашего энтузиазма.
5) Большинство стартапов умирает еще на этапе реализации, так и не увидев своего первого релиза. А все потому, что осмысления необходимости своего проекта, его очевидных преимуществ, и его архитектуры, происходит уже на этапе разработки, а не на этапе следующем после рождения идеи.
И в заключение хочу сказать, что нужно после просчета проекта, в первую очередь считать убытки, которые вы можете понести, а не виртуальную прибыль, которая может быть, если сработает сотня «если».
Просмотреть мой проект можно здесь
А критиковать его можно прямо в комментариях. С удовольствием отвечу всем, кто интересуется, как технической частью, как финансовой, так и проектированием.
Отдельное спасибо тем, кто осилил этот опус до конца. Кто ищет, тот обязательно находит.
© Megamozg