🤓 Что такое Codetalks?

Как программисты, мы знаем, насколько важно быть в курсе языков программирования, фреймворков, методологий и инструментов в целом. Мы всегда должны постоянно учиться. Один из лучших способов оставаться в курсе событий - это посещать технологические конференции и мероприятия, но многие из этих мероприятий проходят не в нашем городе или мы просто не можем их посетить. Положительным моментом является то, что большинство этих событий записываются и доступны бесплатно через различные видеоплатформы (в основном Youtube или Vimeo), что хорошо, но есть несколько проблем:

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

❌ Каждое событие проводится в разную дату и публикуется на разных аккаунтах и ​​видеоплатформах, что усложняет отслеживание интересующих нас событий.

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

📋 Что должно быть у нашего MVP?

Учитывая, что это MVP (минимально жизнеспособный продукт), мы не хотели бы слишком сильно увеличивать время разработки, поэтому мы попытались определить ключевые функции, которые придали бы смысл проекту, таким образом, мы могли проверить, соответствует ли наша идея имело смысл или нет, прежде чем продолжать вкладывать в это больше времени и усилий. Мы определили наиболее важные характеристики:

  • Поиск разговоров
  • Просмотр переговоров по тегу
  • Просмотр переговоров по событию
  • Просмотреть доступные теги
  • Просмотр существующих событий
  • Отправить доклады (Youtube и Vimeo)
  • Подпишитесь на конкретный тег
  • Получать отзывы и идеи

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

Сосредоточившись больше на внешнем виде, мы решили подмигнуть нашим потенциальным пользователям, разработчикам, по этой причине мы придумали вид редактора кода (VS Code?), И даже ... мы использовали знаменитый цвет Monokai палитра.

🛠 Приступим к работе

Пришло время писать код!

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

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

Внешний интерфейс:

  • Создать приложение React: создавать приложения React без конфигурации сборки.
  • Аполлон: идеальный партнер для GraphQL. Клиент разработан, чтобы помочь вам быстро создать пользовательский интерфейс, который извлекает данные с помощью GraphQL.
  • Styled-Components: очень популярная библиотека стилей CSS-in-JS, которая использует тегированные литералы шаблонов в JavaScript и потрясающую мощь CSS, чтобы предоставить платформу, которая позволяет вам писать реальный код CSS для стилизации ваших компонентов.

Другие библиотеки и инструменты, которые нам очень помогли:

  • Storybook: инструмент с открытым исходным кодом для разработки и организации компонентов пользовательского интерфейса.
  • Плыр: Эта библиотека золотая. Это позволяет нам встраивать видео с YouTube или Vimeo и полностью настраивать их: разместить наш логотип, удалить кнопки с исходной платформы и т. Д.
  • Formik: Создавать формы просто (все ненавидят формы, правда?). Очень полезно использовать вместе с Yup, библиотекой проверки ввода.
  • Color: это еще одна простая библиотека для выполнения небольших операций с цветами.

Бэкэнд:

  • GraphQL-Yoga: полнофункциональный сервер GraphQL на базе Express.
  • Prisma: Prisma - это уровень абстракции базы данных, который превращает ваши базы данных в API GraphQL с операциями CRUD и возможностями реального времени.

Сторонние инструменты:

  • Sentry: это инструмент, который мы используем для получения ошибок, возникающих как во фронтенде, так и в бэкэнде. Таким образом мы можем устранить возникающие мелкие ошибки.
  • Mailchimp: именно так пользователи могут подписаться на получение последних видео от тега, когда они это сделают, их учетная запись электронной почты добавляется в список Mailchimp, и оттуда мы можем отправлять еженедельный обзор лучших видео.
  • Cyfe: мы используем Cyfe, чтобы хранить в одном месте информацию из разных частей платформы. Например, у нас есть панель для аналитики, а другая - для просмотра количества пользователей и видео на платформе. Мы можем продолжать добавлять данные и внутреннюю информацию с платформы, чтобы все это было в одном месте.
  • Typeform: мы используем Typeform для получения обратной связи от пользователей, потому что это простой и быстрый способ реализовать его и интегрировать со Slack для мгновенного получения информации.

И вот настал момент истины ...

🚀 Запуск

Правда в том, что если нас вывести из технической или продуктовой части, мы почувствуем себя рыбой из воды, можно сказать, что маркетинг - не наша сильная сторона. Вот почему, чтобы определить нашу стратегию запуска, мы просто задали себе вопрос: «Где наши потенциальные пользователи?» И на основе найденных ответов составили список возможных каналов привлечения:

☠ Большие порталы (Катастрофа):

  • Product Hunt: Мы старались следовать всем советам, которые читали в разных блогах относительно успешного запуска в PH, мы знали, что это очень важно и один из ключей к запуску, однако мы получили только 9 голосов (очень грустно).
  • Hacker News: мы получили всего 4 балла.
  • Reddit: Мы отправили его в сабреддит r / programmin g. Его тоже не публиковали.

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

Однако после нескольких дней упадка мы решили продолжить попытки другими способами, и на этот раз, к счастью, было лучше:

✌ ️Niche media (Неплохо):

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

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

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

🎓 Что мы узнали

Если бы нам пришлось извлечь несколько ключевых уроков, это были бы следующие:

  • Попытайтесь решить настоящую проблему, боль, которую вы обнаружили в собственной плоти. Таким образом, вы станете своим целевым клиентом и будете знать, что вам нужно.
  • Будьте проще. Не сходите с ума по стеку технологий или функциям, которыми должен обладать MVP. Постарайтесь быстро запустить и как можно скорее проверить свою идею.
  • Поскольку вы занимаетесь второстепенным проектом, попробуйте по пути узнать что-то новое. Если проект окончательно провалится, вы как минимум возьмете с собой новые знания и что-нибудь интересное, чтобы добавить в свое портфолио.
  • Не расстраивайтесь, если ваш проект не получит должного внимания, которого вы ожидали вначале, это может быть по разным причинам. Будьте терпеливы.
  • Слушайте свою аудиторию и старайтесь постепенно улучшать свой продукт.
  • Делайте много запусков. Рассматривайте каждую новую функцию, которую вы добавляете в продукт, как новую возможность произвести новый запуск и привлечь внимание.