Я устал от Duolingo и написал себе AI-репетитора. Go, Clean Architecture, 4 LLM-модели — и вот что из этого вышло

Мой рабочий день - это код. Вечером я хочу разговаривать с кем-то по-английски, а не нажимать на пингвинчиков.
Duolingo учит меня заказывать яблоки, ChatGPT-чат отлично объясняет грамматику - но не помнит, что я разбирал Present Perfect в среду и опять путаю его с Past Simple в пятницу.
Я хотел простую штуку:
написать модели «давай сегодня про багтрекеры»;
получить чат на 15 минут;
а в конце - три новых слова, которые она же мне и подобрала по уровню B1.
Чтобы завтра эти слова всплыли в упражнениях.
Через месяц получился Lexis:
Go · Clean Architecture · 4 LLM-модели · SSE-стриминг · JWT rotation + reuse detection
MIT, открытый репозиторий.
В статье - три инженерных якоря, которыми я доволен:
Pluggable AI-провайдеры через интерфейс из трёх методов.
SSE вместо WebSocket для стриминга AI-ответов.
JWT rotation + reuse detection как production-ready стандарт, а не «потом перепишем».
Плюс честный список того, что ещё не готово.