Telegram-бот для изучения слов с интервальным повторением (Python)

Ссылка на работу
Свой продукт: бот, который учит слова и не даёт их забыть. Нужно было, чтобы повторения назначались не «раз в неделю», а по состоянию каждой карточки. Реализовал детерминированный алгоритм SM-2: бот сам считает интервал и время следующего показа, ведёт статистику ответов и присылает напоминания. Генерация карточек и упражнений подключена к внешнему LLM-хосту; если хост недоступен, бот продолжает работать в обычном режиме повторений, а не падает. Интерфейс переведён на 6 языков через gettext, данные лежат в SQLite, запуск в Docker одной командой. Код покрыт тестами, прогоняются линтер, проверка типов и статический анализ безопасности. Стек: Python 3.11, python-telegram-bot, SQLite, gettext, Docker, pytest, ruff, mypy, bandit.