Как запомнить что-нибудь навсегда?

Привет, это история о разработки самого удобного приложения для зубрежки английских слов инди-разработчиком. Еще одно?!
— Да, но с GenAI особенностями и алгоритмами!

4dd421ccb89fcbd06ef4dcc7040a752d.pngМеня зовут Саша Ершов

я мобильный разработчик с 2012, в базе Android, Lead

Часть 1. Предыстория, теория и исследования

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

Принципы Анки

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

Анки работает на интервальных повторениях и кривой забывания Эббингауза, придуманной в XIX веке. Их суть, попытаться показывать вам запоминаемое слово и повторять немного до забывания, постепенно увеличивая интервал. Так слово закрепляется в долговременной памяти.

Первые программы с таким принципом
стали появляться в конце 80-х годов

Другими словами, вам показывается изучаемое слово. Вы пробуете вспомнить его перевод. Если помните, оно покажется для проверки через три дня, потом через восемь, двадцать два и так далее. Но если забыли — цепочка сбрасывается и начинает строиться заново с первого дня.

238ca69e2cf61e1ca8500735ef106d21.png

Алгоритм, заложенный в Анки, называется SuperMemo2. Интересно, что сейчас существует уже 18-ая версия алгоритма. И сейчас идут споры Anki vs. Supermemo об эффективности подходов в зубрежке. Я на стороне практического применения. Люди оказались не готовы тренировать слова чаще раза в день. Поэтому Анки и многие другие приложения продолжают использовать именно вторую более старую версию.

В любом случае постоянство важнее алгоритма.

Как учить понятно,
но что учить?
Слова, но какие?

Я поискал тесты на знание количества слов. Мой уровень на старте показывал — 4500 слов. Далее, раз в месяц я перепроходил такие тесты. И моя практика показала, что такие тесты работают с погрешностью ±500–1000 слов.

Слова важнее грамматики, ими можно говорить как тегами и понятно: «Я ходить гулять девушка завтра», «Я документ терять» — звучит неправильно, но понятно, о чем речь.

Частоты слов и эффективность

Я нашел список слов распределенных по частоте использования англичанами в речи.

  • И начинать учить следует с ежедневных he и she.

  • Потом перейти к словам посложнее respect и ticket.

  • И потом еще более редким refusal и pave для эффективности.

Так на меньшее количество изученных слов, будет больше понимания.

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

График частоты употребления к словам

График частоты употребления к словам

Но я не знал слово vast. И по моему списку оно было в первой 1000 слов.

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

Обожаю экономить время:)

Позже я руками пролистал все 16.000 слов и исключил из изучения все известные мне слова, чтобы не учить и не тратить на них время. Со скоростью 1000 слов в час.

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

Изучающие останавливаются, кто на he, кто на disturb. После неё изучающий знает мало слов. Они ему встречались редко и он их не запомнил.

ff3c91818586cbfb6130dd1c9e6d02d5.png


Процент изучающих английский язык и количество известных им слов по уровням A1-C2 примерно варьируется:

  • Уровень A1, Начальный: ±10–20% и знает 300–500 слов

  • Уровень A2, Базовый: около ±20–30%, 600–1000 слов

  • Уровень B1, Средний: около ±30–40%, 1000–2750 слов

  • Уровень B2, Выше среднего: около ±15–25%, 2750–4500 слов
    Тут часто начинают говорить, смотреть фильмы и бросают изучение.
    Поэтому на С1+ переходит небольшой процент людей.

  • Уровень C1, Продвинутый: около ±5–10%, 5000–7000 слов

  • Уровень C2, Свободное владение: около ±1–5%, 8000+ слов

0044a24b9082919b0eb1c5c20ef47b46.png

Интересно,
что люди прибавляют
около 2500 слов в год
в родном языке

Результат, 10.000 слов

Или +5500 новых слов. Столько стали показывать тесты после 6 месяцев изучения. Я учил 30 новых слов в день или +900 в месяц. По 30–60 минут в день, после завтрака.

Больше 60 минут тяжело, я от 40 минут чувствовал по недовольству сколько времени пересидел.

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

Проблема

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

Да есть другие приложения, я их отсмотрел и попользовался. Но везде мне казалось сложно и тоже не понятно. Или было не лучше Анки. Quizlet тоже хороший, но проблему как мою не решал.

Marvel — чудо

Пока я учил слова, я делился своей статистикой и разными интересными словами в запрещенном Инстаграм. И подписчики спрашивали, что за приложение. Я рассказывал и давал ссылки.

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

Основной скрин Анки. И еще, я впервые видел такую монетизацию: Анки стоит 2000₽ для Айфона, для Андроида – 0₽

Основной скрин Анки. И еще, я впервые видел такую монетизацию: Анки стоит 2000₽ для Айфона, для Андроида — 0₽

Я даже расстроился, когда понял, что нет простого приложения для зубрежки слов. Подумал, что может мертвый рынок. Что люди хотят DuoLinguo, Лингва-Лео и они больше про грамматику. Есть похожие и тоже хорошие reWord, но просто ничего не зашло, только сложный и старый Анки. Как-то так и родилась идея приложения, простого, с простым входом, для зубрежки слов.

Часть 2. Приложение

И я подумал, нужно делать свое новое приложение, с вот этим всем. И сел, технологию взял обкатанный Flutter. Знаю, пишу, пробовал Kotlin Multiplatform. Но там пока много всего в будущем.

На работе мы перешли на Flutter, он хорошо показал себя. Я год сидел на нем, отлично его знаю и быстро пишу. И как говорят фотографы: самый лучший фотоаппарат, тот который у вас есть. Плюс Flutter позволил выпускать сразу на iOS и Android.

За два месяца и 30.000 строк кода написал первую версию. И сразу стал обкатывать ее на пользователях и себе.

Частотный список слов

Сначала я распотрошил проверенный и неплохой список слов с Анки и попробовал с ним. Но частоты оказались не совсем правильными.

Тогда я стал искать Гугловые частоты употребления слов в книгах NGram и просто кем-то собранные индексные базы для машинного обучения на 300k слов улучшил базу частотности слов. Плюс посмотрел частоты от Corpus of Contemporary American English (COCA). COCA, кстати, пишет, берите наши частоты и указывайте нас и пугают судом своим «пауком» который по ночам сканит интернет на свои списки.

Я миллион раз пересортировал базу слов. Прокачал навыки Excel вместе с chatGPT и словил первые миграции БД для пользователей. Все пока хранится локально. И я не мог забить и просто сказать пока не многочисленным пользователям: Cорян, нужно заново все начать. У них уже шло обучение и мне жалко было потерять их прогресс.

7a402936c456073dd7636eb895647cd3.png

Это изменения по коду на гите, почти книга. Но 200k строк можно выкинуть, это 12 полных перезаливов базы данных из 14.000 строк.

5dedacd23d9c21bd71a61a6a098128e6.png

Генерация изображений

В процессе пришла идея нагенерить картинок нейросетью. Я попробовал запустить Stable Diffusion на Mac. Для меня стало открытием, что кто угодно может запустить ее у себя.

Заработало, но на моем M1 один запрос генерировался по 2–4 минуты, не хватало оперативки и архитектуры.

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

Даже думал купить или арендовать игровой ПК на Винде за 6000₽ на месяц с мощной видео-картой.

Но помогли парни, бывшие коллеги, они подняли свою Stable Diffusion и уже дообучили её. Дали мне пару раз бесплатно API-доступ на пару дней к своему серверу. И я скриптами за пару ночей я сгенерил 4500 картинок.

Сначала я пробовал генерировать по слову, но есть проблема с абстрактными словами типа «расстроенный». Нейронка не цепляется за, то что нельзя изобразить. Поэтому я перешел на примеры плюс само слово в запросе.

Художественные стили и раскраска брались случайно из сета и подставлялись в запрос. Но потом пришлось их руками отбирать все равно со скоростью 1000 картинок в день.

Примеры генераций. Было 2 стадии и первую сразу видно :)

808edeb44b2e36544283c2b8b9974a8c.png

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

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

Плюс в таком подходе задействовано больше каналов восприятия и визуальный и аудиальный.

Тестирование и продакт-девелопмент

И параллельно с разработкой я продолжал тестировать и рассказывал в запрещенном Инстаграм о продвижении разработки. Сейчас есть около десяти активных пользователей. Эти люди — моё золото и мои консультанты! Десять это не ноль и это означает, что идея рабочая. Они подсказывали, что неудобно и что не работает, а что выходит классно.

021f523e440ef67b659ba7b5532336c1.png

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

Я залил его в Рилс, чтобы проверить досматриваемость и интересность. По такой статистике на вообще не «прогретых» людей и он получился хорошим. Но его нужно сократить до 45 секунд и самое важное перенести в первые 15 секунд.

Так почему еще одно приложение про английский?

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

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

Например, я выкинул первоначальный тест. Он оказался не рабочий, люди не знали слов chair и blue, а тест говорил уровень B2, они думали, что знают и само-обманывались. Тест врал на начальной точке, но количество известных слов неплохо показывает.

Планы

Сейчас в планах собрать 1000 активных бесплатных пользователей и обратную связь от них. И потом приходить к экспериментам с платными подписками. Хотя функционал готов.

Нужно заказать редизайн UI. Мой если показываешь про-дизайнерам раз***ывают. Но вкусовщина, сейчас UX главнее:)

И хочется сделать активности с друзьями. Обсуждения слов, соревнования и челенджи, как круги в часах Apple. Моя жена когда-то так увлеклась этим, что мы с ней в 23:30 ходили и закрывали активности, чтобы она смогла обыграть своих друзей. Это будет интересно, делится и смотреть статистику друзей.

Хочется сделать необычные примеры, генерировать их chatGPT. И перерисовать их.

Хочется понять статистику изучения сложных слов и давать лучшие способы запоминания на анализе этой статистики.

Инвестиции

  • Месяц назад получил предложение об инвестициях из Дубая на 10М₽ за 20% компании. Ребята классные. Но им нужен ретеншн и больше пользователей.

  • В июне я подался на грант на 4М₽, жду решения.

  • И сейчас готовлю кампанию на Бумстартере на 2М₽.

Выводы

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

  • Да, могут закончиться деньги, но довести до ума и успеха хочется.

  • Есть сложности с РФ рекламой и отключенными платежами в наших сторах. Кстати последнее решилось, спасибо коллеге из Черногории.

  • Есть сложности с оплатами в РФ, возвратами пользователей в приложение, багами, переводами. Но все выглядит решаемым.

  • Главное что есть необычная идея и мне стало понятно как выглядит уникальность. Есть уверенность делаю нужное, есть первые пользователи. И понятно как в будущем искать такие идеи.

  • К первым негативным оценкам привыкаешь, это золото, потому что понятно что улучшать. Хоть внутри и злишься по началу.

  • Работа над стартапом это правда не легко. Но пока это самое интересное, что я делал.

526d6b4e5eb19fd4d1493b5bdc96978b.pngIcicle

Изучи английские слова по нейро-картинкам

Скачивайте, учите, пробуйте
Бесплатно!

Попробовать приложение:

  • в iOS TestFlight (2 кнопки: скачать Тестфлайт и тестировать)

  • Android AppTester и *. apk

Приложение реализует все принципы эффективности из предыстории:

  • Работающие алгоритмы

  • Необычные GenAI-картинки

  • Эффективный частотный список словс третьими формами и фразовыми глаголами

  • Супер-простой Тиндер-подобный интерфейс

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

  • Уведомления, темы, звуки и озвучка

  • Мотивирующая статистика

  • Менеджер слов, поиск, фильтрация

  • и перерывы на цитаты Джобса и Рокки 4

PS

  • Полная история в виде подборки из сторис в Google Фото.

  • Есть вопросы? Про разработку, сторы, инвестиции или еще какие-нибудь пишите в запрещенный Инстаграм, подписывайтесь или Телегу.

  • Есть предложения о работе и сотрудничестве, можем обсудить:)

Спасибо за внимание
Лайк если понравилось :)

© Habrahabr.ru