В детстве я подолгу засиживался в Uplink, где от лица хакера вы проникаете во внутренние системы организаций и забираете их данные.
Сегодня мы попробуем проникнуть внутрь сервиса с годовой выручкой $2.7 млн, построенного на Bubble, и получить “немного” личных данных оттуда 😏
Следите за руками и повторяйте за мной:
0. Данный фокус можно проделать с любым сайтом на Bubble, но для интереса мы возьмем сервис из раздела Showcases. Там представлены наиболее успешные компании, использующие Bubble, и одна из них - BetterLegal. Она помогает открывать бизнес в США и обслуживает 15 тысяч клиентов, имея годовой оборот $2.7 млн. Компания собирает множество личной информации для заполнения официальных бумаг и должна иметь хорошую безопасность.
1. Проверяем HTML-код сайта (ПКМ - Исследовать / F12)- сайты на основе Bubble содержат в названиях классов слово “bubble”.
Их лендинг сделан на Bubble, но иногда лендинги собирают с помощью других конструкторов (Tilda, Webflow), поэтому следует проверять сразу страницу аутентификации (Логин/Регистрация).
Нажав на кнопку Login мы попадаем на страницу с другим URL - порталы часто располагаются на отдельных субдоменах.
2. Пора посмотреть что у них под капотом - добавьте к доменной части “/api/1.1/meta/swagger.json”. Пример - https://app2.betterlegal.com/api/1.1/meta/swagger.json
3. Ура - мы внутри. Этот большой JSON содержит в себе описание API сайта. Пользуясь поиском по странице (Ctrl+F) и ключевым фразам мы можем быстро пробежаться по 3 вещам:
1. retrieve a list - таблицы базы данных с описанием запросов к ним
2. Triggers the workflow - backend workflows
3. "definitions" - параметры таблиц баз данных и структура запросов к backend workflows
4. Давайте попробуем вытащить данные одной из таблиц - для этого нужно добавить к доменному имени “/api/1.1/obj/[тут имя таблицы]”. В нашем примере это таблица Affiliate - https://app2.betterlegal.com/api/1.1/obj/affiliate
5. Готово, вы прекрасны! Используя дополнительные параметры cursor и limit, вы можете получить список 106 тысяч имен и емайлов, которые не должны были оказаться в публичном доступе. Проверив таблицу “org” вы вдобавок обнаружите список компаний, скорее всего зарегистрированных в данном сервисе, всего их 28 тысяч на данный момент.
Вау, очень интересно! Но какой урок мы можем вынести из всего этого?
Скорее бегите в базу данных настраивать Privacy rules, если вы еще не сделали этого.
А если вы хотите узнать, как дернуть на этом сайте backend workflow и получить сервис показывающий весь этот сложный JSON в хорошем виде еще и с открытыми backend workflows и количеством данных в базах - ставьте лайк и подписывайтесь - скоро я опубликую следующую часть.
Сегодня мы попробуем проникнуть внутрь сервиса с годовой выручкой $2.7 млн, построенного на Bubble, и получить “немного” личных данных оттуда 😏
Следите за руками и повторяйте за мной:
0. Данный фокус можно проделать с любым сайтом на Bubble, но для интереса мы возьмем сервис из раздела Showcases. Там представлены наиболее успешные компании, использующие Bubble, и одна из них - BetterLegal. Она помогает открывать бизнес в США и обслуживает 15 тысяч клиентов, имея годовой оборот $2.7 млн. Компания собирает множество личной информации для заполнения официальных бумаг и должна иметь хорошую безопасность.
1. Проверяем HTML-код сайта (ПКМ - Исследовать / F12)- сайты на основе Bubble содержат в названиях классов слово “bubble”.
Их лендинг сделан на Bubble, но иногда лендинги собирают с помощью других конструкторов (Tilda, Webflow), поэтому следует проверять сразу страницу аутентификации (Логин/Регистрация).
Нажав на кнопку Login мы попадаем на страницу с другим URL - порталы часто располагаются на отдельных субдоменах.
2. Пора посмотреть что у них под капотом - добавьте к доменной части “/api/1.1/meta/swagger.json”. Пример - https://app2.betterlegal.com/api/1.1/meta/swagger.json
3. Ура - мы внутри. Этот большой JSON содержит в себе описание API сайта. Пользуясь поиском по странице (Ctrl+F) и ключевым фразам мы можем быстро пробежаться по 3 вещам:
1. retrieve a list - таблицы базы данных с описанием запросов к ним
2. Triggers the workflow - backend workflows
3. "definitions" - параметры таблиц баз данных и структура запросов к backend workflows
4. Давайте попробуем вытащить данные одной из таблиц - для этого нужно добавить к доменному имени “/api/1.1/obj/[тут имя таблицы]”. В нашем примере это таблица Affiliate - https://app2.betterlegal.com/api/1.1/obj/affiliate
5. Готово, вы прекрасны! Используя дополнительные параметры cursor и limit, вы можете получить список 106 тысяч имен и емайлов, которые не должны были оказаться в публичном доступе. Проверив таблицу “org” вы вдобавок обнаружите список компаний, скорее всего зарегистрированных в данном сервисе, всего их 28 тысяч на данный момент.
Вау, очень интересно! Но какой урок мы можем вынести из всего этого?
Скорее бегите в базу данных настраивать Privacy rules, если вы еще не сделали этого.
А если вы хотите узнать, как дернуть на этом сайте backend workflow и получить сервис показывающий весь этот сложный JSON в хорошем виде еще и с открытыми backend workflows и количеством данных в базах - ставьте лайк и подписывайтесь - скоро я опубликую следующую часть.
Спасибо за огромный отклик! Продолжаем.
1. Ребята из золотого агентства Bubble - Tinsko, любезно предоставляют сервис для проверки своего приложения. Для этого, однако, потребуется не домен сайта, а ID приложения внутри Bubble. Откуда же нам его взять? Правильно - все из того же файла, он располагается прямо в самом начале API спецификации в параметр “title”.
2. Используем найденный ID (betterlegal) и получаем результат. У нас, как на ладони, лежат все доступные страницы, таблицы, workflows, option sets, плагины и даже API ключи в скрытом виде. Отсюда удобно быстро проверять в каких таблицах имеются данные, находить скрытые страницы (к примеру /test - никогда не забывайте закрывать страницу, на которой вы тестируете функционал), а также увидеть какие из workflows открыты. (открытые workflows имеют пустой параметр "security": [] в спецификации)
3. И так - мы нашли 4 открытых workflows. Так как у нас есть доступ к таблице Affiliate, мы выберем workflow affiliate-create-user. По названию workflow мы можем найти описание структуры запроса в конце спецификации. Из описания следует, что в запросе должен быть указать параметр affiliate, который является ничем иным как unique ID записи таблицы Affiliate.
4. Составляем запрос.
- URL запроса - https://app2.betterlegal.com/api/1.1/wf/affiliate-create-user
- метод POST (из спецификации - “description": "Body of the POST request")
- для JSON Body мы возьмем unique ID случайной записи из Affiliate - {"affiliate":"1643829228111x996033319926247400”}
Не забудьте указать в Headers Content-Type=application/json.
5. Отправляем запрос и получаем ответ "status": "success”. Ура🥳 Возможно, мы только что создали проблем для разработчика, которому придется разбираться с очередным странным поведением системы, как будто у него нет других забот. Ай-я-яй…
Лирическое отступление - данную фичу(а не баг) я нашел не сам, ее опубликовал Ryan Kulp. Из статьи следует, что он писал множеству сайтов с данной дырой в системе, но большинство из них не ответили.
По моему личному опыту большинство команд не успевают следить за всеми деталями, люди в командах то и дело меняются и в приоритете находятся совсем другие задачи. Отсутствие настроек приватности может указывать на использование этих данных в каких-либо запросах внутри Bubble или извне. Из-за неэффективного построении БД или воркфлоус вы можете оказаться заложником такой ситуации и ее исправление (закрытие данных от публики) может стать очень трудозатратным в будущем.
Чтобы избежать такой ситуации, сверьтесь с чеклистом Tinsko и стройте приложения с учетом будущего роста.
Хотите узнать как улучшить производительность и безопасность Bubble приложения?
Ставьте лайк и подписывайтесь - совсем скоро я опубликую 5 советов по улучшению безопасности вашего Bubble приложения.
P.S. камон, не все так страшно, просто поставьте галочку Hide Swagger API documentation access в Settings - API😐
1. Ребята из золотого агентства Bubble - Tinsko, любезно предоставляют сервис для проверки своего приложения. Для этого, однако, потребуется не домен сайта, а ID приложения внутри Bubble. Откуда же нам его взять? Правильно - все из того же файла, он располагается прямо в самом начале API спецификации в параметр “title”.
2. Используем найденный ID (betterlegal) и получаем результат. У нас, как на ладони, лежат все доступные страницы, таблицы, workflows, option sets, плагины и даже API ключи в скрытом виде. Отсюда удобно быстро проверять в каких таблицах имеются данные, находить скрытые страницы (к примеру /test - никогда не забывайте закрывать страницу, на которой вы тестируете функционал), а также увидеть какие из workflows открыты. (открытые workflows имеют пустой параметр "security": [] в спецификации)
3. И так - мы нашли 4 открытых workflows. Так как у нас есть доступ к таблице Affiliate, мы выберем workflow affiliate-create-user. По названию workflow мы можем найти описание структуры запроса в конце спецификации. Из описания следует, что в запросе должен быть указать параметр affiliate, который является ничем иным как unique ID записи таблицы Affiliate.
4. Составляем запрос.
- URL запроса - https://app2.betterlegal.com/api/1.1/wf/affiliate-create-user
- метод POST (из спецификации - “description": "Body of the POST request")
- для JSON Body мы возьмем unique ID случайной записи из Affiliate - {"affiliate":"1643829228111x996033319926247400”}
Не забудьте указать в Headers Content-Type=application/json.
5. Отправляем запрос и получаем ответ "status": "success”. Ура
Лирическое отступление - данную фичу(
По моему личному опыту большинство команд не успевают следить за всеми деталями, люди в командах то и дело меняются и в приоритете находятся совсем другие задачи. Отсутствие настроек приватности может указывать на использование этих данных в каких-либо запросах внутри Bubble или извне. Из-за неэффективного построении БД или воркфлоус вы можете оказаться заложником такой ситуации и ее исправление (закрытие данных от публики) может стать очень трудозатратным в будущем.
Чтобы избежать такой ситуации, сверьтесь с чеклистом Tinsko и стройте приложения с учетом будущего роста.
Хотите узнать как улучшить производительность и безопасность Bubble приложения?
Ставьте лайк и подписывайтесь - совсем скоро я опубликую 5 советов по улучшению безопасности вашего Bubble приложения.
P.S. камон, не все так страшно, просто поставьте галочку Hide Swagger API documentation access в Settings - API
Please open Telegram to view this post
VIEW IN TELEGRAM
Вы спросите меня - а как же избежать возможного проникновения внутрь вашего Bubble приложения?
Давайте рассмотрим шаги, которые позволят обезопасить вас:
1. Для начала, отключим отображение спецификации. Для этого нужно зайти в Settings - API и убрать галочку с Hide Swagger API documentation access. Теперь, если добавить api/1.1/meta/swagger.json к URL, то вы получите JSON с ошибкой 404. Однако, это не закрывает доступ к открытым workflows и таблицам БД.
2. Чтобы перейти к разбору workflows нам нужно понять основные слои Bubble API:
- При подключении по API сначала происходит аутентификация - Bubble проверяет подлинность предоставленной вами информации.
Вы можете предоставить:
— bearer token админа, который создается в Settings - API и предоставляет неограниченные права администратора.
— токен пользователя, который можно получить использовав связку логин/пароль и action Log the user in в API workflows.
- Далее, в случае аутентификации под пользователем, система идентифицирует вас по предоставленному токену и определяет какой именно из пользователей вы.
- И в конце авторизирует - определяет какие права вы имеете согласно вашим параметрам. В этом случае права будут ограничены согласно созданным Privacy Rules в БД. Мы рассмотрим это подробнее в следующем посте про Data API и Privacy rules. Я лично не использовал такой метод, но он может быть полезен при разработке SaaS решений.
4. Перейдем к API workflows (один из видов backend workflows). По дефолту они создаются с включенным параметром Expose as public API workflow. Это значит, что они будут видны снаружи, но доступ к ним будет закрыт. Дернуть такие workflows можно изнутри Bubble или снаружи при помощи API токена. Если параметр выключен, вы не сможете дергать этот workflow даже с токеном админа и workflow перестанет быть виден (будет выдавать ошибку 404).
5. Чтобы открыть доступ для всех к публичному API workflow, вам нужно поставить галочку This workflow can be run without authentication. В данном случае любой человек в интернете сможет дернуть этот workflow и потратить capacity вашего приложения (да-да, вы можете скриптом на питоне положить пресловутый Betterlegal в течении часа). Насколько я это понял, данный параметр имеет смысл только при включенном Expose as public API workflow.
6. В случае, если вы авторизовались как пользователь (не админ), то ваши действия будут ограничены Privacy Rules из БД. Если для какого-то кейса вам потребуется игнорировать эти ограничения вы можете использовать параметр Ignore privacy rules when running the workflow.
Ставьте лайк и подписывайтесь - в следующий раз мы разберем Data API и Privacy Rules, от которых перейдем к созданию ролей.
Давайте рассмотрим шаги, которые позволят обезопасить вас:
1. Для начала, отключим отображение спецификации. Для этого нужно зайти в Settings - API и убрать галочку с Hide Swagger API documentation access. Теперь, если добавить api/1.1/meta/swagger.json к URL, то вы получите JSON с ошибкой 404. Однако, это не закрывает доступ к открытым workflows и таблицам БД.
2. Чтобы перейти к разбору workflows нам нужно понять основные слои Bubble API:
- При подключении по API сначала происходит аутентификация - Bubble проверяет подлинность предоставленной вами информации.
Вы можете предоставить:
— bearer token админа, который создается в Settings - API и предоставляет неограниченные права администратора.
— токен пользователя, который можно получить использовав связку логин/пароль и action Log the user in в API workflows.
- Далее, в случае аутентификации под пользователем, система идентифицирует вас по предоставленному токену и определяет какой именно из пользователей вы.
- И в конце авторизирует - определяет какие права вы имеете согласно вашим параметрам. В этом случае права будут ограничены согласно созданным Privacy Rules в БД. Мы рассмотрим это подробнее в следующем посте про Data API и Privacy rules. Я лично не использовал такой метод, но он может быть полезен при разработке SaaS решений.
4. Перейдем к API workflows (один из видов backend workflows). По дефолту они создаются с включенным параметром Expose as public API workflow. Это значит, что они будут видны снаружи, но доступ к ним будет закрыт. Дернуть такие workflows можно изнутри Bubble или снаружи при помощи API токена. Если параметр выключен, вы не сможете дергать этот workflow даже с токеном админа и workflow перестанет быть виден (будет выдавать ошибку 404).
5. Чтобы открыть доступ для всех к публичному API workflow, вам нужно поставить галочку This workflow can be run without authentication. В данном случае любой человек в интернете сможет дернуть этот workflow и потратить capacity вашего приложения (да-да, вы можете скриптом на питоне положить пресловутый Betterlegal в течении часа). Насколько я это понял, данный параметр имеет смысл только при включенном Expose as public API workflow.
6. В случае, если вы авторизовались как пользователь (не админ), то ваши действия будут ограничены Privacy Rules из БД. Если для какого-то кейса вам потребуется игнорировать эти ограничения вы можете использовать параметр Ignore privacy rules when running the workflow.
Ставьте лайк и подписывайтесь - в следующий раз мы разберем Data API и Privacy Rules, от которых перейдем к созданию ролей.
Всем привет!
Налетело много проектов и нет времени дописать посты, но на днях они появятся.
А пока делюсь вакансиями, которые мне прилетают в Linkedin (если вы еще не начали раскачивать свой профиль, скорее подключайте Waalaxy)
1. Netguru ищут Flutterflow разработчика с зп до 6.7k EUR
2. Split Lease ищут Bubble разработчика. Скидывать резюме на английском на почту - robert@leasesplit.com.
Налетело много проектов и нет времени дописать посты, но на днях они появятся.
А пока делюсь вакансиями, которые мне прилетают в Linkedin (если вы еще не начали раскачивать свой профиль, скорее подключайте Waalaxy)
1. Netguru ищут Flutterflow разработчика с зп до 6.7k EUR
2. Split Lease ищут Bubble разработчика. Скидывать резюме на английском на почту - robert@leasesplit.com.
Вы устали от смены вкладок по тысяче раз на дню? Хотите вставить волшебную кнопку в интерфейс, которая решит все ваши проблемы?
Я тоже! Каждый день мне нужно отвечать на десяток офферов на Upwork и для каждого инструмента я использую уникальное сообщение. Именно поэтому я сделал плагин с помощью ChatGPT, который добавляет кнопки на все случаи жизни.
Как это работает?
1. Я открываю офер и вижу 4 кнопки - Universal, Make, Bubble, Airtable.
2. Жму одну из них и подготовленный ответ вставляется в инпут.
3. Готово
Круто, но! Чтобы создать такой плагин, вам нужно собрать в папку несколько файлов с кодом и залить это себе в браузер, а при желании сменить 2 слова в тексте вам нужно будет сделать все это заново. Я уже не говорю о том, что кнопки отображаются через раз, ответ исчезает из поля, если снять с него фокус, а при ковырянии в сайте через панель разработчика Upwork может ограничить вам доступ к сайту на некоторое время.
Звучит муторно и грустно😴 …
А есть ли альтернатива? Arc Boosts!
Boosts - одна из фичей браузера Arc, которая позволяет делать свой мини-плагин для любого сайта. При помощи Boosts вы можете навсегда спрятать shorts в ютубе или покрасить твиттер в желтый цвет. С помощью этой фичи я перенес плагин в два счета и теперь могу менять текст и дебажить его без особых проблем. Попробуйте сами - ссылка на мой JS скрипт (работает 50% на 50%).
Кроме того, лично для меня этот браузер лидирует в удобстве организации вкладок и пространств.
(Если вы устали от переключения между аккаунтами разных клиентов - посмотрите Sidekick, в платной версии можно создавать изолированные workspaces)
___
Вау! Теперь я смогу кастомизировать интернет под себя. Но как же мои клиенты? Могу ли я кастомизировать браузер для них?
А хотят ли ваши клиенты запускать целые цепочки действий по кнопке прямо в интерфейсе Gmail/Linkedin/Google Sheets с захватом данных со страницы?
Хотят ли они получать уведомления о всех событиях прямо в браузере?
Хотят ли они создать бесшовный рабочий процесс, который сохранит им десятки часов?
Если ответ да, то вам нужен Ply.io
Кроме вышеперечисленного вы можете вызвать командную строку, через которую запускаются кастомные сценарии (как в Make).
В сценарии можно использовать множество различных утилит, AI функции и кастомные формы для сбора данных.
Именно тут я и остановился, сделав себе несколько сценариев для копирования текстов под различные офферы.
____
Фуф!🤯
Кажется, мы уже достаточно набили вашу голову новыми идеями и полезной информацией, но это еще не все…
Дело в том, что изначально плагин был совсем другим - он умел забирать текст офера и прогонять его через ChatGPT, у плагина был интерфейс на Bubble и каждый пользователь мог сам настраивать промпт под себя, но что-то пошло не так…
Ставьте лайк и подписывайтесь, в следующий раз мы узнаем что пошло не так и как собрать свой сложный плагин с ИИ
Я тоже! Каждый день мне нужно отвечать на десяток офферов на Upwork и для каждого инструмента я использую уникальное сообщение. Именно поэтому я сделал плагин с помощью ChatGPT, который добавляет кнопки на все случаи жизни.
Как это работает?
1. Я открываю офер и вижу 4 кнопки - Universal, Make, Bubble, Airtable.
2. Жму одну из них и подготовленный ответ вставляется в инпут.
3. Готово
Круто, но! Чтобы создать такой плагин, вам нужно собрать в папку несколько файлов с кодом и залить это себе в браузер, а при желании сменить 2 слова в тексте вам нужно будет сделать все это заново. Я уже не говорю о том, что кнопки отображаются через раз, ответ исчезает из поля, если снять с него фокус, а при ковырянии в сайте через панель разработчика Upwork может ограничить вам доступ к сайту на некоторое время.
Звучит муторно и грустно
А есть ли альтернатива? Arc Boosts!
Boosts - одна из фичей браузера Arc, которая позволяет делать свой мини-плагин для любого сайта. При помощи Boosts вы можете навсегда спрятать shorts в ютубе или покрасить твиттер в желтый цвет. С помощью этой фичи я перенес плагин в два счета и теперь могу менять текст и дебажить его без особых проблем. Попробуйте сами - ссылка на мой JS скрипт (работает 50% на 50%).
Кроме того, лично для меня этот браузер лидирует в удобстве организации вкладок и пространств.
___
Вау! Теперь я смогу кастомизировать интернет под себя. Но как же мои клиенты? Могу ли я кастомизировать браузер для них?
А хотят ли ваши клиенты запускать целые цепочки действий по кнопке прямо в интерфейсе Gmail/Linkedin/Google Sheets с захватом данных со страницы?
Хотят ли они получать уведомления о всех событиях прямо в браузере?
Хотят ли они создать бесшовный рабочий процесс, который сохранит им десятки часов?
Если ответ да, то вам нужен Ply.io
Кроме вышеперечисленного вы можете вызвать командную строку, через которую запускаются кастомные сценарии (как в Make).
В сценарии можно использовать множество различных утилит, AI функции и кастомные формы для сбора данных.
Именно тут я и остановился, сделав себе несколько сценариев для копирования текстов под различные офферы.
____
Фуф!
Кажется, мы уже достаточно набили вашу голову новыми идеями и полезной информацией, но это еще не все…
Дело в том, что изначально плагин был совсем другим - он умел забирать текст офера и прогонять его через ChatGPT, у плагина был интерфейс на Bubble и каждый пользователь мог сам настраивать промпт под себя, но что-то пошло не так…
Ставьте лайк и подписывайтесь, в следующий раз мы узнаем что пошло не так и как собрать свой сложный плагин с ИИ
Please open Telegram to view this post
VIEW IN TELEGRAM
Есть ощущение, что контент слишком технический и сухой, поэтому возник вопрос - интересен ли вам контент другого типа?
Я могу рассказать о путешествиях и жизни в Аргентине, поделиться находками из сферы AI или придумать что-то новенькое.
Я могу рассказать о путешествиях и жизни в Аргентине, поделиться находками из сферы AI или придумать что-то новенькое.
Anonymous Poll
11%
Lifestyle
28%
Интересные находки
57%
Экспертный контент
48%
Что-то новенькое (например прожарка чужих проектов)
Грязный ноукодер
Получение данных с сайта без API через Integromat Ко мне обратился co-founder логистического сервиса из США. Ему требовалось обогощать новых лидов информацией из сервиса Seamless.ai Однако, у данного сервиса нет публичного API, поэтому пришлось искать обходные…
Как я научился научился получать доступ к данным сервисов, у которых нет публичного API?
В седьмом классе все играли в “Тюрягу” Вконтакте. Я очень хотел быть круче остальных и часами сидел на форумах по взлому. В итоге я нашел два способа подняться:
1. Фишинговый JS скрипт, который я уговорил ввести в браузерную строку более десятка человек и за счет которого все их "нычки” отправились ко мне.
2. Волшебная программа Charles, которая позволяет перехватить и изменить пакеты, отправляемые вашим браузером на сервер. Таким образом я смог обманывать игру и делать тату на закрытых частях тела.
Да-да, кто бы мог подумать, что именно это поможет мне спустя десять лет настроить скрытую интеграцию с сервисом, чтобы ежемесячно рассылать сотни тысяч долларов инвесторам фонда.
Если вы хотите научиться делать также - посмотрите мою статью двухлетней давности.
Актуальная ссылка.
Ставьте лайк и подписывайтесь, завтра расскажу 8 способов, как я использую ChatGPT в работе.
В седьмом классе все играли в “Тюрягу” Вконтакте. Я очень хотел быть круче остальных и часами сидел на форумах по взлому. В итоге я нашел два способа подняться:
1. Фишинговый JS скрипт, который я уговорил ввести в браузерную строку более десятка человек и за счет которого все их "нычки” отправились ко мне.
2. Волшебная программа Charles, которая позволяет перехватить и изменить пакеты, отправляемые вашим браузером на сервер. Таким образом я смог обманывать игру и делать тату на закрытых частях тела.
Да-да, кто бы мог подумать, что именно это поможет мне спустя десять лет настроить скрытую интеграцию с сервисом, чтобы ежемесячно рассылать сотни тысяч долларов инвесторам фонда.
Если вы хотите научиться делать также - посмотрите мою статью двухлетней давности.
Актуальная ссылка.
Ставьте лайк и подписывайтесь, завтра расскажу 8 способов, как я использую ChatGPT в работе.
Итак, 8 способов, как я использовал ChatGPT за последний месяц:
1. Вытащил структуру PostgreSQL базы и на ее основе прошу создавать SQL запросы, используя описание нужных метрик из ТЗ. Есть другие варианты - если у вас база на Supabase, если не боитесь подключить базу к стороннему сервису.
2. Научил ChatGPT создавать документацию для Make сценария на основе JSON из blueprint. Code interpretator помогает открыть большие JSON файлы.
3. Получал новые знания через саммари книг, которые давно хотел почитать. (Читать все же интереснее)
4. Построил ER диаграмму для базы данных с помощью плагина D2. Если у вас Supabase, то пользуйтесь этим.
5. Создал JS скрипт для выгрузки всех данных из БД незащищенного приложения на Bubble и попросил проанализировать эти данные. Придется попотеть, чтобы длинные текста не ломали структуру CSV.
6. Использовал чужие промпты и провел маркетинговый анализ для агентства. В целом ничего нового, нужно больше времени тратить на сами активности.
7. Создал тест-кейсы для приложения. В целом под каждый проект я завожу отдельный диалог и веду все там, чтобы при надобности создавать нужные артефакты.
8. Говорил с документацией Botpress, чтобы быстрее в ней разобраться.
Ставьте лайк, подписывайтесь и рассказывайте в комментариях, как вы используете ИИ для своих проектов.
1. Вытащил структуру PostgreSQL базы и на ее основе прошу создавать SQL запросы, используя описание нужных метрик из ТЗ. Есть другие варианты - если у вас база на Supabase, если не боитесь подключить базу к стороннему сервису.
2. Научил ChatGPT создавать документацию для Make сценария на основе JSON из blueprint. Code interpretator помогает открыть большие JSON файлы.
3. Получал новые знания через саммари книг, которые давно хотел почитать. (Читать все же интереснее)
4. Построил ER диаграмму для базы данных с помощью плагина D2. Если у вас Supabase, то пользуйтесь этим.
5. Создал JS скрипт для выгрузки всех данных из БД незащищенного приложения на Bubble и попросил проанализировать эти данные. Придется попотеть, чтобы длинные текста не ломали структуру CSV.
6. Использовал чужие промпты и провел маркетинговый анализ для агентства. В целом ничего нового, нужно больше времени тратить на сами активности.
7. Создал тест-кейсы для приложения. В целом под каждый проект я завожу отдельный диалог и веду все там, чтобы при надобности создавать нужные артефакты.
8. Говорил с документацией Botpress, чтобы быстрее в ней разобраться.
Ставьте лайк, подписывайтесь и рассказывайте в комментариях, как вы используете ИИ для своих проектов.
Время пришло…
Что если по краткому описанию вашего бизнеса/процесса сервис накидает схему БД и создаст ее вам прямо в вашем Airtable?
Именно такое приложение я сделал за день, пока болел😏 Увидим и опробуем его совсем скоро, а пока опрос - кто вы?
Что если по краткому описанию вашего бизнеса/процесса сервис накидает схему БД и создаст ее вам прямо в вашем Airtable?
Именно такое приложение я сделал за день, пока болел😏 Увидим и опробуем его совсем скоро, а пока опрос - кто вы?
Anonymous Poll
33%
Я фрилансер/агентство и создаю базы в АТ
17%
Я владелец бизнеса/предприниматель и хочу создать/создал базу в АТ
44%
Не знаю что такое АТ, но интересно
6%
Не интересно
Зачем я разнес готовый проект и усложнил себе жизнь? Чтобы упростить ее себе в будущем!
Мексиканский сервис по сдачи авто в аренду попросил меня организовать небольшую форму для сбора документов. В данный момент их CRM является Notion (🤨 ), а файлы хранятся в Google Drive.
Я, конечно же, наотрез отказался использовать Notion для хранения какой-либо информации и развернул форму на связке Bubble+Airtable.
Клиенту очень понравился результат и скорость (1 неделя разработки с полной документацией) и он решил продолжить работу со мной, а именно построить полноценный сервис с проверкой данных пользователя в государственных/банковских сервисах и идентификацией личности.
Данный сервис потребует хранения большого количества данных и хорошую скорость обработки, поэтому перед началом следующего этапа мною было принято решение перевести БД из Airtable в Supabase.
Какие есть варианты?
1. Перенести все ручками - пока база небольшая, это займет не так уж много времени.
2. Использовать плагин в Airtable, который опишет структуру всей БД в отдельной таблице, и на основе этих данных попросить GPT создать нужные SQL запросы.
3. Использовать сервис от UIbakery для переноса данных.
Так как первые два пути понятны, я решилнабить шишек опробовать третий вариант.
Результаты переноса:
1. Сервис создает базы со всеми колонками и переносит данные.
2. Rollup поля и формулы переносит как текст.
3. Linked records переносит как массив текстов.
4. Первичным ключом ставит Record Id из Airtable.
Боли:
1. Названия колонок переносятся как в Airtable, а по хорошему в БД они должны быть в нижнем регистре без пробелов, поэтому приходится их переделывать. Однако при попытке изменить название первичного ключе вылазит ошибка.
2. Также ошибка вылазит при попытке создать foreign key на другую таблицу на основе перенесенных Linked records.
Все это делает невозможным оперирование перенесенными таблицами.
В итоге все таблицы я пересоздал заново, чтобы сделать нормальные имена и ключи.
Ставьте лайки и подписывайтесь, совсем скоро я представлю свой сервис, который позволит с помощью AI разворачивать базы в Airtable в пару кликов на основе вашего запроса.
Мексиканский сервис по сдачи авто в аренду попросил меня организовать небольшую форму для сбора документов. В данный момент их CRM является Notion (
Я, конечно же, наотрез отказался использовать Notion для хранения какой-либо информации и развернул форму на связке Bubble+Airtable.
Клиенту очень понравился результат и скорость (1 неделя разработки с полной документацией) и он решил продолжить работу со мной, а именно построить полноценный сервис с проверкой данных пользователя в государственных/банковских сервисах и идентификацией личности.
Данный сервис потребует хранения большого количества данных и хорошую скорость обработки, поэтому перед началом следующего этапа мною было принято решение перевести БД из Airtable в Supabase.
Какие есть варианты?
1. Перенести все ручками - пока база небольшая, это займет не так уж много времени.
2. Использовать плагин в Airtable, который опишет структуру всей БД в отдельной таблице, и на основе этих данных попросить GPT создать нужные SQL запросы.
3. Использовать сервис от UIbakery для переноса данных.
Так как первые два пути понятны, я решил
Результаты переноса:
1. Сервис создает базы со всеми колонками и переносит данные.
2. Rollup поля и формулы переносит как текст.
3. Linked records переносит как массив текстов.
4. Первичным ключом ставит Record Id из Airtable.
Боли:
1. Названия колонок переносятся как в Airtable, а по хорошему в БД они должны быть в нижнем регистре без пробелов, поэтому приходится их переделывать. Однако при попытке изменить название первичного ключе вылазит ошибка.
2. Также ошибка вылазит при попытке создать foreign key на другую таблицу на основе перенесенных Linked records.
Все это делает невозможным оперирование перенесенными таблицами.
В итоге все таблицы я пересоздал заново, чтобы сделать нормальные имена и ключи.
Ставьте лайки и подписывайтесь, совсем скоро я представлю свой сервис, который позволит с помощью AI разворачивать базы в Airtable в пару кликов на основе вашего запроса.
Please open Telegram to view this post
VIEW IN TELEGRAM
4 способа, как я использовал ChatGPT на этой неделе.
1. Изучил работу Supabase и best practices по безопасности и хранения файлов в нем. Методы более серьезные и многоступенчатые, нежели в Bubble/Airtable, но и тем интересные.
2. Писал много JS кода. Я переношу разработанный сервис для генерации баз Airtable из Retool (где можно писать JS код) в Bubble. Оказалось😳 , что в Bubble все очень туго с оперированием временными данными, поэтому пришлось немного переписать созданные функции и развернуть в Napkin.
3. Разбирался с приложениями для Telegram. Я думал это будет сложнее, но для подключения webapp нужно просто указать ссылку в botfather. Я подключил простое приложение на Bubble, но так и не смог заставить передать событие в Telegram, чтобы отобразилась кнопка ‘Назад’. Если у кого-то есть опыт, поделитесь пожалуйста в комментариях, интересно узнать, как обмениваться данными с tg и получать информацию о пользователе.
4. Пытался расковырять API китайского маркетплейса Poizon. У них есть только мобильное приложение и ссылки, которые можно открыть. Удалось через них подцепить пару запросов, но там используется хэширование и я не стал копаться дальше, а просто нашел на гитхабе контакты людей, которые продают свою API прослойку.
Также я сделал чат-бота на Botpress для юридической фирмы - он выдает ответ из базы знаний, а в случае его отсутствия собирает ответ из опубликованных на сайте законов, отправляет его на утверждение юристу и после этого пересылает ответ клиенту.
Если у вас есть интересный бизнес-кейс для ИИ чат-бота, то пишите мне, я готов помочь бесплатно для портфолио.
Ставьте лайк и подписывайтесь, завтра будет кое-что интересное
1. Изучил работу Supabase и best practices по безопасности и хранения файлов в нем. Методы более серьезные и многоступенчатые, нежели в Bubble/Airtable, но и тем интересные.
2. Писал много JS кода. Я переношу разработанный сервис для генерации баз Airtable из Retool (где можно писать JS код) в Bubble. Оказалось
3. Разбирался с приложениями для Telegram. Я думал это будет сложнее, но для подключения webapp нужно просто указать ссылку в botfather. Я подключил простое приложение на Bubble, но так и не смог заставить передать событие в Telegram, чтобы отобразилась кнопка ‘Назад’. Если у кого-то есть опыт, поделитесь пожалуйста в комментариях, интересно узнать, как обмениваться данными с tg и получать информацию о пользователе.
4. Пытался расковырять API китайского маркетплейса Poizon. У них есть только мобильное приложение и ссылки, которые можно открыть. Удалось через них подцепить пару запросов, но там используется хэширование и я не стал копаться дальше, а просто нашел на гитхабе контакты людей, которые продают свою API прослойку.
Также я сделал чат-бота на Botpress для юридической фирмы - он выдает ответ из базы знаний, а в случае его отсутствия собирает ответ из опубликованных на сайте законов, отправляет его на утверждение юристу и после этого пересылает ответ клиенту.
Если у вас есть интересный бизнес-кейс для ИИ чат-бота, то пишите мне, я готов помочь бесплатно для портфолио.
Ставьте лайк и подписывайтесь, завтра будет кое-что интересное
Please open Telegram to view this post
VIEW IN TELEGRAM
За последние 3 года no-code вырос очень сильно - множество людей стали переходить сюда из различных сфер и бизнес стал понимать его плюсы. Однако, когда я начинал, российское сообщество было совсем маленьким, и многих ключевых игроков ты знал лично, делал с ними проекты и делился находками.
Теперь, эти ребята обросли опытом, открыли свои агентства и успели сделать большое количество сложных и интересных проектов. Пришло время делиться опытом и вкладываться в сообщество, которое когда-то дало нам столько возможностей.
Поэтому мы с ребятами объединились и собрали в одну папку все каналы мастодонтов российского no-code комьюнити.
Добавляйте папку к себе и развивайтесь вместе с нами: https://t.me/addlist/HoU9tzTepaY4NmJi
________________________
Для новых подписчиков
Меня зовут Марк и последние 8 месяцев я живу в Буенос-Айресе. Я занимаюсь low/no-code разработкой около 3х лет и успел поработать внутри Make.com, побывать одним из первых low-code разработчиков в JTI и даже поработать с Miro.
В этом канале я делюсь различными советами для ноукодеров и личным опытом работы над проектами.
Я открыт для вопросов и помощи, а также новых проектов - @low_code
Что почитать прямо сейчас
Использование ИИ в работе no-code разработчика
Где искать работу в no-code
Как “взломать” Bubble приложение
Теперь, эти ребята обросли опытом, открыли свои агентства и успели сделать большое количество сложных и интересных проектов. Пришло время делиться опытом и вкладываться в сообщество, которое когда-то дало нам столько возможностей.
Поэтому мы с ребятами объединились и собрали в одну папку все каналы мастодонтов российского no-code комьюнити.
Добавляйте папку к себе и развивайтесь вместе с нами: https://t.me/addlist/HoU9tzTepaY4NmJi
________________________
Для новых подписчиков
Меня зовут Марк и последние 8 месяцев я живу в Буенос-Айресе. Я занимаюсь low/no-code разработкой около 3х лет и успел поработать внутри Make.com, побывать одним из первых low-code разработчиков в JTI и даже поработать с Miro.
В этом канале я делюсь различными советами для ноукодеров и личным опытом работы над проектами.
Я открыт для вопросов и помощи, а также новых проектов - @low_code
Что почитать прямо сейчас
Использование ИИ в работе no-code разработчика
Где искать работу в no-code
Как “взломать” Bubble приложение
Telegram
No-code
Mark invites you to add the folder “No-code”, which includes 9 chats.
Грязный ноукодер pinned «За последние 3 года no-code вырос очень сильно - множество людей стали переходить сюда из различных сфер и бизнес стал понимать его плюсы. Однако, когда я начинал, российское сообщество было совсем маленьким, и многих ключевых игроков ты знал лично, делал…»
Как жить, когда проектов много
На моей практике все активности происходят волнами. Неизвестно связанно ли это с какими-то биологическими и физическими процессами, но после каждого затишья начинается буря. В этой буре я часто оказываюсь погребенным под волной проектов из-за своего желания помочь всем и каждому.
Сначала, из-за отсутствия проектов, начинается паника и голод, тогда начинаешь соглашаться на все возможные подработки и проекты. Далее идет активная фаза откликов на все что только движется. И вот, когда уже начинает казаться, что удача от тебя отвернулась и придется идти на завод, тебя накрывает огромная волна откликов и предложений.
Данный круговорот событий случался со мной не раз и не два, но я все еще плохо справляюсь с такими ситуациями. Правильной тактикой будет повышение цены на свои услуги и выбор наиболее интересных и перспективных проектов. Но предсказать будущее достаточно сложно, ведь еще вчера клиенту все понравилось и он готовил описание новой задачи, а уже сегодня он бесследно исчез (и возможно появится снова в самый не подходящий момент).
А посему, я тону в пучине задач и звонков снова и снова…
На моей практике все активности происходят волнами. Неизвестно связанно ли это с какими-то биологическими и физическими процессами, но после каждого затишья начинается буря. В этой буре я часто оказываюсь погребенным под волной проектов из-за своего желания помочь всем и каждому.
Сначала, из-за отсутствия проектов, начинается паника и голод, тогда начинаешь соглашаться на все возможные подработки и проекты. Далее идет активная фаза откликов на все что только движется. И вот, когда уже начинает казаться, что удача от тебя отвернулась и придется идти на завод, тебя накрывает огромная волна откликов и предложений.
Данный круговорот событий случался со мной не раз и не два, но я все еще плохо справляюсь с такими ситуациями. Правильной тактикой будет повышение цены на свои услуги и выбор наиболее интересных и перспективных проектов. Но предсказать будущее достаточно сложно, ведь еще вчера клиенту все понравилось и он готовил описание новой задачи, а уже сегодня он бесследно исчез (и возможно появится снова в самый не подходящий момент).
А посему, я тону в пучине задач и звонков снова и снова…
4 способа, как я использовал ChatGPT на этой неделе.
1. Очищал спарсенные с Linkedin данные. ChatGPT не идеален и сломался на небольшой задаче в конце, поэтому пришлось доделывать ручками, но все же были сэкономлены часы времени.
2. Делал демо за час до звонка с клиентом. 3 из 3 лидов, где я показал демо на первом звонке, тут же подписали контракты. Чат помогает быстро понять, что нужно клиенту, прикинуть небольшое демо и даже симулировать API запросы - вместо сервиса я обращаюсь к OpenAI API, что рассчитать время полета между двумя городами.
3. Провел ретро по коммуникации с клиентами - скормил ИИ переписки, разобрал сделанные ошибки и сделал выводы на будущее. Любое ретро будет полезным - по проектам, по привычкам, по проведенному свободному времени и тд.
4. Приготовил базу для генерации контента - определил персоны, типы контента и хуки для постов, накидал десяток различных тем на будущее. Однако, времени на его генерацию совсем нет, нужно стараться готовить контент на неделю в выходные.
Ставьте лайк и подписывайтесь, данная рубрика публикуется еженедельно.
1. Очищал спарсенные с Linkedin данные. ChatGPT не идеален и сломался на небольшой задаче в конце, поэтому пришлось доделывать ручками, но все же были сэкономлены часы времени.
2. Делал демо за час до звонка с клиентом. 3 из 3 лидов, где я показал демо на первом звонке, тут же подписали контракты. Чат помогает быстро понять, что нужно клиенту, прикинуть небольшое демо и даже симулировать API запросы - вместо сервиса я обращаюсь к OpenAI API, что рассчитать время полета между двумя городами.
3. Провел ретро по коммуникации с клиентами - скормил ИИ переписки, разобрал сделанные ошибки и сделал выводы на будущее. Любое ретро будет полезным - по проектам, по привычкам, по проведенному свободному времени и тд.
4. Приготовил базу для генерации контента - определил персоны, типы контента и хуки для постов, накидал десяток различных тем на будущее. Однако, времени на его генерацию совсем нет, нужно стараться готовить контент на неделю в выходные.
Ставьте лайк и подписывайтесь, данная рубрика публикуется еженедельно.