×Закрыть

Стартап глазами джуниора. Как объединить тату с IT

Привет, ребята. Меня зовут Андрей, мне 21 год и я Junior Javascript разработчик. И в этой статье я расскажу об истории своего проекта tattoo-3d.com. От идеи, до реализации, с какими трудностями я столкнулся, какие выводы сделал, и что бы я изменил, вернувшись бы в прошлое.

Статья может быть полезна начинающим программистам, тем кто хочет вложить свои силы в pet-проект и воплотить задумку в реальность.

Идея

На моей первой работе в крупной аутсорс компании я столкнулся с редактированием 3D объектов в браузере, в то же время и познакомился с библиотекой three.js.

Одним из моих увлечений помимо работы была татуировка, меня всегда привлекал данный вид искусства, а после первой тату я понял, что не остановлюсь, пока на мне есть свободное место. При продумывании дизайна для татуировки у меня всегда возникал вопрос, как это будет выглядеть на коже. Эскиз эскизом, а чёткое представление о расположении тату, её размере приходит не сразу и нередко уже после нанесения. Перед сеансом на кожу клиента наносится трансфер, который он может примерять перед зеркалом и внести коррективы на месте. Думаю, не стоит объяснять, что по трансферу сложно понять, что будет в конечном итоге, плюс работа по его созданию и переводу занимает большое количество времени и может быть выполнена лишь татуировщиком непосредственно в салоне.

Пример трансфера

Однажды у меня и возникла идея автоматизировать этот процесс. Да, уже существовали графические редакторы, вроде Photoshop, которые решали данную проблему, но они имеют целый ряд недостатков. Например, в том же фотошопе нельзя смотреть с разных ракурсов на будущую татуировку, он требует значительные временные затраты на редактирование и некоторые необходимые умения для работы с ним, а также это дорогая десктопная программа, требующая загрузки на ваш ПК.

Изучив проблему и проанализировав свои скромные навыки и опыт, я решил создать приложение для браузера, в котором можно будет быстро накидать тату идеи и посмотреть, как они могут выглядеть на теле. В качестве объекта нанесения татуировки были выбраны 3D модели мужчины, женщины, а также 3D лицо (на это тоже есть спрос).

Моё приложение должно было отображать татуировки на человеческом теле, которые пользователи могли бы загружать в .PNG формате. Кликая на определённое место, человек мог добавить и отредактировать изображение, чтобы в итоге найти удачное расположение для своего тату.

Реализация

Выбор технических решений для реализации проекта

За взаимодействие с 3D у меня отвечает библиотека three.js, построенная на основе WebGL и позволяющая создавать и отображать в браузере ускоренную на GPU 3D графику, используя Javascript. Three.js поддерживает работу с камерами, сценами, анимациями, материалами, различными источниками света, позволяет загружать 3D модели популярных форматов(OBJ, STL, GLTF, FBX...).

В качестве фреймворка, отвечающего за UI, был выбран React, оптимизирующий работу с DOM, а также библиотека antd, с которой у меня на тот момент было больше всего опыта работы. На бэкенде Node.js, хотя это не имеет практически никакого значения, всё приложение работает на клиенте, node же нам отдаёт только статические файлы, в данном случае выгоднее было бы использовать nginx. В будущих планах возможно придётся работать с базой данных и различной бизнес логикой, вот тогда мне и может пригодится Node.js.

Системой управления проектом была выбрана trello, в ней было легко и удобно описывать задачи не только для себя, но и для разработчиков-волонтёров, с которыми я сотрудничал.

Алгоритм наложения изображения

Основной технической задачей стало наложение изображений на 3D модель. Благо в three.js существует функционал для работы с декалями. Мне лишь осталось передать в DecalGeometry mesh (в данном случае это 3D модель человека), на который я накладываю изображение, место наложения, которое мы находим с помощью raycast, поворот и размер.

var geometry = new DecalGeometry( mesh, position, orientation, size );
var material = new THREE.MeshBasicMaterial( { color: 0x00ff00 } );
var mesh = new THREE.Mesh( geometry, material ); 
scene.add( mesh );

Далее я реализовал перемещение изображения. Для этого я удалял старую декаль и смещал position на определенное количество пунктов влево, вправо, вниз или вверх.

Еще одной проблемой передвижения с помощью стрелок стала адаптация смещения по x или z, в зависимости от места. Предположим, что мы располагаем изображение на груди, там значит при перемещении влево или вправо, мы изменяем position по X, но если мы также будем действовать на плече, то декаль провалится сквозь текстуру, в этом случае надо перемещать уже по Z. Для решения этой проблемы я построил центральный вектор и плоскость, на которую делал проекцию точки пересечения raycast с моделью. Далее я находил угол между центральным вектором и вектором поворота этой точки и на основе этого угла определял тип перемещения.

let centerVec = new THREE.Vector3(0, 0, 1);
let plane = new THREE.Plane(new THREE.Vector3(0, 1, 0))
plane.projectPoint(intersection.point, projected_point);
let origin = new THREE.Vector3(0, 0, 0);
let dir = new THREE.Vector3();
dir.subVectors(origin, projected_point).normalize();
let vec_angle = THREE.Math.radToDeg(centerVec.angleTo(dir));

После реализации основного функционала, у меня получилась первая версия приложения. Работала она плохо, особенно на мобильном, но даже с этими фичами уже можно было развлекаться:

На следующем этапе я добавил каталог татуировок, усовершенствовал дизайн, сделал более удобное управление, оптимизировал просмотр на мобильных устройствах, выбрал более подходящие модели, добавил русскую версию, реализовал несколько полезных фич, таких как загрузка созданного дизайна.

Поиск партнёров

Кроме основного приложения, было решено сделать несколько лендинг страниц, которые бы описывали функционал, показывали примеры работ и объясняли предназначение программы. Так как у меня было не так много свободного времени, я решил обратится за помощью и разместил на форуме ДОУ пост, в котором предлагал всем желающим принять участие в моём проекте. Мне ответили несколько начинающих верстальщиков, которым я предоставил контент и задачу сделать из этого лендинг. К сожалению, работа первых двух мне показалась неудовлетворительной и в данном случае я виню лишь себя, так как у меня не было макетов и верстальщики действовали на своё усмотрение. Не стоит поручать людям те задачи, которые не входят в их компетенцию. К счастью, мне повстречалась Kateryna Shvets, которая проявила креативность и хорошо справилась с задачей дизайна и вёрстки лендинг страницы.

Параллельно я занимался поиском тату салонов, которые хотели бы со мной сотрудничать, так как на тот момент у меня была идея продавать данное приложение в виде отдельного функционала для их сайта. Мне удалось заключить некоторые договорённости с крупной тату сетью и было потрачено большое время на разработку дополнительных функций и дизайна для соответствия вида приложения их сайту. К сожалению, мои партнёры пропали. Думаю, виной тому стала пандемия, во время которой большинство тату студий были закрыты. При таких обстоятельствах далеко не каждая компания решиться выделять бюджет на расширение своего сайта. Тем не менее, после общения с их руководителями, я получил взгляд со стороны, а также несколько полезных советов по улучшению моего приложения, которые я сразу же и применил.

Выводы

Я раньше и не представлял, что многие задачи, для которых требовались тяжелые десктопные приложения, могут быть выполнены в браузере. Теперь же я понимаю весь потенциал данной платформы и всё удобство, которое она предоставляет своим пользователям.

С какими трудностями я столкнулся во время реализации? Ответ очень прост, со всеми сразу. Так как опыта в вебе у меня не так много, я пришел из С++, было непросто заставить всё корректно отображаться под разными разрешениями и на разных устройствах. Некоторые модели были очень большими 20+ мб, трудно было найти и подобрать те, которые не заставят юзеров ждать вечность. Любая работа, связанная с дизайном для меня непроста, хорошо, что есть такие UI библиотеки, как antd, которые делают вид приложения приличным. Кодил я довольно быстро, но так как ревью было делать некому, бороться с последствиями приходится до сих пор. Не стоит откладывать refactoring, плохой код накапливается как снежный ком и очень скоро начинает замедлять разработку.

Если бы мне предоставили возможность вернуться в прошлое, я бы посоветовал себе с самого начала найти партнёров-разработчиков для реализации проекта. Они не только ускоряют разработку, но и повышают вашу мотивацию и дисциплину. Не обязательно иметь деньги, чтобы найти хорошего специалиста, существует множество начинающих программистов, дизайнеров, верстальщиков, которые могут быть вам полезны. Главное ставить перед ними чёткие задачи и правильно организовать работу.

При работе с заказчиками и клиентами огромную роль играют правильные договорённости. Не стоит надеяться на устные соглашения, форс-мажорные обстоятельства могут негативно повлиять даже на самый далёкий от них бизнес. Хотел бы посоветовать читателям книгу Дональда Трампа «Искусство заключать сделки», с которой сам недавно ознакомился.

Реализация собственных проектов не только значительно повышает ваши знания в программировании и бизнесе, но и расширяет ваш кругозор, сводит вас с интересными людьми, позволяет приобрести и развить лидерские качества. Чтобы начать что-либо делать не нужны значительные вклады. Дополнительных трат, кроме платы за VPS и домен, я не делал.

LinkedIn
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Выглядит страшно и неудобно (модели тел вообще жесть). Даже для петпроджекта. Если допилить, сделать годный дизайн, добавить библиотеку тату, придумать подписку и какую-то модель монетизации мб взлетит. В общем, еще 9/10 нужно сделать.

Я думаю, люди, которые делают себе татуировки — идиоты

ссылки на исследования в студию!

To achieve a sufficient homogeneity between the samples, the survey was conducted only among students.
...
A total of 104 persons were interviewed of which 50 people were tattooed and 54 non-tattooed, aged between 20 and 54 years. The survey took place at several universities and colleges in Hamburg and took about ten minutes per person.

качество исследование такое себе

Простая логика говорит, что люди подвергают своё здоровье опасности заразиться ВИЧ, гепатитом С и травануться краской не от большого ума.

Треба просто забиватися у перевірених ділерів і все буде чікі.

да я за свою бурную молодость больше подвергался этим рискам чем в тату салонах

тоже не свидетельствует в пользу большого интеллекта )

Я думаю, люди, которые делают себе татуировки — идиоты

не пугай страуса (ц)

зато сразу понятно что у него в голове, и это удобно.

у меня нету тату, думаю что это ты идиот закомплексованный, люди живут полной жизнью, а ты скорей всего сидишь перед ящик всю жизнь, и боишься жить, но это неточно

люди живут полной жизнью

Рисуя картинки у себя на коже?

Это в каком-то фильме так сказали или в рекламе?

Из C++ в Web — а стоит ли игра свечь? Одна известная компания гордится тем, что ее сайт написан на С++, тем самым давая понять что там высокое качество. Вообще, если сравнивать языки и автомобили, то С++ это как Мерседес, а JS как KIA. На мой взгляд не стоит забывать плюсы.

с++ в вебе уже давно не мерседес как минимум по той причине, что мерседесы — та же шкода, тот же фольц, просто в другом корпусе, но на одной платформе

И вообще, я посмотрю, как ты формочки на плюсах напишешь, еще и кроссплатформенные. Да и не забывай, что скорость выполнения на бекенде пхп скрипта почти догнала плюсы, а с включеным прелоадингом и в будущем с джитом — будет почти равна. да, есть свои нюансы и оверхеды, вроде кеширования в редисе/мемкеше, но не в этом проблема обычно

Для формочек есть QML или аналоги. Ну и кроме формочек есть куча другого фунционала, который вам возможно предстоит писать в дальнейшем. Логика простая — зная плюсы вы можете писать все, а зная js увы только формочки.

Почему только формочки? В статье я рассказывал о библиотеке three.js, это отличный пример возможностей современных браузеров, JS имеет огромную область применения помимо браузеров, тот же node.js, electron. Да, они могут уступать в узкоспециализированных задачах, где требуется оптимизация, но что нам мешает написать этот модуль на С++, а всё остальное на JS?

На VB тоже кучу всего писали, но оно умерло вместе с VB. Примерно та же участь ждет JS. И да, наверняка внизу этих библиотек просходят вызова нативного функционала на С и С++. Так стоит ли вызывать через 10 слоев то что можно вызвать через тонкий врапер?

Примерно та же участь ждет JS

надо только немнооооожко подождать, да?

Быстрее чем вы думаете — программистов на VB жизнь заставила перейти на C#, думаю JS devs ждет такой же переход на Go или Python.

Плохой троллинг. Очень очень жирный. Спробуй ще.

На VB тоже кучу всего писали, но оно умерло вместе с VB.

Если вы про Visual Basic Script, так он только в IE поддерживался, кому оно было нужно.

А касательно VB, ну так в Ворде макросы еще поддерживаются, значит по-факту еще живет в виде VBA.

Примерно та же участь ждет JS

Учитывая текущее положение вещей, врятли, у VB был не тот размах.

Так стоит ли вызывать через 10 слоев то что можно вызвать через тонкий врапер?

Вы предлагаете браузер на ассемблере написать что бы C++ выкинуть?
Конечно стоит, вы на сайте комментарий ставите через браузер, вот представьте для каждого сайта аппликуху ставить.

У вас какой-то взгляд из начала 2000-х .

В 2000 году не было эмбеддед и почти не было Линукса, все было на Винде поэтому были кубики vb. Сейчас есть эмбеддед, линуха и браузеры, ну и винда с макосью — появились кубики js. Вот и вся разница.
Браузерный код можно и на c# писать, ну или на python. А на js только спагетти из колбеков получаются. Чего ждать от языка, разработанного на коленке за пару спринтов.

разработанного на коленке за пару спринтов

Ну если бы не сделали бы, то сидели бы сейчас все на VB, нафиг-нафиг.

JS даже в той версии был по-адекватнее.

Линукса почти не было в нулевых 0_0? Был и достаточно распространенным и уже тогда много софта было с веб-мордой на пхп и все это на линуксе.
P.s. коллбеки уже заменили промисами

Примерно та же участь ждет JS.

Не ждет. VB — проприетарный язык, js (ECMAscript) — стандарт. Умирает он с 1995 года (25 лет) и все ни как не умрет.

И да, наверняка внизу этих библиотек просходят вызова нативного функционала на С и С++. Так стоит ли вызывать через 10 слоев то что можно вызвать через тонкий врапер?

Вы застряли в 2000-ых? JS движки уже давно используют JIT компилятор. Также можно говорить о любом сишном приложении — под капотом оно вызывает код ядра ОС, многие части которого написаны на ассемблере.

JS может умереть, если появится популярный! браузер без поддержки JS. А такой браузер даже не маячит на горизонте ближайших 10 лет. Скорей уж C++ умрет, чем JS, который уже потеснил его на полях межплатформенного десктопа.

З.Ы. мне не нравится js, предпочитаю ts для веба. И от С++ я не восторге.

В вашем ответе вся суть js — приложения для браузеров. Если надо что-то помимо них, тут уже js не спасает. Если речь идет о более-менее долгосрочном заказе с требованием качества кода — это тоже не про js.

Я могу привести несколько публичных долгостроев вне браузера — desktop Skype, desktop Viber, VS Code

Когда я попал на первую работу в одну аутсорс компанию, там был проект с веб интерфейсом и three.js и с С++ программой, которая обрабатывала данные. И мне намного больше понравилось работать с JS, так как там не так много надо думать об особенностях языка, ты задумываешься только о логике программы. И как я писал уже в тексте выше, многое, что сейчас работает как тяжелые десктопные приложения, могут быть реализованы для работы в браузере, даже те же CAD приложения.

Что-то похожее говорили разработчики на Visual Basic 20 лет назад, но потом все равно пришлось менять язык и технологию. А плюсы как были так и остались — профит!

Тоже самое говорили С++ разработчики, когда появились java/c# 20-25 лет назад, но потом все равно пришлось менять язык :)

Не знаю чтобы с плюсов на Java/C# переходили по суровой необходимости. С# разработка совершенно отдельная ниша от С++, в крайнем случае совмещают эти языки в одном проекте.

Не знаю чтобы с плюсов на Java/C# переходили по суровой необходимости.

Некоторые до сих пор, по суровой необходимости, не могут перейти с MFC.

С# разработка совершенно отдельная ниша от С++, в крайнем случае совмещают эти языки в одном проекте.

Это сейчас так, а в начале 2000-ых ситуация была совсем другая.

А еще я понял, что в моей жизни есть вещи, кроме С++, которым бы я тоже хотел уделять внимание)

Если это не касается разработки ПО, то согласен. Если же вы хотите продолжать девелопить, то на js далеко не уедешь.

Но покружить сизым соколом можно

Слишком витиевато для меня — не понял мысль.

... тем более ещё столько свободного места :)

Вообще, если сравнивать языки и автомобили, то С++ это как Мерседес, а JS как KIA

Скорее, С++ это как гоночный (раллийный) автомобиль, где нету многих приблуд для комфорта (кондиционера, аудиосистемы, потому что добавляют вес, электрозеркал, АБС, ЕСП и т.д.), зато добавляются специфические, но не нужные «гражданскому» ездоку элементы управления вроде антилага, лаунча, телеметрии. Внутри выглядит негламурно: проводочки, тумблера, главное — эффективность. А JS — как серийная тачка, можно и в такси работать, и просто свою тушку катать, и пиццу развозить, а хочешь — можно и модель с массажем задницы и распылителем духов (Citroen 3008 вспомнился) приобрести. Это к тому, что работа найдется и для C++ пилота и для JS-таксиста.

Не совсем, если брать легкие языки то есть богатый выбор — Python, Java, C#, ну или Erlang, Haskel, Go — кому как удобнее. В этих языках есть и удобство, и мощь ООП, и поддержка от браузеров. Если уж писать прикладное ПО то лучше на змее или решетке, не так ли?

Не спорю, С# куда приятнее JS.

Я бы сказал JS это VB сегодня.

Почему? У JS гораздо более широкое применение по сравнению с VB.

Да, он кроссплатформенный, а vb был только под Винду. Но корневой принцип неизменен — много компонентов чтобы написать веб-приложение быстро и без издержек на ООД.

Я не только и не столько о кроссплатформенности, а о сферах применения. Веб — фронт и бэк, макросы для офисных приложений, Adobe отдает апи на JS, даже микроконтроллеры (Espruino, например).

Поверьте, VB содержал не маньшую палитру — MS Office addons; FoxPro, Oracle, Sybase, Informix connectors; DHTML; TCP/UDP sockets; serial port connector и тучу кубиков еще. Правда эти все кубики были на гнилой базе — язык без строгой типизации, ООП и

Это все Виндовый стэк, какая еще «палитра»? JS — нативный в каждом браузере, на любом компе/смартфоне, как вообще можно сравнивать ?
p.s. можно подумать, кто-то хвалит js, а не просто констатирует факт его вездесущности

Ну да, кроссплатформенность есть, а остальное как в VB.

0_0, тогда я не понял, почему JS должен умереть из-за кажущегося сходства с VB, а не жить и здравствовать потому, что он кроссплатформенный?

без строгой типизации

А сейчас это проблема? Тот же: Ruby, PHP, Python. И уже есть typescript.

ООП

К ООП сейчас в 2020-м году много вопросов, в особенности к такой штуке как наследование.
Но для ценителей это все уже в JS завезли.
Но оно уже там давно там было немного в другом виде.

Я сам не особо в восторге от JS, но он сейчас рабочая лошадка. Даже на бекенде(nodejs), мобайл(ReactNative) и десктоп(Electron) затащили.

Но пророчить скорую смерть JS — это отрицание реальности.

Ruby и PHP это такие же недоязыки как JS. Python немного получше но тоже не торт — от __init__ и подобных конструкций в желудке тошно.
Из легких языков мне больше всего c# нравится — почти как плюсы только без заморочек хитрых языковых.
Ну а про смерть js это не буквально — он будет крутиться, просто за это перестанут платить. Много ли сейчас вакансий по vb найдете?

Ну а про смерть js это не буквально — он будет крутиться, просто за это перестанут платить.

Просто нужно немножко подождать

Сходу вопрос, что выбирать чуваку с первой фотки, чтобы увидеть тату на своем пузане, а не худом силуете макета, а то я вижу только male/female/face

Жду пока откроются тату салоны, карантин закончится и возобновится поток клиентов. Есть планы довести всё до определённых результатов, меня до сих пор привлекает идея позиционирования приложения, как дополнительный функционал для сайта тату студии. Бил почти все свои тату в том же месте, которое рекламирую на своем сайте.

А кто их таки закрывал хоть на день? По телефону тебе всё откроют.

Это не так, все приличные тату салоны и тату мастера, которых я знаю, не работали на карантине

Хочешь сказать, они тупые как швабра в вопросах медицины? Или настолько любят родное госудурство, что готовы плясать под каждый писк заинтересованных монополюг? Которые, если вдруг не в теме, работы не прекращали — но вывели СЕБЕ бабла из-под налогов якобы на помощь больницам, и за эти заслуги выписали СЕБЕ налоговые каникулы и льготы.

Если клиенты боятся, лучше изобразить, что ты их поддерживаешь, чем демонстрировать экспертное понимание ситуации.

Любители наколок не из самых трусливых обычно. Даже девушки несмотря на карантин уломают мастера сделать бровки и ноготочки. И что характерно, ни об одном случае заражения в Украине у частного мастера косметолога я не слышал. Там скорее могут какую кожную болячку занести, но опять же, не татуировщики — там всё строго даже у начинающих (ну разве что кроме тюрьмы).

Хотя если честно, я не понимаю недоступности этих услуг в тюрьме. Нужно либо запрещать тюремные наколки, чётко выпустив перечень преступной символики, либо разрешать, и тогда пусть мастера делают. Потому что срок заключения закончится, наколка останется. Что будет достигнуто: при доступности хороших тату (не бесплатно), ни один идиот не станет делать плохие, тем более кустарным способом. На воле-то это в основном по пьяни творят.

Надо начать проводить стажировки для Тату Трейни в тюрьме, уже насобиралась критическая масса желающих.

Боюсь, кукареку будет слышно за три квартала

Лишний раз проверил — пока до MVP даже 10% пути не прошёл. Это единственная настоящая причина, почему испарились партнёры (для тебя же лучше), и почему не стоит искать новых.

Можешь читать сколько угодно книг Трампа (к слову, он мyдак) или заниматься саморазвитием, но это тебя ни на йоту не приблизит к пониманию продукта, чего собственно ждут люди, чем готовы хотеть пользоваться, а за что (и по какой схеме) готовы заплатить денег.

Рекомендация возможным партнёрам — подождать, пока спадёт волна слепого энтузиазма, и вместо воздушных замков появится хоть пара-тройка реальных кирпичей в этом стартапе. Та же самая рекомендация пользователям, просто пройдите мимо. Автор не готов пока даже интересоваться, что действительно нужно. Ему хочется решать то, что легче решается, остальное игнорировать.

Я с вами не согласен. Но чтобы вести с вами спор, нужны какие-то аргументы с вашей стороны. По моему мнению, большинство тату сайтов выглядят посредственно, а добавление для них интерактивной составляющей поможет выделить их на фоне конкурентов. В конце концов пользователи смогут найти развлечение даже на убогом трёхстраничном сайте тату студии и это увеличит её профит. Насчёт Трампа, то можно долго спорить, какой он человек, но у него достаточно много интересного опыта, которым он поделился в своих книгах.

Зачем кому-то искать развлечение на убогом трехстраничном сайте?

Ну он же зашел на сайт тату студии каким-то образом и перед ним только стандартный вордпресс шаблон и портфолио с контактами. А тут он увидел еще и интересное приложение, которое ему помогло или развлекло, у человека повысилась мотивация записаться на сеанс этой студии или он скинул ссылку своему другу на этот сайт. И когда человек решил записаться на сеанс. Первый вопрос: «В каком месте и какого размера вы хотите татуировку?». Человек отправляет скриншот из приложения.

Может и так, но тогда хоть с 3D, хоть без, причина — это его изначальное желание делать в этой студии, а не просто он блуждает по сайту с мыслью, чем себя развлечь. А раз на эту конкретную студию он нацелился, значит уже видел работы на других людях и 3D погоды не сделает.
А такой симулятор должен давать преимущества малоизвестным студиям, как мне кажется.

Со мной можешь не соглашаться, проблема в промахе по рынку. Если бы у тебя был 1 человек, который думает как рынок — задача бы сильно упрощалась, просто сделал бы как он скажет. Но увы. Хотя можешь найти кого-то очень близкого к идеалу.

Ты этим человеком не можешь быть по определению. Что сам сделал, кажется хорошим в любом случае.

По Трампу — сильно сомневаюсь что он писал хоть половину, литературные негры сильно уж прослеживаются, и достаточно жёсткая редактура. А сам Трамп обычный мафиози уровня Буша старшего. Опыт интересен, если ты хочешь заниматься тем же самым, то есть организованной преступностью в сфере недвижимости. В остальном же это бла-бла-бла.

Я сказал как есть — это до MVP не дотягивает. По мере пользования результат становится всё хуже и хуже, соответственно кто пользовался раз, тот потерян для тебя как клиент. И горе тебе если решишься вложиться в рекламу.

и было потрачено большое время на разработку дополнительных функций и дизайна для соответствия вида приложения их сайту. К сожалению, мои партнёры пропали.

Это еще одна ошибка начинающего стартапера: пилить хотелки до того, как «клиент» заплатит деньги. Если хотят получить какой-то кастомный функционал — это надо оборачивать в продажу продукта и продажу суппорта, а не бесплатно полировать продукт до момента пока деньги/мотивация для его развития кончатся.

Согласен, у меня просто мало опыта серьёзных договорённостей.

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