yukovsky.
Открыт к предложениям

JapaneseApp

Моё личное iOS-приложение для японского с нуля: интервальные повторения, письмо каны, спокойный интерфейс в стиле туши и бумаги и LLM, которая разбирает мою неделю и подстраивает настройки.

Зачем

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

Как это работает

Каждый день приложение предлагает план на 15–25 минут: сначала кана, потом уроки слов с грамматикой N5 и N4, повторения по FSRS-6 и письмо от обводки до записи по памяти. Раз в неделю LLM читает мой журнал занятий и присылает изменения настроек, которые приложение может откатить.

Что сделал я

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

Статус

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

Роль
Владелец: методика обучения, дизайн интерфейса, архитектура
Период
2026
Статус
В разработке
Стек
Flutter (iOS), Dart, drift, SQLite, fsrs (пакет Dart), Python 3.12, UniDic, golden-тесты, мультиагентная AI-разработка

Главное

  • План на 15–25 минут в день: сначала кана, потом 241 урок слов с грамматикой N5 и N4
  • Повторения по FSRS-6 на карточках четырёх типов: узнать, услышать, вспомнить каной, вставить пропуск
  • Письмо от обводки к письму от руки и по памяти, с порядком черт и подсказками
  • Словарная карточка каждого слова: чтение, ударение, аудио, разбор иероглифа, мнемоника на русском
  • Учитель здесь LLM: разбирает недельный журнал и присылает изменения настроек, которые можно откатить
  • Дизайн в стиле бумаги васи и туши, светлая и тёмная темы, полностью офлайн

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

  • Экран «Сегодня»: приветствие над пейзажем тушью с журавлями и план на день: 12 повторений, 6 новых слов, около 15 минут. Рендер из golden-теста на демо-данных.Экран «Сегодня»: приветствие над пейзажем тушью с журавлями и план на день: 12 повторений, 6 новых слов, около 15 минут. Рендер из golden-теста на демо-данных.

    «Сегодня»: план дня одним взглядом, повторения, новые слова и сколько времени это займёт.

  • Начало урока: три знака хираганы, す, し и き, на карточке с каллиграфией и короткое пояснение. Рендер из golden-теста на демо-данных.Начало урока: три знака хираганы, す, し и き, на карточке с каллиграфией и короткое пояснение. Рендер из golden-теста на демо-данных.

    Урок начинается с новых знаков на карточке с каллиграфией: как выглядят, как звучат, первые слова с ними.

  • Письмо: обводка черт знака す с номерами начала штрихов. Рендер из golden-теста на демо-данных.Письмо: обводка черт знака す с номерами начала штрихов. Рендер из golden-теста на демо-данных.

    Письмо: сначала обводите каждую черту по порядку, потом пишете по бледному контуру, потом по памяти.

  • Поиск по словарю по запросу たべ: четыре результата с чтением и значением, у слов с уровнем JLPT есть значок. Рендер из golden-теста на демо-данных.Поиск по словарю по запросу たべ: четыре результата с чтением и значением, у слов с уровнем JLPT есть значок. Рендер из golden-теста на демо-данных.

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

  • Экран прогресса с бонсаем и сеткой каны: введено 46 знаков из 131. Рендер из golden-теста на демо-данных.Экран прогресса с бонсаем и сеткой каны: введено 46 знаков из 131. Рендер из golden-теста на демо-данных.

    Прогресс: бонсай растёт вместе с выученными словами, а сетка показывает, какую кану вы уже прошли.

1 / 5 «Сегодня»: план дня одним взглядом, повторения, новые слова и сколько времени это займёт.

Что это

Я учу японский без преподавателя и сделал приложение, которого мне для этого не хватало. Оно рассчитано на 15–25 минут в день и само говорит, когда на сегодня хватит. Сначала хирагана и катакана: 31 урок, и каждый знак сразу появляется внутри настоящего слова. Потом 241 урок слов в порядке колоды Kaishi 1.5k со вставками грамматики N5 и N4 и примерами, где новое добавляется по одному шагу за раз.

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

Роль учителя играет LLM. Раз в неделю приложение выгружает ZIP с журналом занятий, голосовыми заметками и вечерними check-in. Модель читает его и присылает пакет изменений настроек, который приложение применяет и умеет откатить.

Что я сделал

Систему обучения под то, как учусь я сам, и заодно витрину моей работы с интерфейсами. Стиль построен на бумаге васи и туши: светлая и тёмная темы, живой пруд с карпами и небо на экране «Сегодня», которое меняется со временем суток. Нажатия срабатывают в момент касания, с пружинной анимацией и тактильным откликом. Свайп назад как в iOS работает везде, настройка уменьшения движения учитывается, а вёрстка не ломается при крупном системном шрифте (Dynamic Type).

  • Экран «Сегодня»: приветствие над пейзажем тушью с журавлями и план на день: 12 повторений, 6 новых слов, около 15 минут. Рендер из golden-теста на демо-данных.Экран «Сегодня»: приветствие над пейзажем тушью с журавлями и план на день: 12 повторений, 6 новых слов, около 15 минут. Рендер из golden-теста на демо-данных.

    «Сегодня»: план дня одним взглядом, повторения, новые слова и сколько времени это займёт.

  • Начало урока: три знака хираганы, す, し и き, на карточке с каллиграфией и короткое пояснение. Рендер из golden-теста на демо-данных.Начало урока: три знака хираганы, す, し и き, на карточке с каллиграфией и короткое пояснение. Рендер из golden-теста на демо-данных.

    Урок начинается с новых знаков на карточке с каллиграфией: как выглядят, как звучат, первые слова с ними.

  • Письмо: обводка черт знака す с номерами начала штрихов. Рендер из golden-теста на демо-данных.Письмо: обводка черт знака す с номерами начала штрихов. Рендер из golden-теста на демо-данных.

    Письмо: сначала обводите каждую черту по порядку, потом пишете по бледному контуру, потом по памяти.

  • Поиск по словарю по запросу たべ: четыре результата с чтением и значением, у слов с уровнем JLPT есть значок. Рендер из golden-теста на демо-данных.Поиск по словарю по запросу たべ: четыре результата с чтением и значением, у слов с уровнем JLPT есть значок. Рендер из golden-теста на демо-данных.

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

  • Экран прогресса с бонсаем и сеткой каны: введено 46 знаков из 131. Рендер из golden-теста на демо-данных.Экран прогресса с бонсаем и сеткой каны: введено 46 знаков из 131. Рендер из golden-теста на демо-данных.

    Прогресс: бонсай растёт вместе с выученными словами, а сетка показывает, какую кану вы уже прошли.

1 / 5 «Сегодня»: план дня одним взглядом, повторения, новые слова и сколько времени это займёт.

Технические решения

  • Полностью офлайн. Flutter-приложение для iOS с двумя базами SQLite через drift: контент только для чтения и прогресс пользователя. Обновление контента никогда не трогает мою историю.
  • Расписание. Повторения считает открытый Dart-пакет fsrs. Вокруг него я продумал регулятор нагрузки, режим восстановления после перерыва и мягкий лимит сессии, чтобы пропущенная неделя не превращалась в стену повторений.
  • Пайплайн контента. Python 3.12 собирает базу из JMdict, KANJIDIC2, колоды Kaishi 1.5k, Dictionary of Japanese Grammar и UniDic, добавляет аудио и переводы на русский.
  • LLM в цикле. У недельной выгрузки и пакета изменений строгий формат: модель может поменять только то, что разрешает приложение, и любое изменение откатывается.
  • Мультиагентная разработка. Сначала письменные контракты и замороженные тесты, затем на каждую задачу агент-исполнитель и агент-проверяющий. Скрипт проверки падает, если меняется замороженный файл.
  • Golden-тесты. Каждый ключевой экран рендерится в обеих темах и сравнивается с эталоном. Экраны на этой странице отрисованы тем же способом, на демо-данных.

Результат

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

Моя роль

Владелец продукта и дизайнер: методика обучения, интерфейс и архитектура. Код писали AI-агенты в процессе, который вёл я: планку задавали контракты и замороженные тесты, а каждую задачу проверял агент-ревьюер.

CV.pdf