Проект: Полюс.Ноль — дневник, придуманный заново  Публичный пост
1 марта 2024  1062
Полюс.Ноль - дневник, придуманный заново
https://zeropole.app

Господи, как долго я мечтал написать сюда этот пост 😍

Поехали 🛫

Оно мне надо?

Вам знакомо чувство, что вы пишете пет, вы такие заряженные и креативные, а через неделю вы понимаете, это все точно уйдет в стол? 😕

Так вот, полюс.ноль - это первый мой проект, с которым у меня не случилось такого ощущения. Я ПОВЕРИЛ в него 😏

О чем это?

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

  • помогает глубоко рефлексировать 👁️
  • пытаться замечать неочевидные зависимости между тем, что мы делаем, и тем, что чувствуем 👀
  • помогает придерживатся своих принципов 📃
  • помогает задавать самому себе правильные вопросы (с небольшой щепоткой ИИ) 🤔

В этом и суть названия: если взглянуть на компас - там 4 направления. Меня же интересовал сугубо центр - поиск себя.

Мои траблы

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

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

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

Так я года 3 назад и начал его писать ✍️

Вдохновился, воодушевился, даже жене своей не рассказывал, что именно делаю.

Базовая идея

Мысль была супер проста. Я хотел записывать и понимать, что я делаю, и как это влияет на мое состояние. 😌

Мне нужно было дать возможность создавать факторы (то, что я делаю) и состояния (то, что я чувствую). Причем акцент был сделан не на текстовые поля, а на числовые и бинарные. Иначе как я посчитаю зависимость?

Пример: стресс на работе (фактор) - 5 баллов, чувство опустошения (состояние) - 5 баллов.

Потом добавить это все на одну форму. Сохранить. Обсчитать. Показать результат.

Есть даже видос, где я объясняю, как работала первая версия.

Стэк, куча, связный список

Т.к. я рубист, выбор технологий был для меня очевидным.

  • Rails 🛤️
  • Ruby 💎
  • Telegram Bot Ruby gem 🤖
  • MongoDb (ниже расскажу, почему именно монга) ⛺️
  • React ⚛️
  • TailwindCSS 💅
  • Digital Ocean 🌊
  • Capistrano (да, в 2к24).

Я делал все на server rendering кроме сложных страниц, где мне помогал React. Но позже я отказался от него в пользу более интересной и перспективной технологии (читай ниже).

Почему MongoDB?

Для рубистов это не самый частый выбор, но мне нужна была технология, которая

  1. позволит гибко составлять дочерне-родительские связи.

Вот у меня есть рефлексия, в ней есть результаты факторов (ссылка на фактор + значение сегодня) и состояний (ссылка на состояние + значение сегодня).

Можно использовать JOIN таблицы в реляционке, а можно не дурить себе голову и сделать просто:

{
    "reflection_id": "25",
    "factors":  [
       {
         "id": 100,
         "value": 5
       }
    ]
}
  1. позволит удобно менять схему в гибком к требованиям и идеям проекте;
  2. это новая для меня технология, которую хотелось пощупать.

Почему Telegram Bot

Я считаю себя вменяемым человеком 😅 и осознаю, что веб не должен быть единственным вариантом, а так как я не умел не то, что в Swift/Kotlin, а даже в мобильную верстку, я заюзал телеграм бота, чтобы в нем можно было рефлексировать и получать себе напоминания о принципах.

Это работает до сих пор 🧸

Чем хуже, тем лучше

Спустя несколько месяцев работы в свободное время, я сделал первую версию, торжественно собрал жену и друзей за одним столом, включил камеру и начал ПИТЧИТЬ.

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

Потом я стал делать акцент, что это все больше про кукуху все-таки 😅

Не просто сложно, а п##дец как сложно

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

НИКТО не мог понять, как это работает. Все только говорили, что должно быть ПРОЩЕ.

Но потом я придумал, как это сделать. Стало лучше, но неидеально до сих пор 😅

УТП (или почему не Notion/Excel)

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

Ренессанс

После какого-то времени я осознал, что сложные UX вещи надо переписать, заодно применив свои новые знания по фронту.

HTML Over The Wire

В то время как раз вышел Hotwire от Rails. Почитайте, если интересно. Вкртаце, это штука, которая отправляет AJAX запросы на сервер, и присылает готовый HTML, который вставляется в нужное место на странице, заменяя или расширяя текущие элементы/списки.

Я выбросил React, взял UI библиотеку Preline.

Это дало мне такой виток вдохновения, что я не мог оторваться!

Вопросики к ChatGPT?

Также я решил заменить текстовые факторы на другую сущность - вопросы. А потом, во время прогулки, придумал, что ответы на вопросы можно скармливать ChatGPT, и получать новые вопросы для углубления рефлексии 😌

Я прям кайфнул от этой идеи и сделал ее буквально за вечер 😄

Лендос

Preline позволил по-новому взглянуть на фронтенд.

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

Ничего особенного, но кайф получил.

Интернационализация

Ох, как мне здесь помог ChatGPT. Я тупо скармливал ему свои YAML-ики с переводами и получал назад готовые YAML-ики. Надо было немного проверить и подкорректировать.

Stripe

Я был так воодушевлен, что даже завел себе Stripe и мой друг купил у меня подписку 😅

А потом я прочитал статью, как чела зачарджили в ОАЭ на 10к$ за то, что тот не захендлил VAT. Оказалось, что Stripe не хендлит налоги в странах продажи.

А я и не думал даже про это 😔

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

Маркетинг

Вначале я вообще не планировал, что этим будет кто-то пользоваться, а потом у меня появился азарт. А почему нет?

Ниже расскажу, что я пробовал.

Tik Tok

Я придумал делать короткие видео с глубокими вопросами, которые бы потом вели на мой пет, но создание видео ( даже коротких ) - это ОЧЕНЬ долго. Поэтому этот вариант пока на паузе.

Twitter

У меня не очень много подписичков, но я рассказываю о своем проекте иногда. Не уверен, что кто-то пришел оттуда 😅

Instagram

Недавно сделал промо-сториз в инстаграм. Так рассказал более широкому кругу людей про проект.

При том, что сториз глядело в районе 80 человек - хоть как-то отреагировало человек 5-7.

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

YouTube

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

Reddit, ProductHunt, прямая реклама

До этого я пока не дорос 😕

Над чем работаю сейчас?

Сейчас работаю над тем, чтобы еще упростить UX, немного над дизайном, чтобы просто стало еще аккуратнее.

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

Большое спасибо, что прочитали 🙏

26 комментариев 👇
Анна Малинина Дизайнер интерфейсов 1 марта 2024

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

я ввела код, бот ответил "lets go". сижу и думаю, либо следующие сообщения не долетели еще, либо на этом все, дальше сама.

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

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

@Raspberry, уау! огромное спасибо! все в точку. буду работать над этим 🙏

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

Ух, как-то тяжело сразу въехать, но больше всего похоже на self-reflection/mood journal, аудитория которых пользуется чем-то вроде Notion.

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

С точки зрения UI вот этот вариант шаблона показался прикольным, где всё на одном экране:
https://poonamsharma.gumroad.com/l/eaikk?layout=profile

Если представить веб-сервис, в котором для каждого дня будет сформирован автоматический «контекст дня» через API:

— Sleep tracker
— Health apps (Welltory, etc)
— Fitness app
— Weather
— RSS (News, etc)

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

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

P.S. Письма с подтверждением летят в спам gmail, хотя проверку проходят: Why is this message in spam? Lots of messages from zeropole.app were identified as spam in the past.

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

@ste1v0, спасибо за такой развернутый коммент 🙏

шаблоны в Notion - прекрасная идея, причем явно больше денег принесет авторам 😅

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

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

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

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

Привет, а у меня не открывается!

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

@VladimirBrejcha, а теперь открывается)

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

Лендос супер, очень вдохновило, но!

Тут ошибка! В 2024 наоборот телефоны больше будут не нужны! (это отсылка на мои новогодние предсказания😁)

Вообще конечно телеграм наверное не самая удачная платформа) не у всех он есть и не все его используют часто/имеют на смартфоне.

Если задумаешься о написании приложеньки — стучись, помогу)

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

@VladimirBrejcha, спасибо большое! да, согласен, что телеграм - не самая удачная. но это то, что я мог реализовать для мобилки, и, кстати, сам вполне пользовался 😅

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

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

после регистрации и авторизации перекинуло в настройки и тут просят установить ЧП. а зачем? с точки зрения UX хорошо будет пояснить, что это даст юзеру...
далее кнопка "Как это работает" почему-то не редиректит никуда, хотя ссылка-то там есть... хз.
код подключения к боту, честно говоря, выглядит страшно без пояснений опять же. как будто мне надо будет самой подключать какое-то api куда-то и всё такое - выглядит сложно и может поэтому оттолкнуть.

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

@Raspberry, спасибо за коммент! да, ЧП нужно остановить, чтобы правильно приходили нотификахи в ТГ. пояснение добвить будет явно не лишним, спасибо 🙏

кнопка как это работает должна вести на инструкцию. странно, что не работает( попробуй, пожалуйста, еще раз.

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

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

@lovenic, пока ЧП не выбран - редиректит на сеттингс сразу же.

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

мне кажется, как минимум нужно опять же пояснить схему. например:
приложение работает с помощью бота в телеге.

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

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

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

@Raspberry, редирект - это такая жестковатая форма welcoming guide, который сделан топорно. пока не было ресурсов сделать красиво аккуратно, подсветить все. в будущем обязательно надо будет заняться, потому рил есть проблемы с пониманием интерфейса, идеи и UX в целом.

спасибо за совет с ТГ, обязательно сделаю подпись 🙏

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

@lovenic, если что пиши в ТГ (сейчас или потом), поштурмим вместе над тем, что можно улучшить.
я еще неофициальный сварщик, но люблю искать решения :)

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

@Raspberry, ой, спасибо огромное 🙏

а "сварщик" - это на сленге что-то? как-то, к стыду своему, не знаю 🤷

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

@lovenic, да мем очередной)) вместо сварщика подставляется профессия по смыслу. например, дизайнер

  Развернуть 1 комментарий
Ivan Klimchuk Senior Software Engineer, SRE, TechLead 25 апреля 2024

Вместо Stripe можно попробовать lemonsqueezy, они как раз выступают по сути стором для клиента, беря на себя все детали по налогам и прочему. Ну и по отзывам на индихакерс, они всякие saas любят

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

У меня что-то не работает( после #start ничего не пишет

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

@ltagieva, подскажите, пожауйста, а что такое #start?

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

@lovenic, сразу как открываешь бот отравляется /start и бот молчит :(

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

@ltagieva, спасибо! нашел бажок! надеюсь, сейчас все заработает 🙏

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

@lovenic, потеряла теперь в личном кабинете код 😅 сорри, я не айтишник
Бот прислал « To use the bot, you need a subscription. Check out the profile settings in the web version 🙏»

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

😎

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

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


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