Короче, меня задолбало, что списки всё время теряются. 

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

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

Но есть же Notion и его аналоги! Я создам необходимые вкладки и буду ответственно вести! Ахахаха, нет. Оказалось, что открыть отдельное приложение, продраться сквозь интерфейс и найти нужный список — это слишком высокий порог входа, когда надо записать на лету.

Как выглядят мои заметки
Как выглядят мои заметки

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

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

Легко добавлять, легко находить, всё само раскладывается по полочкам. Так родилась идея сделать бот для телеги «Коллектор». Телега всегда открыта, это удобно. Фишку с тегами там вроде можно реализовать.

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

Первым делом попробовал собрать всё через конструктор ботов. Фиг там. Этот функционал через них сделать нельзя. Пришлось искать программиста. И спустя месяц мучений появилась первая версия. Работала именно так, как я описал. Пишешь в боте сообщение:

#игры Новая Зельда - надо глянуть

Бот автоматом создаёт коллекцию «Игры» и добавляет туда первый пункт. Спустя неделю видишь, что вышла Диабло 4 и пишешь: 

#игры Диабло 4 - нужно взять отпуск

И бот добавляет к списку «Игры» новый пункт. 

Очень удобно. Искать нужный список или открывать отдельное приложение не нужно. Телега всегда открыта, а бот заботливое собирает информацию по категориям. Когда появилось время поиграть, то просто пишешь в бот «#игры». И он заботливо всё показывает:

#игры

  1. Новая Зельда - надо глянуть

  2. Диабло 4, как давно я тебя ждал

  3. Kena: Bridge of Spirits

  4. GRIS - в инфакте советовали

  5. Селестия

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

Чтобы увидеть список достаточно было написать хештег
Чтобы увидеть список достаточно было написать хештег

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

Чтобы вывести все коллекции использовалась команда «#все»
Чтобы вывести все коллекции использовалась команда «#все»

Но этого того стоило. Бот оброс собственными UI-виджетами, построение ленты стало эргономичным. Появилась кнопка «Menu» и кнопки управления коллекциями. В списке всех коллекций теперь можно тапнуть и увидеть содержание. Сами списки тоже стали удобнее за счёт использования динамического пейджинга. Как только вы меняете содержание коллекции, то автоматически обновляется сообщение телеги, где она показывалась. 

Кайф
Кайф

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

Так же мы реализовали на уровне сервера систему анонимности, чтобы было невозможно сопоставить коллекции с пользователями. Сам был в этом заинтересован. Вкратце, нигде в базе не хранятся идентификаторы пользователей. Они подменяются «засоленным» md5-хэшем. И если обычный md5 можно реверсивно расшифровать, то salt делает это занятие бесперспективным. Проще говоря, мы (или гипотетический злоумышленник) не можем персонифицировать пользователя.

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

Команды рядом с коллекциями позволяют открыть список по клику.
Команды рядом с коллекциями позволяют открыть список по клику.

Что в планах:

  1. Социальные функции, чтобы можно было вести общие коллекции;

  2. Возможность заливать готовый список;

  3. Возможность переносить пункты между списками и объединять их.

Я пригласил потестить Коллектор друзей и знакомых. И сто пользователей создали две тысячи заметок за пару месяцев. Немножко радуюсь, что пригодилось не только мне. В общем, крутая штука. Сейчас мы вроде всё отполировали, чтобы дать публичную ссылку: https://t.me/collcoll_bot

Бот бесплатный. Никакой рекламы нет и не будет. Если есть идеи что ещё можно прикрутить, то пишете в каментах. 

Комментарии (39)


  1. deepgaze
    07.07.2023 09:10
    +1

    Так так так

    Лайк, подписка, тестирование


  1. TooBigBigs
    07.07.2023 09:10
    +5

    Спасибо, интересный бот, уже пробую пользоваться.

    Сейчас я решаю задачу ведения списков через https://classic.tiddlywiki.com/ , это старая offline-версия, которая позволяет создавать локальную wiki внутри одного html-файла (всё это работает только через компьютер, html-файл переименовываем в *.hta). Внутри одного этого html-файла хранится и JS-код движка, и данные; теги и вики-ссылки позволяют делать списки нелинейными и взаимосвязанными. Наверное, новая версия TiddlyWiki позволяет работать online, но я не пробовал.

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


    1. Kesha_S Автор
      07.07.2023 09:10

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


  1. Kelv13
    07.07.2023 09:10
    +2

    Вроде, notes на iOS тоже поддерживает теги


    1. Kesha_S Автор
      07.07.2023 09:10
      +1

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


      1. 2FED
        07.07.2023 09:10
        +4

        Но ведь работает оно там ровно так же, как реализовано у вас…


      1. vagonovozhaty
        07.07.2023 09:10

        А еще:

        Hey Siri, take a note terminator two hashtag movies hashtag great


      1. Flexits
        07.07.2023 09:10

        Не только найти в виде списка, но и автоматически организовать в папки по тегам (и не только по тегам). Смарт-папки называется.


    1. Firsto
      07.07.2023 09:10
      +1

      Google Keep тоже, пользуюсь давно.


  1. tuxi
    07.07.2023 09:10

    Опционально дата-время добавления можно прикрутить? И запрет на изменения, типа галочку на весь список какойнибудь темы?


    1. Kesha_S Автор
      07.07.2023 09:10
      +1

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


  1. OmSoft
    07.07.2023 09:10
    +1

    Отдать для самохостинга в докере нет возможности?


    1. andrew_progs
      07.07.2023 09:10
      +1

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


      1. Kesha_S Автор
        07.07.2023 09:10

        Пока не хочу, но может быть позже выложу


        1. andrew_progs
          07.07.2023 09:10

          Ну я так и подумал, это нормально, что вы потратили на это средства и не хотите просто так отдавать

          Буду следить за вашими публикациями, вдруг передумаете :)

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


  1. garbagecollected
    07.07.2023 09:10
    +1

    Вы пробовали пользоваться Logseq?


    1. Kesha_S Автор
      07.07.2023 09:10

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


      1. Ndochp
        07.07.2023 09:10
        +2

        А телеграм типа не надо?
        Открыл телегу, перешел в папку "боты", нашел нужного (надеюсь нужность этого влезет в 5 бесплатных запиненых)
        Я для себя решал через https://workflowy.com/ закрепленной в нижней панели телефона. И да, нужно следить чтобы число списков помещалось на экране. В итоге 2 клика — приложение, список. Все.
        Правильная / ключевая мысль в критике ноушена — приложение для списков должно быть отдельным и заниматься только списками. Тогда и достигается 2 клика без продирания через интерфейс.


        1. Kesha_S Автор
          07.07.2023 09:10

          Телега всегда открыта, а коллектор просто ставишь в закреп


          1. Ndochp
            07.07.2023 09:10
            +2

            У меня закреп забит уже в 4 папках из 10. В ботах он забился первым.
            Ну и что значит "всегда открыт"


            • прям на экране — а тогда где вы взяли вдохновение для нового элемента списка?
            • в памяти — да без разницы приложение с ярлыка запускается все равно сразу. И если оно на первом же экране будет показывать список списков — больше мне ничего не надо.


      1. garbagecollected
        07.07.2023 09:10
        +1

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

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


  1. rehci
    07.07.2023 09:10
    +1

    На всё это я потратил 100 тысяч рублей.

    Не понял как это произошло, я так понял вы писали все сами?


    1. Kesha_S Автор
      07.07.2023 09:10

      Нет, не сам


  1. yurash
    07.07.2023 09:10
    +6

    Я не понимаю всего этого. То есть я понимаю, что автору он нравится и подошёл больше чем evernote / notion. Ну допустим, допустим там действительно "выше порог входа" - пока запустишь, пока выберешь новую папку - нужно совершить Х действий и пройдёт Y секунд, а коллектором нужно совершить X / 3 действий и пройдёт Y / 3 секунд. Но на этом преимущества закончились. Поиска нет (встроенный поиск телеграмма это не то). Быстрого редактирования нет. Работы над группами записей нет. Основное разделение - по тэгам, то есть привет "сказачноебали". Работы в офлайн нет (есть огрызок - можно скролить историю). Опять же, быстрый запуск из Телеграма - ок, но когда пользователь не в телеграме (а это часто) тоже надо значит запускать отдельное приложение. Или вот такая особенность, даже на вашем скрине видна проблема, которая будет всех касаться - "смысл, смыслы" легко забыть какой тэг использовался, задвоение похожих тэгов (и нет возможности быстро это отредактировать). Нужно что-то быстрое вместо evernote / notion - да хотя бы Google Keep подойдёт.


    1. Pavel1114
      07.07.2023 09:10

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


    1. semenovs
      07.07.2023 09:10

      Но зато у него есть возможность по своему собственному контексту искать своим собственным поисковым движком, оптимизированным под него самого. И так же можно добавлять новый функционал не меняя дизайн входного интерфейса для данных. Что то же на самом деле важно.


  1. rsashka
    07.07.2023 09:10
    +2

    Забыли тек "Я пиарюсь"


  1. laviol
    07.07.2023 09:10

    Носил в голове очень схожую идею с начала года. Видимо мысль действительно материальна. Спасибо за статью и за бота! Будем пробовать.


  1. omgiafs
    07.07.2023 09:10

    JTX Board же. Своё, никто не отключит.

    Журналы, заметки, задачи. Теги. Синхронизация. Опенсорс. Бесплатно :)


  1. alzurken
    07.07.2023 09:10

    Решил похожую проблему через Notion и GTD. Действительно неудобно на ходу продираться через интерфейс, поэтому на главной есть отдельная страничка Входящие. Туда сваливается все одной кучей. Позже когда есть время сортируется по GTD методллогии. В итоге все красиво, удобно.

    Из идей для бота может full text search? Если помнишь что именно записывал, но не можешь найти куда.

    По статье не понял есть ли возможность редактировать заметки - ненавижу опечатки.

    Еще можно сделать #напомни, чтобы бот в определенный момент прислал сообщение с текстом заметки.

    Классный продукт, удачи в развитии.


  1. AnonimYYYs
    07.07.2023 09:10

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


  1. Tony-Sol
    07.07.2023 09:10
    +2

    Я наверное тупой, но в упор не вижу профита в сравнении с apple notes/google keep/microsoft onenote/obsidian/dendron/nvim-neorg и еще тысячей бесплатных альтернатив


  1. ZikFriend
    07.07.2023 09:10

    Лайк


  1. SumarokovVladimir
    07.07.2023 09:10

    За идею и реализацию - плюсище.

    Кто будет критиковать - не слушай. Сами на ...опе ровно большинство сидит


  1. Jon7
    07.07.2023 09:10

    У этого подхода есть существенный недостаток, в записях нет перекрестных ссылок. Когда одна запись содержит ссылки на другие записи. Тогда формируется рабочее дерево, даже группа деревьев. Есть направление и темы это теги, есть ветви это списки карточек, есть карточки листья содержащие заметки markdown, ссылки на внешние ресурсы, картинки, схемы и графики. И самое главное это поиск. Когда будет несколько сотен карточек с записями, тегов и списков для комфортной работы не хватает. И ещё ценная фича, возможность удобно отравлять ссылки в приложение. Я себе такую картотеку сделал из simpleNote от wordpress. Получилась мощная минималистичная вещь. zettencasten + gtd в одном приложении. Возможность backup прилагается в текстовом формате, это крайне ценно.


  1. semenovs
    07.07.2023 09:10

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

    У меня была куча функционала который делает все на свете от скачивания торрентов до постинга в соц сети и он просто был в коде )

    Сейчас пришел к понимаю концепции, в которой бот должен быть полностью автономным и не требовать никаких команд или меню. При открытии бот должен выглядеть как только что созданный, и я могу просто кидать ему любые сущности , а он сам все должен разруливать. Пока что я успешно справляюсь с поиском в интернете, получением кратких выписок из трехчасовых скрамов, написанием заметок и отправкой их на почту, а также проверкой и использованием социальных сетей и конечно закладки ). На выходных хотел успеть поиск по геолокации прикрутить :типа я ему "Хочу есть",а он мне "Там за углом вкусная шаверма и отзывы не плохие".


    1. Graf54r
      07.07.2023 09:10
      +1

      Кафка? Надеюсь Spark и Hadoop тоже присутствуют!


  1. BugM
    07.07.2023 09:10

    В статье очень не хватает ссылочки на Гитхаб. Такие штуки должны быть опенсорс.

    100к это ерунда в конце концов. Неделя разработки плюс-минус. На известности и публичности легко отобьется. Если взлетит. Менеджеры генерирующие классные идеи новых продуктов и доводящие их до MVP всем нужны.


  1. Artemasd1988
    07.07.2023 09:10

    Вкратце, нигде в базе не хранятся идентификаторы пользователей. Они подменяются «засоленным» md5-хэшем. И если обычный md5 можно реверсивно расшифровать, то salt делает это занятие бесперспективным. Проще говоря, мы (или гипотетический злоумышленник) не можем персонифицировать пользователя.

    Почему вы не сможете расшифровать ID пользователя? У вас соль одна на всех?