Я перестал пользоваться Anki и сделал своё приложение для изучения языков
Я перепробовал самые популярные приложения для изучения языков. В одних нельзя добавить нужную фразу, в других приходится вручную заполнять карточки с примерами предложений.
Когда я начал учить сербский параллельно с английским, стало окончательно понятно, что с инструментами всё плохо. Для английского еще можно найти что-то более-менее удобное, но универсального решения для разных языков просто нет. А мне хотелось простую вещь: добавлять любые слова или фразы, не придумывать самому примеры и при этом иметь хоть какую-то систему интервальных повторений. И чтобы это работало сразу для нескольких языков.
В итоге я сделал своё приложение, где попытался закрыть все эти боли. За 5 месяцев его скачали 1000+ человек. При этом я вообще не вкладывался в маркетинг и делал всё в одиночку. Только недавно ко мне присоединился партнёр и помог исправить несколько ключевых архитектурных проблем. На старте же сильно выручили нейронки и банальное желание довести продукт до рабочего состояния.
Дисклеймер
Это не история большого успеха. Скорее я хочу рассказать про самый интересный этап – от идеи до стабильного приложения с живыми пользователями. И про то, как первые негативные отзывы не убили мотивацию продолжать.
Часть 1. Боль
Почему существующие приложения для изучения языков меня не устроили
Я перепробовал разные способы учить английский: занимался с преподавателем в SkyEng, пробовал учить самостоятельно, смотрел сериалы. В итоге понял, что для меня лучше всего работает довольно простая схема: потреблять контент на изучаемом языке, сохранять незнакомые слова и фразы и потом регулярно их повторять. Общение с преподавателями эффективно, но это слишком тяжело эмоционально и быстро выматывает.
Поэтому для меня ключевой инструмент – это приложение, куда можно в любой момент закинуть слово или фразу, а дальше оно само подсказывает, что повторять сегодня. Чтобы я просто заходил раз в день и проходил тренировку за 15–20 минут, не думая ни о чём лишнем.
На рынке я увидел два типа таких приложений.
Первый тип – это словарные приложения. В них есть большая база слов, ты добавляешь их в свой список, а дальше приложение формирует тренировки. Самое лучшее, что я встречал – SkyEng. Но у этого подхода есть ограничение: набор слов и фраз фиксированный. Например, мне в какой-то момент советовали сохранять целые фразы, которые я хочу использовать в речи. И вот такие вещи в словарях почти никогда не находятся – максимум отдельные слова.
Второй тип – приложения с карточками, где всё нужно заполнять вручную. Они решают проблему базы, но создают другую, более болезненную. Добавление слов превращается в отдельную работу. Самый очевидный пример – Anki. Нужно самому вводить слово, перевод, добавлять примеры, иногда картинки. Уже на этом этапе хочется всё бросить.
Anki – мощный инструмент, но пользоваться им каждый день тяжело. Слишком много времени уходит не на изучение языка, а на менеджмент карточек. Плюс есть еще один момент: ты сам должен решать, насколько хорошо помнишь слово, и от этого зависит алгоритм повторений.
То есть, ответственность за работу алгоритма перекладывается на пользователя. В итоге ты думаешь не о языке, а о том, какую кнопку нажать. А я хочу, чтобы приложение воспринимало насколько я хорошо или плохо запомнил слово по косвенным признакам без моего явного участия — например, как быстро я ответил или как часто ошибаюсь, использовал ли подсказки.
Переезд в Сербию раскрыл новую боль
В 2024 году я переехал жить в Сербию и решил учить сербский язык. И довольно быстро обнаружил, что для сербского вообще почти нет нормальных инструментов. Да, можно использовать те же анки-карточки, но это возвращает к тем же проблемам.
В какой-то момент стало очевидно: проще сделать своё решение, чем пытаться найти идеальное.
Часть 2. Решение
Каким должно было быть нормальное приложение
У меня были довольно простые требования. Я хотел иметь возможность добавлять любые слова или фразы, даже редкие. Добавление должно быть максимально простым, без ручного заполнения, а примеры должны появляться автоматически. Нужно было учить сразу несколько языков, в моём случае английский и сербский. И, конечно, должна быть система интервальных повторений, которая сама решает, что показывать сегодня.
Чтобы закрыть большинство требований, было очевидно, что без AI не обойтись. Нужно AI-based приложение. А вот система повторений спокойно реализуется обычным алгоритмом.
Как я это собрал
В выборе технологий я придерживался простого принципа: брать то, что уже знаю. Если не знаю – брать самое популярное, чтобы можно было быстро разобраться или найти помощь.
В итоге стек получился довольно стандартный. Мобильное приложение на React Native + Expo, чтобы сразу закрыть iOS и Android. Бэкенд на Node.js – по сути просто прокси к AI API и AWS сервису озвучки. Деплой через Vercel. Для подписок – RevenueCat. Сайт на Next.js, потому что нужен SSR и SEO.
MVP за 2 месяца
Главная цель была не сделать идеальный продукт, а не забросить его через неделю. И параллельно проверить, нужен ли он вообще кому-то кроме меня.
Раньше я уже несколько раз начинал пет-проекты и успешно хоронил их до релиза. Поэтому в этот раз выбрал максимально простой подход: не тратить деньги, не искать идеальную идею, взять свою боль и дать себе жёсткий дедлайн в 2 месяца.
Я вообще не знал, сработает ли идея. Будет ли удобно пользоваться, нормально ли AI генерирует примеры. Поэтому начал с максимально простой версии – веб-страницы с одним инпутом. Вводишь слово или фразу, отправляешь запрос, получаешь перевод и несколько примеров.
Без дизайна, без сохранения, без тренировок. Просто проверка ядра идеи.
И в какой-то момент я поймал себя на мысли, что мне самому хочется этим пользоваться. Это был важный сигнал.
После этого я начал переносить всё в мобильное приложение. Дизайн не придумывал с нуля – взял общедоступный бесплатный мобильный UI-kit в Figma Community Templates и использовал его под свои задачи, делая всё сразу в коде без макетов. Если бы я пошёл к дизайнеру, просто потерял бы время.
Код тоже писал не полностью сам. На старте активно использовал нейронки – сначала Cursor, потом Claude Code. Это сильно ускорило разработку и позволило не застревать в мелочах. А самое главное было не жалко выбрасывать в мусорку тысячи строк кода, когда понимал, что решение не подходит.
В итоге первую версию приложения я собрал за несколько дней. Она была кривая, местами странная, но работала.
Проблема, на которую я не рассчитывал – сербский язык
Самая неприятная проблема оказалась довольно неожиданной. В сербском языке есть и латиница, и кириллица. Люди используют оба варианта.
При этом AWS для озвучки принимал только латиницу, а нейронки генерировали примеры то в одном варианте, то в другом. Я пытался зафиксить это через критические правила в промптах, но модель всё равно периодически плыла.
В итоге я просто отказался решать это через AI и сделал алгоритмическую конвертацию кириллицы в латиницу. Иногда самое простое решение оказывается самым надёжным.
Представляю сколько ещё проблем ждет меня, когда буду добавлять новые необычные и редкие языки.
Я выложил приложение – и получил по полной
Первую версию я решил выпустить только на iOS, чтобы не распыляться. У меня был Telegram-канал примерно на 1500 человек на тот момент, и я просто написал, что сделал приложение и попросил людей посмотреть и оценить.
И тут началось. Баги, сломанные сценарии, странные кейсы. То, что у меня работало нормально, у пользователей ломалось буквально на каждом шаге.
Я довольно быстро понял, что MVP получился очень сырой, и на пару недель просто ушёл всё чинить и стабилизировать.
Это был самый полезный этап. Пока ты не показал продукт реальным людям, у тебя есть иллюзия, что всё нормально.
Первые пользователи без бюджета
Когда приложение стало более-менее стабильным, я решил попробовать рассказать о нём шире. Я написал пост на Хабре и выложил его в хаб «Я пиарюсь». Честно рассказал, что сделал приложение, показал, как оно работает. В итоге получил около 200 пользователей и много обратной связи.
Позже, когда я доработал тренировки, написал второй пост. И он уже дал около 500 пользователей за несколько дней.
В какой-то момент стало очевидно: дистрибуция – это не только про деньги. Если у тебя есть что показать и ты попадаешь в проблему людей, они сами приходят.
Баг, из-за которого я чуть не получил бан в Google Play
Когда появились первые платные подписки, началась странная история. Деньги приходят на мой счет в Google Play, подписка активируется у пользователя, а через несколько дней происходит возврат средств.
Сначала я подумал, что это просто особенности платформы, что пользователи как-то сами возвращают деньги. Но потом начали появляться отзывы: люди платят, а функции не работают, и деньги возвращаются потом автоматически.
Стало понятно, что проблема на моей стороне.
Пришлось разбираться вручную. Никакие LLM тут уже не помогали. В итоге выяснилось, что я неправильно настроил интеграцию RevenueCat с Google Play, и платежи не завершались корректно. Хотя в iOS всё работало хорошо.
Я получил негативные отзывы, потерял часть платных пользователей и имел реальные шансы получить бан от Google.
На фикс бага ушло несколько дней, но хорошо, что всё получилось исправить.
Часть 3. Результаты
Что в итоге получилось
Сейчас у приложения более 1000 пользователей, из них около 700 активны за последние 28 дней. Есть первые платные пользователи – сейчас это 5 подписок. Это немного, но для меня это сигнал, что продукт кому-то действительно нужен.
Главное, что это уже не просто идея, а живой продукт с реальными пользователями.
Что дальше
Сейчас основной фокус – стабильность и предсказуемость. Нейросети всё еще иногда выдают странные результаты, и это слабое место. Особенно ещё есть проблемы для редких языков, тогда как для английского всё работает почти идеально.
Параллельно улучшаю основной сценарий – от добавления слова до его закрепления через тренировки. Здесь еще много пространства для улучшений.
Из экспериментальных идей думаю про генерацию изображений под любые слова и фразы для ассоциаций. Но сначала нужно понять экономику и придумать, как это сделать без больших затрат по токенам.
Что я понял за эти 5 месяцев
Не обязательно искать идеальную идею – можно начать с собственной боли. Если ты сам готов пользоваться продуктом каждый день, уже есть шанс, что ты не один.
AI сильно ускоряет старт, но не решает всё. В какой-то момент всё равно приходится разбираться самому.
Дистрибуция важнее кода. Можно сделать хороший продукт, но без пользователей это ничего не стоит.
И главное – MVP всегда кривой. Это нормально. Важно как можно быстрее показать его людям и получить реальную обратную связь.
Если интересно попробовать – приложение называется VibeLing. Оно бесплатное, есть Pro-подписка с расширенными возможностями.
Я сам учу в нём английский и сербский каждый день.
В тг-канале «Из найма в продукт» я пишу про свой путь к собственному продукту: как развиваю и продвигаю приложение, с чем сталкиваюсь и чему учусь по дороге.
Автор: vital_pavlenko

