Я до сих пор бомблю от редизайна DuoLingo. Настолько, что сделал свой велосипед
- суббота, 14 февраля 2026 г. в 00:00:08
Если кратко - упрощение изучения до "прямой", в которой нет альтернатив, а также сброс прогресса с Золотой Совы до 2-го чекпоинта изрядно подожгло мою пятую точку настолько, что я просто забил.
Однако уже через пару месяцев стало очевидно - я вновь начал делать грамматические ошибки, и нуждался в "тренировках", но играть по новым правилам мне решительно не хотелось.
Первое, что я решил, если я делаю для себя (и, возможно, кого-то еще, у кого такое же видение на проблему Совы), то я хочу иметь возможность выбрать любой урок в любой момент времени. Если препод сказала, что я за урок дважды употребил не тот предлог - значит, повторяем предлоги.
К счастью или к несчастью, предлогов довольно много, как и ситуаций, в которых они пишутся. Поэтому те же предлоги разделил по темам, и все темы открыты сразу. Это был первый принцип моего приложения: любая грамматическая тема доступна сразу.
Во-вторых, меня всегда не устраивало количество теории (если она вообще была) перед уроками. Отсюда я сформировал второй принцип - в моём приложении будет возможность ознакомиться с теорией перед уроком или прямо в карточке. К сожалению, из-за природной лени, саму теорию добавил не везде, но по крайней мере я сделал такую возможность.

Причин тому несколько:
1) теорию нельзя списать один-к-одному из учебника. Авторское право все-таки.
2) не всегда теория в учебнике изложена компактно. Поскольку приложение было скорее мобильным, чем настольным, то компактность изложения стала важным пунктом.
3) на каждое правило существует куча исключений, уточнений, и тому подобного. Написать всё — забыть о компактности. Сделать компактно — породить кучу вопросов "а почему так?"*
* "Почему так?" является важным вопросом. Именно поэтому раньше во всех сколько-нибудь сложных и неоднозначных случаях приходилось идти на форум DuoLingo (/F, покойся с миром), чтобы понять логику того, что здесь, собственно, произошло в этой конкретной карточке. Сейчас добавили кнопку EXPLAIN, но не во все языковые пары.
Предлагаю посмотреть, что же я натворил (в хорошем смысле этого слова).
1. Свободный выбор тем. Нет ни последовательностей, ничего.
2. Генератор карточек из шаблонов. Есть шаблон, есть шаблонизатор, есть конкретная карточка в результате.
{"question":"I usually write articles ... weekends", "answer": ["at", "on"], # correct answers "radios": ["on", "at", "in"], # options to choose "comment": "ON is acceptable in US English", "minor": "yes", # prints the comment, if 2nd answer is selected },
Следующий шаблон интереснее:
{"question":"I left %arg1 ... %arg2", "answer": "at", "radios": ["in", "by", "with", "at"], "arg1": ["school","university", "school","university"], # options to template "arg2": [17, 22, "the age of 17", "the age of 21"], # options to template "tied": "yes", # zips arg1 and arg2 together; otherwise - multiplies both to 16 options },
Тут у нас подставляются варианты в карточку на этапе ее подготовки. Могло бы получиться до 16 вариантов (4 варианта для первой переменной, 4 для второй, 4*4 = 16, но благодаря опции tied они используются только в той же последовательности).
По такой логике я сделал упражнения к следующим темам:
Prepositions
Prepositions of time
Prepositions of place
Prepositions in time/on time, at the end/in the end
To/at/in/into
On/in/at
By prepositions
Prepositions with nouns
Prepositions with adjectives
Prepositions with verbs
Irregular verbs
Do or Make
Negative prefixes
Adjectives
Phrasal verbs
Articles (basic, advanced, with countries)
Исходный код лежит здесь: https://github.com/Areso/English-exercises
Попробовать можно тут: https://english.areso.pro/index.html
P.S.: статья пролежала в черновиках Обсидиана пару лет, могут быть какие-то артефакты от этого =\