Проект: PLACELIST — собираем точки с карты  Публичный пост
5 марта 2024  1480
PLACELIST — собираем точки с карты
https://placelist.io

Не претендую на уникальность, но и не ChatGPT сгенерировал. Все написанное выстрадано руками :)

У нас была проблема

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

Здесь мои точки с Google Maps, некоторые списки почему-то иногда не отображаются или отображаются только в вебе. Еще больше точек по России в Яндекс Картах и Юго-Восточной Азии.
Точки для хайкинга у меня в Organic Maps (оффлайн, ну).

И мы ее почти решили

Placelist (пер. список мест) — это приложение, где ты сохраняешь свои метки с разных карт в списки, делишься ими с друзьями (или нет) и кайфуешь от организованности.

Функционал

Что приложение может:
📍Добавить место с карты и пошэрить его
📍Создать список мест и пошэрить его
📍Быстро посмотреть точку на карте (в приложении)
📍Открыть точку на карте (отдельное приложение)
📍Менеджить список вместе с друзьями

Что приложение не может (пока):
🤖 Сгенерировать список мест по вашему промпту
🌍 Делать списки мест публичными (весь интернет увидит что вы там насохраняли)
📣 Делиться ссылкой на место
👥 Ролевая система для списоков — создатель, модератор, вьювер
💅🏻 Менять тему приложения, чтобы было так, как тебе нравится
📁 Создавать папки для плейслистов
🍻 и много другого — мы даже роадмап сделали!

Платформы

Сначала iOS просто потому что только в это пока можем. Далее web, потом Android.
Для iOS еще сделаем AppClip, чтобы люди без приложения могли открывать ваши списки удобнее чем в вебе.

Стэк

Backend

  1. Python FastAPI (решили отдохнуть от Django)
  2. Pydantic для валидации моделек
  3. Alembic для миграций
  4. SQLAlchemy — ORM
  5. Postgresql для БД
  6. Redis для сессионного хранилища
  7. Bash и Cron для регулярных чисток и сбора кэша
  8. Докеризация с компоузом, чтобы все это стартовать

Монолит поделен на функциональные модули user, placelist, place и тд, как apps в Django.

Frontend
Пока только статичная страничка, но потом полноценное web-приложение.

  1. Node.js (вместо модного Bun)
  2. Nextjs + React
  3. Axios для HTTP

Мобилка (iOS)

  1. Модульное приложение на базе Tuist
  2. Sourcery для кодогенераци
  3. Вёрстка на SwiftUI и немножко UIKit
  4. Redux-like архитектура на базе TCA
  5. CoreData для данных

Процесс

Когда мы начинали, я думал это «приключение на 20 минут». Ведь мы уже делали сайд-проекты и теперь то не совершим предыдущих ошибок. В общем, fail fast во всей красе.

не ну мы
не ну мы

Спустя год мы все еще не закончили, но уже виден конец. Релиз намечен, waitlist запущен и вот я пишу для вас эту статью. Красота!

тоже мы, но через год
тоже мы, но через год

Ошибки (или нет?)

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

1. Делать дизайн и следовать ему

В январе 2023 года я попросил свою hot wife сделать дизайн.

Так выглядел процесс поиска концепта
Так выглядел процесс поиска концепта

Получили симпатичный дизайн с хорошим UX.

Тут 1/5 всех макетов
Тут 1/5 всех макетов

Почему это ошибка?
Потому что fail fast не подразумевает времени на создание UI-kit, сложную и долгую верстку и время на обсуждение дизайна. Надо было делать прототип на коленке и тестить на друзьях-путешественниках.

2. FastAPI на бэке

Не пойми меня неправильно, FastAPI — классный фреймворк, чтобы чувствовать себя программистом, а не фреймворкером (привет Django), но мы тут про бизнес, а не хобби. Поэтому надо было брать быстрое и знакомое — Django.

В итоге пришлось разбираться с Alembic, дружить его с SQLAlchemy и смотреть как валидироваться через Pydantic, писать авторизацию с нуля. Круто, но не про бизнес.

3. Проблемы с реализацией SwiftUI на iOS

SwiftUI - классный фреймворк, но с проблемами кастомизации. В одном месте ты сильно выигрываешь в простоте вёрстки, а потом тратишь всё остальное время на костыли и попытки скрестить его с UIKit для реализации недостающих элементов.

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

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

Деньги

Мы пока ничего не заработали, но уже потратили!

🐳 $5/месяц — сервер на Digital Ocean.
💰 $100/год — заносим Тиму Куку, чтобы он дал аккаунт настоящего iOS-разработчика.

Будущие расходы

✈️ $2800 — билеты в Тайланд для меня и моей жены. Надо же как-то за дизайн платить!
🐳 $40/месяц — с запуском приложения вырастет и мощность серверов.
💼 $1500/год — упрощенное ЮЛ в Германии, чтобы Stripe подключить. Вместе с налоговиком (Steuerberater) чуть больше получается, но пока точно не знаю сколько.

Пиши в комментарий за что мне еще придется платить! 🥹

Монетизация

Обязательно будет, но не сразу и не тупая. Наша идея такая: мы хотим, чтобы люди могли использовать приложение бесплатно, но больше плейслистов — это больше денег на сервер.
Скорее-всего будет подписка, которая разблокирует уникальные скинчики для приложения и неограниченные плейслисты / точки.

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

Дай мне знать в комментариях, если ты считаешь такую монетизацию говном! 💩

Мы

📱 Миша Кузьмин (iOS)
👋🏼 Вася Попов (я — бэк и фронт)
💅🏻 Анжелика Довнар (hot wife — дизайн)

Совет прошлому мне, настоящему тебе

Может это и прописные истины, но мне дались с трудом.

Хобби или бизнес

⚡️ Выбери: ты нашел себе новое хобби или делаешь бизнес? На хобби ты тратишь деньги, бизнес зарабатывает деньги (должен).
В бизнесе делай на том, на чем быстрее и думай про то, что ты не в корпорате.
В хобби делай че в кайф — тестируй гипотезы, изучай идеи, пробуй то, что раньше не делал.

Шаутаут автору презентации
Шаутаут автору презентации

Что читать и смотреть?

  1. На эту тему у Вастрика есть хорошая статья
  2. Ютуб YC поможет вдохновиться и ответить на базовые вопросы

Регулярность > «Щас сяду и все напишу сразу»

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

Кроме случаев, когда проект — это реально одно форма на реакте. Тут можно и пропушить себя немного.

Что дальше?

А дальше — совершать новые ошибки!

Сейчас мы запустили лист ожидания, куда ты можешь записаться и получить имейл, когда мы сделаем релиз. Все бесплатно и без смс!

Спасибо, что прочитал/а. Буду рад ответить на вопросы или обсудить почему это не заработает в комментариях 🙃

39 комментариев 👇

Побуду человеком, который всё портит :)
Идея очень хорошая, пост написан интересно, но как же, простите, заебали ранние доступы и листы ожидания! Вижу в профиле Германию, понимаю вайбы, но термин на приложение - это уже слишком.

Я - твоя ЦА. Я прочитал рекламу, я хочу твой продукт. Кривой, косой, но сейчас. Я готов писать тебе развернутые комменты "что не так", готов терпеть неудобства ранней версии, но дай пощупать!

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

Тем более, ты пришёл к Клубу (но делаешь это без уважения). Ты не инвесторам впариваешь грандиозные планы, ты своим друзьям пришел рассказать про свой проект. Но вместо проекта - пустые обещания и красивый лендинг.

Интересно было бы тебе читать посты "как я перееду в Америку", "как я получу свой первый оффер в Гугл", "Как я заработаю миллион а потом выгорю"?

Прости за токсичность, удачи тебе и твоему проекту.

  Развернуть 1 комментарий

@FEARmeR, все в порядке! Спасибо, что написал

  Развернуть 1 комментарий
Миша Безверхий управляющий изделием 5 марта в 17:00

Хороший пост, интересно было.
Наверное, не согласен с тем, что делать дизайн — ошибка, ошибка — делать его таким большим с самого начала. Нужен просто дизайнер, который тоже понимает концепцию фэйл фаст :)

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

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

  Развернуть 1 комментарий

@mixbez, спасибо за фидбэк! Не считаю себя выше других, хотел разжечь дискуссию.

  Развернуть 1 комментарий
🕵️ Юзер скрыл свои комментарии от публичного просмотра...

Подскажу не прошенный совет:

  • продукт прикольный, пока не доконца ясен вэлью его, но у меня у самого свалка, насколкьо для меня это критично? да только в моменте когда пишут друзья о том, что едут в спб и чтобы я скинул им места классные, в теории я просто давно уже собрал список и кидаю его (это вопрос про частотность проблемы)
  • когда собираешь вейтлист, бери за это бабки, так ты сразу проверишь настолько ли болит, просто вейтлист, ты поймешь примерно нихуя, ибо воронка дальше может быть 0, а деньги очень понятный фактор* (это вопрос про валидацию идеи)*
  • про дизайн верно все было и про разработку тоже, можно было вообще лендос пильнуть, или в фигме прототип собрать и дать друзьям потыкаться, - вставим тут слово кастедвчик (это вопрос про скорость)

А в остальном, круто что YC посмотрел, там как раз про все это рассказывается.

Ну и будем следить, че там дальше у тебя получится!

  Развернуть 1 комментарий

@gaserd, Я: ворчу что бесят очереди на приложение
Сергей: предлагает сделать очередь платной :)

  Развернуть 1 комментарий

@FEARmeR, да все так.

В моей логике, если вы ворчите на очередь, то возможно и не так сильно то вам это и нужно.

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

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

  Развернуть 1 комментарий
Petr Korolev ETHusiast in open-source & privacy 29 мая в 00:39

Отлично! Была практически такая же идея! Круто, что вы уже начали!
Несколько вопросов:

  1. Когда-таки дадите пощупать бетку (хоть кривую-косую)? Пост есть, а продукта нет.
  2. Хочу экспорт с Google maps (как писала @natix). Мне это важно, так как там у меня и у других ребят куча всего. Заново заполнять все будут лениться. Я с удовольствием вам этот экспорт сам напишу, если вы готовы коллаборировать и у вас остальная часть есть. Хочу юзать годные инди-продукты вместо неудобного Google!
  Развернуть 1 комментарий

@skywinder, привет! Проспал уведомление с твоим сообщением :)

  1. В ближайшие месяцы релиз! Если подписался на вейтлист, пришлем уведомлением.
  2. Экспорт тоже будет. Спасибо за готовность помочь! 😁 Я сам очень устал от Google Maps и у меня там куча всего, поэтому это одна из главных фич.
  Развернуть 1 комментарий
🕵️ Юзер скрыл свои комментарии от публичного просмотра...

Привет!

Рекомендую следить за проектом https://www.corner.inc/. Команда из долины, делают похожий сервис. Но я думаю, что вы про него в курсе :)

Буду ждать запуска. Удачи!

  Развернуть 1 комментарий

@m_nemkevich, привет! спасибо, сервис видел, слежу :)

  Развернуть 1 комментарий

Привет! Классная идея. В лист ожидания вписался. А какие примерные сроки релиза?

  Развернуть 1 комментарий

@atatarintsev, привет! Метим в июнь-июль. Спасибо, что вписался

  Развернуть 1 комментарий
Наталья Стусь фронтенд разработчик 6 марта в 13:52

Была практически такая же идея, даже начали что-то делать по ней :))
стало очень актуально, когда все вокруг номады или одновременно переехавшие, все делятся друг с другом списками мест, а менеджерить это в гугл-картах никак, там даже управление списками засунуто в какую-то дальнюю жопу, каждый раз не могу вспомнить где это.

  Развернуть 1 комментарий

@natix, круто! Если выпустите свое, пришли пост, интересно.
Гугл карты — боль, да :(

  Развернуть 1 комментарий

@vasilypopov_, Блин, я тоже пилю похожий сервис :), но пока только в вебе и будет в релизе не раньше следующего года. Дай знать как напишешь релизный пост в клубе. Интересно будет глянуть что у вас получилось. Ну и заодно поделюсь мыслями и идеями в коментах.

  Развернуть 1 комментарий
🕵️ Юзер скрыл свои комментарии от публичного просмотра...

@vasyaivanovpv, пока показывать особо нечего, может будет через месяц-два какой-то сырой вариант. Могу описать идею.

Проблема которую хочу решить это бедный функционал текущих карт в плане фильтрации того что ты добавил на карту.

Например у меня есть несколько карт по типу еда, хайкинг, досуг, путешествия

Хочу иметь возможность добавлять фильтры к каждой из этих карт, например:

  • еда: национальность кухни, основное блюдо, напитки, стоимость и т.д.
  • досуг: тип досуга (музей, парк, выставка), стоимость, время
  • путешествие: тип (отель, еда, дневной досуг, вечерний досуг), день

Основная идея дать пользователю возможность создавать свои карты и создавать свои фильтры

Насчёт карты с едой я вдохновляюсь вот этими ребятами https://berlinfoodstories.com/map?budget=105, но я не могу добавить в этот список свои места (грузинская и украинская кухня), у ребят их почти нет. Ещё я не могу накидать там своих фильтров

  Развернуть 1 комментарий
🕵️ Юзер скрыл свои комментарии от публичного просмотра...

Отличный проект. Записался в вейтлист

  Развернуть 1 комментарий
🕵️ Юзер скрыл свои комментарии от публичного просмотра...

Я так и не понял главный вопрос "какую проблему решает приложение"?

  Развернуть 1 комментарий
🕵️ Юзер скрыл свои комментарии от публичного просмотра...

Привет, какое-то время назад нашел для себя сервис, который скрепит гугл карты по всему миру и дает возможность разных сортировок по гео квадрату/городу/стране.

Я много путешествую на автодоме и активно пользуюсь этими сортировками, находятся невероятно интересные точки (например, бургерная в Дортмунде с 18К отзывами и высоким рейтингом https://maps.app.goo.gl/stK8VPTmYn9EBC7P9 или томатная ферма в в Швеции https://maps.app.goo.gl/F9hHxYwYzQWiYqaF7 ). Перестал смотреть какие-либо обзоры по городам.

https://www.top-rated.online

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

  Развернуть 1 комментарий

😎

Автор поста открыл его для большого интернета, но комментирование и движухи доступны только участникам Клуба

Что вообще здесь происходит?


Войти  или  Вступить в Клуб