На рынке полно решений для изучения языков — на любой вкус, цвет и бюджет. Но я так и не нашёл приложение, которое идеально подошло бы мне для изучения слов и фраз. Поэтому решил сделать его сам.
Сразу ссылка на App Store.
Какая проблема
Сейчас я вижу два типа приложений для изучения слов:
1. Мощные словарики
Например, Words или Skyeng. Да, там много слов с примерами — но все они собраны вручную. Я часто не находил там нужную фразу из сериала, целое предложение или фразовый глагол, который хотел бы выучить и начать использовать.

Вторая проблема таких приложений с ручной базой — они обычно рассчитаны на один язык. Когда я начал учить сербский помимо английского, вообще ничего подходящего не нашёл.
2. Кастомизируемые приложения
Второй тип — это пустышки с алгоритмом. Сюда подходит Anki, например. Ты сам добавляешь любые слова и фразы, какие хочешь, сам прописываешь перевод и примеры.
Казалось бы, это решает проблему первого типа приложений. Но добавлять вручную каждое слово — это ад. Искать примеры, подбирать картинки... Я пробовал начать это делать много раз и каждый раз останавливался на десятом слове.

И посмотрите на интерфейс Anki — тут просто без комментариев. Я до сих пор не понимаю, что значат эти кнопки внизу и зачем мне все эти детали. Я хочу просто отвечать: помню или не помню слово.

Как я решал эту проблему раньше
Когда я пользовался Anki, я генерировал переводы и примеры с помощью LLM. Настроил для себя удобный пайплайн и просто добавлял слова в свой словарь.
Мне показалось, что было бы здорово всё это автоматизировать. Хочу просто ввести слово или фразу — и чтобы оно сразу добавлялось в мой словарь вместе с примерами. А потом приложение само напоминало мне об этих фразах, когда приходит время их повторить.
Разработка приложения
��ак появилась идея VibeLing — изначально я собрал прототип за месяц. В нём были основные кор-функции:
поиск слова или фразы;
получение перевода с примерами использования;
озвучка слова или примера, чтобы тренировать восприятие на слух;
добавление слов в личный словарь;
изучение слов через простой алгоритм интервального повторения
Я выложил пост в свой Telegram-канал и получил неплохой отклик. Решил, что стоит развивать проект дальше.
Пост в тк-канале

Ладно, не этот пост — вот следующий.

Как используется LLM в приложении
Я использую OpenRouter API для обработки запросов. LLM задействована на двух экранах приложения: на странице поиска и на странице перевода.
Саджесты
Здесь LLM используется в несколько этапов:
Модель пытается предсказать, какое слово или фразу пользователь хочет ввести, и предлагает варианты продолжения. Причём это работает в обе стороны — можно искать как с английского, так и с русского (если вы учите английский).
Все предложенные варианты сразу переводятся «налету».
Дальше можно открыть нужное слово, чтобы посмотреть примеры и прослушать озвучку. Можно добавить слово в свой словарь для изучения прямо с этого экрана.

Генерация перевода с примерами
На страницу перевода пользователь попадает из поиска.

Здесь LLM дополнительно генерирует примеры использования слова или фразы и переводы этих примеров, чтобы контекст был максимально живым и понятным.
Изначально перевод примера скрыт, чтобы можно было самому подумать. Но по клику его можно посмотреть.
Озвучка текста при помощи AWS
Очень важно иметь возможность слушать текст — чтобы понимать правильное произношение и тренировать восприятие на слух.
Для этого я использую AWS сервис озвучки. В приложении можно прослушивать текст на английском, сербском, немецком, французском и даже на русском (если ты изучаешь его как иностранный).
Достаточно нажать на иконку рядом с текстом — и слово или фраза будут озвучены.

Звук получается очень естественный, потому что озвучка AWS работает при помощи нейросетей.
Интервальное изучение слов
Это — просто база. Я ничего нового не изобретал, а взял для начала самый понятный алгоритм интервального повторения.
Если человек отвечает правильно, слово появляется снова через сутки. Ещё раз правильно — через 3 дня, потом через 7 и так далее. Если на каком-то этапе ответ неверный, слово возвращается в начало цикла. Когда слово доходит до конца — оно считается выученным.
Как работает алгоритм сейчас

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

В том же Anki, на мой взгляд, всё слишком усложнено: нужно оценивать, насколько хорошо ты запомнил слово, и выбирать одну из пяти опций. Я считаю, что достаточно двух вариантов — «помню» или «не помню», чтобы не тратить лишние когнитивные ресурсы и сосредоточиться именно на изучении языка.
Доступные языки
Использование искусственного интеллекта открывает возможность добавить в приложение десятки языков.
Пока я реализовал изучение следующих языков:
🇺🇸 английский
🇩🇪 немецкий
🇫🇷 французский
🇷🇸 сербский
🇪🇸 испанский
🇷🇴 румынский
Не знаю, насколько это частый сценарий, но мне самому сейчас приходится изучать два языка — английский и сербский. Поэтому я сразу заложил такую возможность.
После установки можно выбрать несколько языков для изучения.
Позже в интерфейсе будет доступен тоггл в верхней части экрана, чтобы переключаться между языками и проходить тренировки отдельно по каждому.

Конечно, каждый язык нужно отдельно тестировать и подбирать подходящие голоса. Поэтому я буду постепенно добавлять новые языки в приложение.
Варианты подписок
В приложении есть бесплатная версия и Pro-версия за 5$ в месяц.
Я специально сделал так, чтобы бесплатной версией можно было пользоваться сколько угодно — и при этом получать реальную пользу.
Единственное отличие в том, что в Pro-версии нет никаких лимитов.
Так как я оплачиваю использование токенов LLM и секунды озвучки, такой подход оказался самым сбалансированным:
тем, кто пользуется приложением регулярно, но без фанатизма, достаточно бесплатной версии;
а продвинутые пользователи могут оформить подписку и не ограничивать себя.
Модели нейронки одинаковые на двух версиях – самые мощные из доступных на сегодняшний день.
Функционал | Бесплатная версия | Pro-версия (5$/мес) |
Добавление слов в словарь | 10 слов в день | Безлимитно |
Озвучка текста | 10 000 символов в день | Безлимитно |
AI запросы для переводов | 1 000 запросов в день | Безлимитно |
Тренировки и просмотр уже добавленных слов | Безлимитно | Безлимитно |
План дальше
Когда я рассказал о приложении в Telegram-канале, то получил много идей, что можно улучшить. После первого цикла обратной связи я уже добавил возможность добавлять слова прямо со страницы подсказок, добавил новые языки и реализовал удаление слов из словаря свайпом.
Если поделитесь своими идеями или отзывами — обязательно возьму это в бэклог.
Дальше всё просто:
буду улучшать стабильность работы нейронок, чтобы снизить количество ошибок;
добавлять новые языки;
делать флоу максимально удобным — чтобы это стало самой любимой аппкой для изучения языков;
и, конечно, выпустить версию для Android.
В своём Telegram-канале я публикую новости о развитии приложения — подписывайтесь, если интересно следить. А ещё там я пишу про тренды в IT и про технологии в целом.
