tl;dr: Кочерга — (скорее всего) первое и единственное антикафе в мире с публичным API. Вот оно, смотрите: https://api.kocherga.club/
Но сначала немного предыстории. До открытия Кочерги я на протяжении 9 лет был разработчиком в Яндексе.
Поначалу в Кочерге я искренне старался переквалифицироваться в предприниматели и руководители и отучиться писать код, но где-то год назад понял, что напрасно. Конечно, в любом подобном бизнесе есть много важных задач, не связанных с технологиями, и у наc их всегда больше, чем доступных ресурсов. Но если я в какой-то области заметно более компетентен, то почему бы этим не воспользоваться.
Особенно если заметить, что значительная часть насущных задач связана с повторяющимися процессами, которые можно автоматизировать. Начиная от анонсов мероприятий, заканчивая выдачей доступов новым сотрудникам — каждая подобная рутинная задача отжирает немного времени и внимания, и это время можно было бы потратить на что-то более полезное. Этих процессов МНОГО. Невыполнение этих процессов в срок приводит к менее качественному сервису для наших посетителей (сколько раз мы опечатывались в анонсах за первые два года? сколько раз не успевали сделать еженедельному почтовую рассылку в срок?) и к потере доходов для нас.
Так что год назад я решил позволить себе программировать столько, сколько захочется (по оценкам wakatime.com я пишу код в среднем по 20 часов в неделю). Я стал вести меньше публичных мероприятий (додзё) и перестал успевать ходить на многие LessWrong-встречи. Зато теперь у нас есть, в частности:
- админка мероприятий, которая позволяет создавать анонсы по нажатию кнопки, генерировать картинки для анонсов, обновлять расписание в вк-группе или делать почтовую рассылку (да, я знаю про amplifr; нет, он нам не подошёл)
- slack-бот, который спрашивает дежурных администраторов о том, сколько человек пришло на мероприятие, и записывает статистику
- более умный https://now.kocherga.club/ со списком людей в антикафе, которые решились опубликовать информацию о себе
- форма брони на https://booking.kocherga.club/
...и ещё много всякой внутренней инфраструктуры, которую я не буду тут перечислять — всего примерно на 20 тысяч строк кода суммарно.
При этом хочется сделать намного больше. Среди наиболее амбициозных планов на ближайший год:
- собственная база всех прошедших мероприятий на сайте, с видеозаписями лекций, слайдами, календарём и удобной фильтрацией по тегам
- датчики температуры и CO2 в каждой комнате с публично доступной статистикой
- личный кабинет посетителя с возможностью смотреть историю собственных посещений, покупать абонементы и накапливать виртуальные юдкоины
- личный кабинет лектора
- чекины и чекауты через кард-ридер, с автосписанием денег с привязанной в личном кабинете карты, без участия дежурного администратора вообще
(Нет, я не могу обещать, что мы всё это сделаем за ближайший год, конечно. Но что-то из этого списка — наверняка сделаем).
В общем, Кочерга на первый взгляд простой офлайновый бизнес, но из-за нетипичных компетенций основателей (в виде меня), специфической аудитории (в виде вас) и необычного взгляда на мир и амбиций рацио-сообщества мы ведём себя, как стартап, делающий ставку на технологии. На данном этапе совсем нет гарантий, что вложенные усилия себя окупят. Но если, как настоящий стартап, мы дойдём до уверенного product-market fit и решим масштабироваться, то нам это будет делать заметно проще. Или, может быть, начнём продавать свою инфраструктуру как SaaS другим антикафе :)
(На самом деле, не знаю, есть ли в России или в мире кто-либо, кто при таких небольших масштабах настолько вложился в IT. Если вы знаете аналоги — какие-то хакспейсы? коворкинги? — расскажите, пожалуйста).
***
А пока что хочу показать кусочек этой инфраструктуры тем из вас, кто умеет в разработку и знает волшебное слово «JSON». Многие внутренние и внешние сервисы (в частности, now и booking) работают через наше собственное API. Большинство ручек в этом API доступны только внутренним сервисам, и поэтому не документированы, но некоторые — публичны и доступны всем.
Наиболее любопытные из вас (или читающие канал #prj_kocherga в чате https://lesswrong.ru/slack) уже могли заходить ранее на https://api.kocherga.club/ и видеть там рудиментарную документацию, хотя эта ссылка нигде не публиковалась.
Теперь эта документация оформлена через Swagger UI и доступна на главной странице.
Публичное API пока что умеет не так уж много, так что внимание, вопрос для тех, кто дочитал пост до конца: какие ручки в API Кочерги вы хотели бы иметь? Расскажите в комментариях, и, возможно, они появятся :)
#технократия_кочерги
PS: На смежную тему, заодно. Про печеньки мы не забыли. Ждите в скором времени поста о том, как мы обрабатывали собранные данные — с большим количеством математики, 50-мерным вероятностным пространством, физическими метафорами и градиентными спусками.