Проект: Адресная помощь переселенкам/цам войны: FRNLsupport  Публичный пост
31 мая 2022  1273
ОХУЕННО ⨯3
Адресная помощь переселенкам/цам войны: FRNLsupport

Что: телеграм-бот и телеграм-канал
При поддержке сообщества Free Russia NL
Где: Нидерланды


На 11 мая 2022 года Украину покинули более 6 миллионов людей. Внутри Украины помощь нужна миллионам или десяткам миллионов человек.

Как им помогать? Как узнать, кому какая помощь нужна? Где вовремя найти волонтёров, готовых оказать эту помощь?

Это один пост из предположительно серии постов, которые будут рассказывать о проектах, ставящих целью упорядочить и масштабировать координацию помощи людям в Украине и переселенкам/беженкам в странах ЕС/ЕЭЗ.

Пост пишется с клубного аккаунта Полины, но в написании текста поучаствовали ещё люди извне клуба:

  • Саша, продакт оунер парковок днём, пристраиватель мультиварок ночью,
  • Лена, питон-программистка днём, фриланс чат-бот разработчица ночью.

А в проекте участвует так и вообще больше 20 людей.

Дисклеймер. «Переселенка» обозначает переселенца или переселенку любого гендера. «Волонтёр» обозначает волонтёра или волонтёрку любого гендера.

No-code стадия

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

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

С другой стороны, были (и есть) люди, кто (уже) живёт в Нидерландах, у них выросли дети (и коляска больше не нужна), есть лишний чемодан и огромное желание помогать.

Саша:

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

21 апреля к Саше примазалась Полина — изначально с намерением попытаться прикрутить к каналу бот для автоперевода сообщений (по-прежнему no-code, не вышло), но потом втянулась насовсем.

Когда количество непрочитанных личных сообщений перевалило за 200, Саша поняла, что дальше так продолжаться не может, и позвала программистов и программисток, чтобы они помогли сделать бот для приёма и обработки просьб переселенок.

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

Почему именно канал и бот

Канал/бот адресной помощи имеет несколько преимуществ по сравнению с традиционными гуманитарными инициативами.

  1. Скорость реагирования — большинство запросов закрываются в день обращения.

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

  3. Облегчение логистики — в данной схеме волонтёры/ки и переселенки берут на себя логистику, либо делая самовывоз, либо пользуясь почтой/сервисами доставки. Соответственно, не нужен склад, а также нет проблемы остатков.

  4. Человеческий контакт — между волонтёр(к)ами и переселенками складываются человеческие отношения, которых так не хватает новоприбывшим. Отдавая вещи в гумпомощь или пересылая деньги в НКО, даритель часто не знает, как именно были потрачены его/её средства, кто получил/а помощь. Адресная помощь даёт бо́льшую мотивацию помогать снова, а также повышает качество этой помощи. На нашем канале есть случаи того, что, познакомившись с переселенкой, волонтёр/ка узнавал/а о других нуждах переселенки и удовлетворял/а и их.

Code стадия

Сначала к нам присоединился Сашин муж Женя. Потом Лена, Оля и Максим. С сегодня — ещё Паша и Андрей. Параллельно шёл набор админок и админов в канал — они приоритизировали, причёсывали и постили запросы, а потом отслеживали комменты. Срабатывало неплохо, но утомляло невероятно.

Стек

Питон, потому что это то, что мы умеем. Heroku, потому что это быстро, просто и пока что бесплатно. Telegram bot пакет на питоне, потому что его выбрал Женя и оказалось, что это удобно. Гугл-таблицы, потому что админку делать долго, а админы должны руками мониторить заявки, что удобно делать в гугл-таблице.

Ветка переселенки

Первой ребята написали для бота так называемую «ветку переселенки» — в которую беженки/переселенки отправляли свои просьбы вместо Сашиной лички. В этой ветке бот автоматически собирает никнейм, user id (не путать с юзернеймом, user id в телеграме — это номер, которым аккаунт снабжается раз и навсегда), время подачи заявки. Юзер должен/на ввести сам/а город/индекс, выбрать категорию запроса из нескольких предлагаемых и написать запрос.

Так выглядит подача просьбы в наш бот.

Ещё бот должен был автоматически собирать юзернеймы просительниц — но мы столкнулись с отсутствием оных у некоторых просительниц (да, оказывается, в телеграме можно без юзернейма). Сначала мы попробовали вместо юзернейма в качестве контакта собирать адрес электронной почты — и потом поняли, что это было очень плохое решение, потому что на почту можно долго писать без всякого отклика. Теперь наш бот при попытке подать в него заявку без юзернейма говорит: «нельзя, создайте юзернейм». А точнее:

Теперь у всех просьб, которые к нам попадают, есть контактный юзернейм — и это очень удобно и нам, и волонтёрам.

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

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

Ветка волонтёра (бототиндер)

Сколько постов в день можно публиковать на канале? 10–15. Сколько просьб в день поступает в бот? Несколько десятков. И это мы ещё специально не рекламировали свою систему помощи в группах переселенок.

Количество заявок в боте в день. Провал 16 мая искусственный — мы вырубили бот на приём просьб из желания справиться с всё увеличивающимся бэклогом просьб

Так что наши разрабы сделали в боте ещё одну ветку — по кнопке «хочу помогать» можно (1) задать фильтры (город, готов/а помогать рядом или заказывать вещи с доставкой по всей стране, можешь ли подбросить кого-то куда-то на машине, располагаешь ли лишним велосипедом, комментарий); (2) по этим фильтрам листать не взятые или частично взятые просьбы на манер Тиндера: вот просьба такая-то, берёте? да/следующая просьба.

Тиндер военного времени

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

По выполнении просьбы волонтёру нужно отметиться в боте, что просьба выполнена. Хотим сделать так, чтобы бот присылал волонтёрам напоминалки: «вы 2 дня назад говорили, что готовы отдать переселенке N сковородку, олло, вы там как?».

На момент написания поста ветка волонтёра работает уже почти неделю с перерывом в 2 дня. Ею воспользовались 44 волонтёра. Впереди у нас ещё много работы.

Ветка спасиб

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

Спасибы ☺️

Где мы сейчас?

За 1,5 месяца работы мы помогли выполнить как минимум 235 просьб полностью и ещё как минимум 70 частично. За большинством просьб стоит больше одной просительницы — то есть, мы нашли помощников для нескольких сотен нуждающихся. У нас 15 админов и админок канала (спасибо, ребята, это очень много труда!). Инструкция, как админить на канале, актуальна >90% времени и написана подробно, так что онбординг новых админов занимает буквально две фразы — «вот мануал, как будут времясилы, почитай, спроси, что будет непонятно. На первом дежурстве обязательно поддержим тебя тут в админском чате, если что». Разработчиков и разработчиц у нас пока 5, а тестировщиков и тестировщиц 2 (спасибо, ребята, без вас бота бы не было и админы канала бы загнулись, едва начав). По словам разрабов, на разработку потрачено близко к сотне часов.

Мы коллаборируем с немецким проектом горячей линии UA Coordination Initiative и обсуждаем перспективы открыть у них подобие нашего бота, а у нас — их горячую линию.

Мы усвоили уроки прошлого и с надеждой работаем дальше. 😁 Какие уроки мы усвоили?

Как надо было

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

  2. Собирать юзернеймы сразу. Не адреса электронной почты.

  3. Сразу завести общеадминский телеграм-аккаунт, а не спрашивать, кто что кому в своей личке написал/а.

  4. Воспользоваться возможностями пакета python-telegram-bot для записи данных пользователей. В первом релизе бота мы решили хранить данные о всех пользователях в одной переменной — с приходом каждого нового пользователя и каждой новой пользовательницы данные перезаписывались. Обнаружили мы это, когда увидели, что какие-то просьбы в таблице приписались не тем людям, которые их оставляли на самом деле. 🙈

Что дальше?

  1. Пофиксить существующие баги и сделать новые. :D

  2. На основе индексов волонтёра и просительницы показывать, далеко ли они друг от подруги, и сделать фильтр просьб по расстоянию.

  3. Открыть фонд и начать нормально собирать пожертвования! Нам в комментах уже пишут: «ВОЗЬМИТЕ МОИ ДЕНЬГИ».

  4. Прикрутить автоперевод просьб на английский и пробовать подключать руссконепонимающих волонтёров — на русскопонимающих ехать можно долго (мы всё ещё едем!), но не бесконечно.

  5. Собирать какие-то нормальные метрики и делать по ним дэшборд.

  6. Перестать использовать гугл-таблицу в качестве базы данных 😁

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

  8. Настроить высылку ботом уведомлений, чтобы он рассказывал просительницам, кто взялся/взялась выполнить их просьбу, и попинывал волонтёров, которые вызвались на просьбу, но долго не меняют статус просьбы на «выполнено».

  9. Настроить детекцию сущностей (entity detection) при помощи Rasa — из просьбы вида “здравствуйте мы из города N приехали месяц назад очень нужен чайник и мультиварка спасибо” автоматически извлекать список нужных вещей (“чайник”, “мультиварка”) и помещать их в отдельное поле.

  10. Рассказывать о нас потенциальным волонтёрам онлайн и офлайн.

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

Зачем вам этот пост

Вы живёте в какой-нибудь европейской стране кроме Нидерландов и у вас уже действует какая-нибудь автоматизированная система помощи переселенкам? Давайте обмениваться кодом и лайфхаками.

Вы живёте в какой-нибудь европейской стране и у вас ещё нет автоматизированной системы помощи? Давайте мы дадим вам код и опыт, и вы развернёте систему помощи у себя.

Вы живёте где угодно и не хотите разворачивать систему у себя? Приходите на подмогу в наши проекты. У нас есть такие «вакансии»:

Админ(ка) канала

Будете общаться через телеграм с людьми, соединяя волонтёров с просительницами; постить посты на канале в несколько тысяч подписчиков/ц; искать людям велики, мультиварки и компы. Благодарности просительниц после волонтёров будут попадать к вам. 🥰

Чтобы стать админом или админкой, вам нужно:

  1. читать по-украински (или быть морально готовым/ой на нём читать при помощи гугл-переводчика), по-русски и по-английски;
  2. писать по-русски и по-английски;
  3. уметь пользоваться телеграмом и гугл-таблицами;
  4. уделять каналу время несколько часов в неделю;
  5. быть знакомым/знакомой с Полиной, Сашей или Леной хотя бы через рукопожатие и считать, что это цепочка обоюдоприятных знакомств;
  6. уметь позаботиться о том, чтобы личные данные просительниц не были слиты людям извне проекта.

Если вы всё вот это вот, напишите нам в личку проекта, пожалуйста.

Разработчик/разработчица

Будете красноглазить в код и общаться только с несколькими коллегами, но без вас проект работать не сможет 🥰

Нужно уметь Питон, работать в команде на github и иметь 5 свободных часов в неделю, остальное научим. Если умеете базы данных и docker/heroku — будет плюсом.

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

Если вы всё вот это вот, напишите нам тоже в личку проекта, пожалуйста.


Вы не готовы ни на какую большую подмогу? Можете тогда просто надавать нам тут умных советов в комментах.

Связанные посты
9 комментариев 👇
Roman Malyshev , PM, менторю и учусь на гештальт-терапевта 1 июня в 00:07

Дякую!

Ви зробили крутий проект!

Поделился ссылкой со знакомыми волонтерами в Германии, может автоматизация распространится еще дальше.

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

@mrhaste, дякую теж :)

В Германии, кстати, тоже есть проект адресной помощи переселенкам/цам -- https://ua-help.team/. Мы с ними коллаборируем.

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

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

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

Привет! Великолепный проект. Спасибо большое за твой труд и труд команды. Сейчас это очень важно. Я волонтёрю в Ростоке (Германия) и идея адресной помощи сидит с первого дня. Я участвовал в разработке платформы для волонтёров адресной помощи. Но там была большая команда разработки, а я отвечал только за ux/ui. И как реализовать АП без команды и не колхозно, я не придумал. Так что помогаю только помощью в поиске жилья в регионе. Если я могу быть чем-то полезен, буду рад помочь. По крайней мере могу показать, как было всё устроено в системе, которую разрабатывала наша команда. Написал в админскую личку :)

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

Интересный проект, было бы классно чтобы он заработал и в Германии тоже.

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

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

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

@kumuji, к сожалению, мы пока не готовы открыть код всем желающим попытаться найти в нём уязвимости и задудосить/сломать бота. Если этот мой коммент читают безопасники и безопасницы -- вашу помощь мы тоже бы заценили :)

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

А есть что-то подобное в Турции?

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

😱 Комментарий удален его автором...

  Развернуть 1 комментарий
Vitalii Dmitriev , Что-то вроде девопса Команда Клуба 8 июня в 05:39

Крутой проект, спасибо вам!

Есть проект помощи в Эстонии
Сейчас на эстонской границе украинцев пропускают даже без паспортов (с восстановлением в консульстве уже внутри), и волонтёры помогают беженцам

tg: Друзья Мариуполя (Эстония)

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

Спасибо вам большое за эту работу!

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

😎

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

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


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