Проект: DuoNiche. Как я делал апп для болгарского и сербского  Публичный пост
7 июля 2025  761
DuoNiche. Как я делал апп для болгарского и сербского
https://t.me/DuoSR_bot

Написал апп для тренировки болгарского, сербского и прочих не самых популярных языков.

UPD. По результатам комментов добавил греческий и румынский.

Расскажу, как я к этому пришел, как всё работает, и что есть на текущий момент.

Идея

Всё началось с личной необходимости хотя бы как-то учить болгарский.
Учить надо, но приоритет не №1, не готов тратить на это какие-то существенные ресурсы.

Приложения для болгарского оказались на удивление унылыми: кривые интерфейсы, ограниченный функционал, а денег просят по-настоящему.

Хватит это терпеть, решил я, стоит совместить приятное с полезным: прокачать скиллы в работе с LLM и сделать инструмент, которым смогу пользоваться. Возможно, не только я.

Суть

Апп выдает задания: вставить слова в пропуски, выбрать правильный вариант предложения или ударения в слове, послушать аудио и выбрать ответ. Ну, все как обычно.

Все бесплатно. 15 заданий подряд, следующие 15 доступны через 3 часа. Бот, если попросите, уведомит, когда откроется следующая сессия.

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

Запуск

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

Процесс и результат

Прототип собрал за полтора месяца, изначально закладывая возможность расширения на всякий случай. Начал в марте, запуск 18 апреля.

Миниапп появился вообще за пару недель - по большей части я наблюдал, как его пишет LLM, управляя процессом. Но, надо сказать, получилось годно - тесты, простота расширения - вот это все.

Еще за пару месяцев после запуска проект оброс фичами и превратился в комбайн. Репозиторий.

Маленькая схема
Маленькая схема

Ваще большая схема жесть
Ваще большая схема жесть

Что умеем сейчас:

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

Пару дней назад запустил сербский, но пока об этом нигде не сообщал. Премьера, получается. Изволите.

Цифры

  • Retention. Держится на уровне 30+%.

Последние ненулевые цифры в каждой строке - возврат в первые дни июля
Последние ненулевые цифры в каждой строке - возврат в первые дни июля

  • Ядро пользователей. Довольно стабильно

Уведомления работают
Уведомления работают

  • Объемы. В базе на текущий момент 3'977 заданий, 116'210 ответов пользователей, из них уникальных 13'149.
  • Рекордсмен. Есть пользователь, который выполнил 3'473 задания. Смотрю на его статистику с восхищением и немного с опаской.

Забавные случаи на производстве

Латинские буквы и кожаные мешки
LLM издевалась над пользователями. В заданиях с вариантами ответа она генерировала правильный ответ и его копию, где одна из букв кириллицы (например, 'е') была заменена на латинскую ('e'). В фидбеке после ошибки она честно писала, мол, "что же ты, дружок, разве не видишь разницу?". Сначала получилось отучить через промпт, потом внезапно более умная модель недели через три после переключения на нее тоже сорвалась туда же. Теперь стоит специальная проверка алфавита.

Как поймать LLM? Попросите поставить ударение
Теперь я знаю способ разоблачить робота. Попросите модель поставить ударение в любом славянском слове. Оно может оказаться где угодно, например, на согласной, и только, если повезет там, где нужно.

Про деньги

Расходами пока можно пренебречь, но они определенно выше доходов.

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

Основная идея на будущее - оставить базовый функционал бесплатным, а новые фичи - продвинутую аналитику, исправление ошибок, новые типы заданий - сделать доступными по подписке.

Помощь Клуба?

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

Поэтому буду благодарен за любой фидбек в комментариях:

  • Чего не хватает, а что, может, лишнее?
  • Какие ещё языки нужны - чешский, польский или вообще немецкий?
  • Если кто-то может помочь с сербским - отлично, сам не могу оценить качество задайний и аудио. Вообще будет супер, если есть знакомый преподаватель сербского, может получится обоюдно интересная коллаба
  • И самый важный на сегодня вопрос: как проверить готовность пользователей платить не через "звёзды", но пока и без регистрации юрлица? Как брать долор, не привлекая внимание?

Буду рад любым мыслям и предложениям.
Отвечу на вопросы, если вдруг.

32 комментария 👇

Привет. Приложений для тренировки сербского действительно почти нет, так что круто, что сделал!

Попробовал выполнить первые 15 упражнений, вот что пока заметил.
Во-первых, иногда длинный текст не умещается на кнопках. Во-вторых, было упражнение с подстановкой пропущенных слов. Я не понял, какой вариант верный, и ответил с ошибкой. Но ИИ в подсказке предлагает мне поменять порядок слов в предложении. Наверно, нужно ему как-то более доходчиво объяснять, в чем была суть задания?

Что хотелось бы добавить

  • Очень нужен выбор уровня языка (А1, А2, В1...). Выполнять слишком простые задания для своего уровня — пустая трата времени, я считаю
  • Было бы неплохо иметь возможность выбирать типы заданий: только аудирование, только пропущенные слова
  • Более сложный вариант задания с пропущенными словами. Дается предложение с пропущенным словом и перевод предложения на язык пользователя. Пользователь должен сам ввести нужное слово в нужной форме
  • Ещё можно то же самое, но вместо перевода давать аудио
  • Когда в упражнении даётся несколько вариантов написания предложения на выбор, хорошо бы выделять жирным шрифтом или подчеркиванием, в чем именно разница

Качество самих заданий и аудио для моего уровня знания сербского выглядит отлично

  Развернуть 1 комментарий
🕵️ Юзер скрыл свои комментарии от публичного просмотра...
🕵️ Юзер скрыл свои комментарии от публичного просмотра...

Я живу на Кипре, и вокруг меня все учат греческий как не в себя, потому что тут приняли закон про фаст-трек натурализацию для квалифицированных специалистов. Думаю, что потенциальная аудитория для греческого была бы не меньше, чем для сербского или болгарского — вроде как на острове около 80к русскоязычных. С другой стороны, греческий хоть и не самый популярный язык, но в Duolingo он есть, и на курсы все мои знакомые ходят, так что может я и переоцениваю потенциальный спрос :D

  Развернуть 1 комментарий
🕵️ Юзер скрыл свои комментарии от публичного просмотра...

Крутой проект, спасибо за подробный рассказ! Я бы с удовольствием пользовался, будь там румынский. С приложениями для изучения румынского в целом всё довольно печально.

  Развернуть 1 комментарий
🕵️ Юзер скрыл свои комментарии от публичного просмотра...

мне сейчас конкретно не надо учить язык и в особенности те, которые ты упомянул. Но хотел сказать спасибо, что написал свою историю! Вообще это очень круто, что ты проект релизнул, не у многих это получается. Еще тем более не у многих получается привлечь 1000 пользователей без хитрой рекламы. Буду ждать апдейтов 😃. По поводу донатов, да, обычно на этом не заработаешь совсем. Люди не охотно донатят (говорю не из своего опыта, а из опыта других людей)

  Развернуть 1 комментарий
🕵️ Юзер скрыл свои комментарии от публичного просмотра...

Привет
Во-первых, спасибо, очень полезно! Говорить по-сербски далеко не каждый день получается за пределами "кеса не треба", а тут формат прям норм. Пока набил 4 дня :)

Во-вторых в качестве небольшого фидбека - после прошедших 15 вопросов бот предлагает напомнить через 3 часа. Понятно что это просто кулдаун, но может имеет смысл ещё таймеры добавить?Позанимался вот на ночь глядя, через 3 часа я спать буду. С утра конечно увижу, но смахну и забуду как если бы вообще не ставил.
Мне кажется было бы полезно либо добавить варианты типа 9 или 12 часов, либо просто "завтра в 9 утра".

  Развернуть 1 комментарий
🕵️ Юзер скрыл свои комментарии от публичного просмотра...
Александр Элеазер Поддерживаю контентные проекты 8 августа в 11:29

Пытаюсь запустить, не работает. Бот на команды не реагирует, кнопка начать ничего не начинает

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

@eleazer, У меня с полчаса назад прям в середине занятия остановился
Упал, видимо

  Развернуть 1 комментарий
🕵️ Юзер скрыл свои комментарии от публичного просмотра...

😎

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

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


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