📢 Занимаетесь брендом работодателя?

Приходите 11 марта на Хабр Семинар, поговорим о том, как бренд и коммуникации становятся частью стратегии удержания.

→ Узнать больше

🔥 Backend Python Engineer (Async / AI / Scalable Systems)

от 160 000 ₽

Требования

Бэкенд разработчик
Middle
MySQL
PostgreSQL
Redis
Docker

Условия

Можно удалённо

Описание вакансии

О проекте

Мы строим AI-платформу психологической поддержки в Telegram с дальнейшим масштабированием на другие мессенджеры.

Это не простой чат-бот.
Это распределённый асинхронный сервис, рассчитанный на рост аудитории и работу под нагрузкой.

Архитектурная модель:

  • Голосовое сообщение → транскрибация (Whisper) → обработка → GPT
  • Очереди задач и воркеры
  • Redis как брокер и слой синхронизации
  • PostgreSQL с продуманной схемой (UUID, индексы, JSONB)
  • Webhook-подход без polling
  • Подписки с автосписанием (YooKassa)
  • Управление состояниями пользователя (state machine)
  • Планировщик с учётом часовых поясов
  • Идемпотентная обработка входящих webhook
  • Ограничения на уровне экономики (rate limits, токен-бюджет)

    Ожидаемая нагрузка:
    60 000+ пользователей, кратковременные пики до 100 голосовых сообщений в минуту.

    Технологический стек

    Нужен человек с реальным production-опытом:

    • Python 3.11+
    • aiogram 3.x (чистый async)
    • FastAPI или Aiohttp (обработка webhook)
    • PostgreSQL (нормализация, индексация, JSONB)
    • Redis
    • Celery / RQ
    • Docker / docker-compose
    • Интеграция webhook платежных систем
    • Понимание stateless-подхода

    Если вы не проектировали системы с очередями и воркерами — эта позиция не подойдёт.

    Что нужно будет реализовать

    Архитектурная часть

    • Telegram-бот исключительно через webhook
    • UUID в качестве primary key (Telegram ID отдельно)
    • Идемпотентная логика обработки входящих событий (Telegram + YooKassa)
    • Connection pooling
    • Горизонтальное масштабирование

    AI-pipeline

    • Голос → Whisper → GPT
    • Разделение этапов через очереди
    • Приоритизация задач
    • Удаление аудио после обработки
    • Память диалога (краткосрочная + summary)
    • Контроль расхода токенов

    Управление доступом

    Жизненный цикл пользователя:

    NEW → ONBOARDING → TRIAL → ACTIVE → GRACE → EXPIRED

    Доступ к AI должен строго зависеть от статуса.

    Удержание

    • Планировщик по локальному времени
    • Daily check-in
    • Логика streak
    • Open-loop сценарии (утро/вечер)

    Биллинг

    • Рекуррентные платежи через YooKassa
    • Повторные попытки списания (2ч → 12ч → 24ч)
    • Grace-период
    • Блокировка AI после нескольких неудачных попыток

    Защита системы

    • Лимиты сообщений
    • Rate limiting
    • Anti-flood
    • Crisis-слой (regex-фильтрация без вызова GPT)

    Кого ищем

    Middle+/Senior backend-инженера с реальным опытом асинхронных production-систем.

    Важно:

    • Понимание очередей и конкурентности
    • Опыт работы под нагрузкой
    • Умение проектировать схему БД
    • Понимание DLQ, idempotency, rate limiting

    Формат отклика

    Ответьте коротко по пунктам:

    1. Делали ли вы Telegram-бота на webhook? Опишите архитектуру.

    2. Как организовывали очереди и обработку задач?

    3. Есть ли опыт рекуррентных платежей?

    4. Как реализовывали идемпотентность webhook?

    5. С какой максимальной нагрузкой работали?

    Без структурированного ответа отклик не рассматривается.

    Если вы понимаете, как предотвратить перегруз Redis при пике — нам по пути.

    Условия

    • 1500 ₽ / час
    • MVP: 220–280 часов
    • Удалённый формат

    Отклики без технических ответов не рассматриваются.
    Junior-разработчиков не рассматриваем.