Лучше, чем Anki: как я придумал бот для запоминания английских слов и планирую выйти на миллион пользователей
Highload продолжает публиковать истории о pet-проектах, вошедших в топ-20 лучших по итогам голосования наших читателей. Параллельно эти проекты оценивает жюри из опытных разработчиков и инвесторов. Победителей конкурса мы планируем объявить 10 июля.
Лучшие проекты получат призы от компании Genesis: занявший первое место — Apple iPhone 12 64GB, второе место — наушники Marshall Monitor II ANC Black, третье — набор Arduino.
Дальше — рассказ разработчика Артема Пахомова о его pet-проекте — боте для заучивания английских слов Repeatwordbot.
Идея проекта пришла спонтанно, когда я хотел найти бесплатный сервис вроде Anki, чтобы повторять английские слова. Но тут возникла проблема кроссплатформенности и доступности одного и того же списка слов для изучения как со смартфона, так с Linux и Windows. Поэтому решил создать Telegram-бот, так как клиент Telegram доступен с популярных типов устройств.
Бот помогает изучить около 18 тысяч английских слов. Слова разделены по частоте использования в языке в словари по 500 слов. Бот присылает голосовое сообщение, чтобы человек смог понять, как звучит слово.
В Repeatwordbot доступно десять голосов — это интеграция с Google Text To Speech API (Wavenet-голоса, которые генерирует нейронная сеть). В дальнейшем планирую добавить режим диктанта для тренировки слушания: будет приходить голосовое сообщение на английском и нужно будет выслать прослушанный текст в ответ.
MVP запустил за пару дней, так как спарсил в интернете слова и озвучку. Это было пять-семь тематических словарей и четыре словаря по 4,5 тысячи слов. Собирал отзывы пользователей, которые говорили, что большие словари неудобны для изучения. Поэтому переписал бота с разбивкой на словари по 500 слов по частоте использования.
Озвучка была низкого качества, поэтому написал третью версию бота с интеграцией Google Text To Speech API.
Со второй версии начал вести борд в GitHub.
Стек бэкенда для Telegram-бота:
Были проблемы с библиотекой longman/telegram-bot — обнаружил, что запросы падают, если Telegram пропустил update_id из-за долгого перерыва в использовании бота. Проблему невозможно было решить без исправлений библиотеки — там даже есть issue на эту тему. Решил вопрос переходом от getUpdates на webhook.
У меня — фултайм-занятость, работаю в Digitex (крипто-стартап). Этим pet-проектом занимаюсь по вечерам и на выходных. Например, недавно внедрил Codeception и написал тесты с покрытием 72,7% c нуля при кодовой базе в 4400 строк.
Проект работает как MVP со второго дня после возникновения идеи. Пару мелких багов нашли пользователи.
После переезда на третью версию был инцидент, который тянет на постмортем. Я обнаружил баг, который «отловил» только к часу ночи. Я его исправил и заработали нотификации. 56 человек не занимались больше суток, и им пришло уведомление, что пора бы повторить тренировку (по умолчанию нотификейшн приходит ровно через сутки после последнего занятия, в тихом режиме). Но тут появился второй баг: не сохранялось использование нотификации, поэтому уведомления стали приходить друг за другом. Так, 56 человек получили несколько десятков уведомлений в час ночи. В тихом режиме, но все же! Я понял что проект не может дальше жить без тестирования.
Рекламу не делал: пользователи приходят сюда из других моих Telegram-ботов. Сегодня ботом пользуется почти тысяча юзеров.
Моя цель — это English/Spanish-аудитория. Поэтому я составил примерный план, как на нее выйти:
Поэтому пока надобности в монетизации нет, но как только будет органический рост English/Spanish, можно подумать о подписке.
В рамках конкурса pet-проектов разработчики и инвесторы оценят проект Repeatwordbot по таким критериям:
1. Оригинальность идеи.
2. Качество кода.
3. Технический уровень.
4. Жизнеспособность идеи.
5. Перспективы проекта как бизнеса.
6. Инвестиционная привлекательность.
Победителей среди 20 кейсов определят на основе оценок инвесторов (45%), разработчиков (45%) и голосов читателей Highload (10%).
Более подробно, кто и как будет оценивать кейсы, можно прочитать здесь: статья об экспертах, критериях и правилах конкурса.
Максим Федоров
Senior PHP Developer в Yellow Stone.
Оценивает проекты по backend PHP и веб-разработке. Свой путь в IT Максим начинал как разработчик программного обеспечения для ПК в 2008 году. Затем перешел в веб-разработку, так как считает эту отрасль интересной в техническом плане и дающей множество возможностей. Последние 6 лет работает над разными проектами в качестве backend-разработчика, имеет опыт управления командами до десяти человек.
Богдан Пасечник
Senior PHP Developer Genesis на проекте Lift.
Оценивает бэкенд-проекты на PHP. Создал CRM-систему для агентств недвижимости, которая успешно работает и конкурирует на рынке. Богдан больше 14 лет занимается программированием, последние четыре года развивается в архитектуре IT-решений и DevOps. Работает с тремя языками программирования: PHP, Go, JavaScript, а также интересуется Dart, Python и TypeScript.
Елена Мажуга
Старший инвестиционный аналитик Genesis Investments.
Роман Бабицкий
Основатель инвесткомпании Babitskyi Investment, глава совета по вопросам иностранных инвестиций и экономического развития Украины.
Дмитрий Томчук
Основатель инвестиционного фонда Fison.
Прокси (proxy), или прокси-сервер — это программа-посредник, которая обеспечивает соединение между пользователем и интернет-ресурсом. Принцип…
Согласитесь, было бы неплохо соединить в одно сайт и приложение для смартфона. Если вы еще…
Повсеместное распространение смартфонов привело к огромному спросу на мобильные игры и приложения. Миллиарды пользователей гаджетов…
В перечне популярных чат-ботов с искусственным интеллектом Google Bard (Gemini) еще не пользуется такой популярностью…
Скрипт (англ. — сценарий), — это небольшая программа, как правило, для веб-интерфейса, выполняющая определенную задачу.…
Дедлайн (от англ. deadline — «крайний срок») — это конечная дата стачи проекта или задачи…