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

Сразу ссылка на App Store.

Какая проблема

Сейчас я вижу два типа приложений для изучения слов:

1. Мощные словарики

Например, Words или Skyeng. Да, там много слов с примерами — но все они собраны вручную. Я часто не находил там нужную фразу из сериала, целое предложение или фразовый глагол, который хотел бы выучить и начать использовать.

Приложение SkyEng
Приложение SkyEng

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

2. Кастомизируемые приложения

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

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

Добавление слова в Anki
Добавление слова в Anki

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

Интерфейс приложения Anki
Интерфейс приложения Anki

Как я решал эту проблему раньше

Когда я пользовался Anki, я генерировал переводы и примеры с помощью LLM. Настроил для себя удобный пайплайн и просто добавлял слова в свой словарь.

Мне показалось, что было бы здорово всё это автоматизировать. Хочу просто ввести слово или фразу — и чтобы оно сразу добавлялось в мой словарь вместе с примерами. А потом приложение само напоминало мне об этих фразах, когда приходит время их повторить.

Разработка приложения

��ак появилась идея VibeLing — изначально я собрал прототип за месяц. В нём были основные кор-функции:

  • поиск слова или фразы;

  • получение перевода с примерами использования;

  • озвучка слова или примера, чтобы тренировать восприятие на слух;

  • добавление слов в личный словарь;

  • изучение слов через простой алгоритм интервального повторения

Я выложил пост в свой Telegram-канал и получил неплохой отклик. Решил, что стоит развивать проект дальше.

Пост в тк-канале
Первый пост в тг-канале https://t.me/pavlenkopro
Первый пост в тг-канале https://t.me/pavlenkopro

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

Второй пост в тг-канале https://t.me/pavlenkopro
Второй пост в тг-канале https://t.me/pavlenkopro

Как используется LLM в приложении

Я использую OpenRouter API для обработки запросов. LLM задействована на двух экранах приложения: на странице поиска и на странице перевода.

Саджесты

Здесь LLM используется в несколько этапов:

  1. Модель пытается предсказать, какое слово или фразу пользователь хочет ввести, и предлагает варианты продолжения. Причём это работает в обе стороны — можно искать как с английского, так и с русского (если вы учите английский).

  2. Все предложенные варианты сразу переводятся «налету».

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

Экран поиска слов в VibeLing
Экран поиска слов в VibeLing

Генерация перевода с примерами

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

Страница отдельного слова в VibeLing
Страница отдельного слова в VibeLing

Здесь LLM дополнительно генерирует примеры использования слова или фразы и переводы этих примеров, чтобы контекст был максимально живым и понятным.

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

Озвучка текста при помощи AWS

Очень важно иметь возможность слушать текст — чтобы понимать правильное произношение и тренировать восприятие на слух.

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

Достаточно нажать на иконку рядом с текстом — и слово или фраза будут озвучены.

Озвучка в VibeLing
Озвучка в VibeLing

Звук получается очень естественный, потому что озвучка AWS работает при помощи нейросетей.

Интервальное изучение слов

Это — просто база. Я ничего нового не изобретал, а взял для начала самый понятный алгоритм интервального повторения.

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

Как работает алгоритм сейчас

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

Тренировка в VibeLing
Тренировка в VibeLing

В том же Anki, на мой взгляд, всё слишком усложнено: нужно оценивать, насколько хорошо ты запомнил слово, и выбирать одну из пяти опций. Я считаю, что достаточно двух вариантов — «помню» или «не помню», чтобы не тратить лишние когнитивные ресурсы и сосредоточиться именно на изучении языка.

Доступные языки

Использование искусственного интеллекта открывает возможность добавить в приложение десятки языков.

Пока я реализовал изучение следующих языков:

  • 🇺🇸 английский

  • 🇩🇪 немецкий

  • 🇫🇷 французский

  • 🇷🇸 сербский

  • 🇪🇸 испанский

  • 🇷🇴 румынский

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

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

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

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

Варианты подписок

В приложении есть бесплатная версия и Pro-версия за 5$ в месяц.

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

Единственное отличие в том, что в Pro-версии нет никаких лимитов.

Так как я оплачиваю использование токенов LLM и секунды озвучки, такой подход оказался самым сбалансированным:

  • тем, кто пользуется приложением регулярно, но без фанатизма, достаточно бесплатной версии;

  • а продвинутые пользователи могут оформить подписку и не ограничивать себя.

Модели нейронки одинаковые на двух версиях – самые мощные из доступных на сегодняшний день.

Функционал

Бесплатная версия

Pro-версия (5$/мес)

Добавление слов в словарь

10 слов в день

Безлимитно

Озвучка текста

10 000 символов в день

Безлимитно

AI запросы для переводов

1 000 запросов в день

Безлимитно

Тренировки и просмотр уже добавленных слов

Безлимитно

Безлимитно

План дальше

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

Если поделитесь своими идеями или отзывами — обязательно возьму это в бэклог.

Дальше всё просто:

  • буду улучшать стабильность работы нейронок, чтобы снизить количество ошибок;

  • добавлять новые языки;

  • делать флоу максимально удобным — чтобы это стало самой любимой аппкой для изучения языков;

  • и, конечно, выпустить версию для Android.

Ссылка на App Store


В своём Telegram-канале я публикую новости о развитии приложения — подписывайтесь, если интересно следить. А ещё там я пишу про тренды в IT и про технологии в целом.