Telegram-бот, который превращает присланное слово или фразу в готовую карточку и ведёт по ней интервальное повторение.
Что умеет: карточки с переводами, значениями и примерами; повторение с оценкой ответа; ежедневный цикл «повторение, практика, план»; упражнения по слабым местам; учебные планы; статистика; интерфейс на 6 языках; закрытый доступ с ролями и инвайтами.
Под капотом: детерминированный SM-2 с состояниями learning и relearning, дозирование новых слов по прогнозу нагрузки; LLM через Ollama с валидацией Pydantic, повтором, failover модели и квотами; при недоступности модели карточка дозаполняется фоновой очередью с backoff; per-user сериализация апдейтов; SQLite в WAL с 20 миграциями, журнал и телеметрия; 746 тестов с end-to-end стендом на фейковом Bot API; CI/CD в GHCR, бэкапы по systemd-таймеру.
Стек: Python, python-telegram-bot, asyncio, SQLite, Pydantic, Ollama, Docker, GitHub Actions