Python Backend Developer, Junior. Минск / Барановичи. Пять проектов развёрнуты: демо открываются в один клик, рядом код на GitHub.
Удобная платформа и для того, кто учит, и для того, кто учится. Преподавателю не нужно собирать курс вручную: он загружает Word, PDF, презентацию или текст, а ИИ изучает материал, составляет курс и добавляет тесты по этому материалу. Всё, что получилось, можно отредактировать.
Выберите файл, а дальше курс соберёт ИИ.
У каждого шага свой промпт с правилами и запретами, а браузер всё это время опрашивает сервер о прогрессе. Нажмите на шаг, чтобы увидеть, что браузер получит в этот момент.
Сервер проверяет размер и настройки и сразу отвечает номером задачи, job_id. Вся работа идёт в фоновом потоке, а браузер каждые 1,5 секунды спрашивает прогресс.
PDF, DOCX, PPTX вместе с заметками к слайдам или TXT. Если текста меньше 200 символов, задача завершается понятной ошибкой. Для модели берутся первые 60 000 символов.
Отдельный промпт методиста возвращает только модули и уроки. В него подставляются выбранные объём, тон и уровень слушателей.
До пяти запросов одновременно в ThreadPoolExecutor. Урок получает своё место в курсе и материал как источник фактов. Если запрос упал, в уроке будет заглушка, а остальной курс соберётся.
Отдельный промпт строит тест по урокам модуля и материалу, а по желанию ещё и итоговый тест по всему курсу.
Запрашивается режим JSON, а если модель его не поддерживает, ответ разбирается из обычного текста, даже в обёртке Markdown. Вопрос без верного ответа или с одним вариантом, пустые и лишние блоки отбрасываются.
Всё собирается в обычный курс: порядок уроков восстанавливается, у теста уже стоит порог 70%. Браузер получает course_id, и преподаватель правит курс как созданный вручную.
Развёрнутый ответ оценивается по тексту урока и скрытым критериям, температура 0.2, зачёт от 60 баллов. Наставнику содержимое тестов не передаётся вообще.
{
"status": "running",
"done": 0,
"total": 0,
"message": "Запускаем генерацию..."
}Проекты, канбан, сроки, файлы и команда в одном месте. Менеджер ставит задачи и принимает работу, участник видит свои задачи и сдаёт их на проверку, а изменения всем приходят сразу, без обновления страницы.




Бэкенд полностью асинхронный: FastAPI и SQLAlchemy 2 с MySQL. Права проверяются на сервере при каждом запросе, по роли в конкретном проекте. Обновления идут через Socket.IO: подключиться можно только с JWT, а комнаты проектов назначает сервер. Аналитика кэшируется в Redis и сбрасывается при изменении задач, файлы лежат в MinIO. Всё поднимается одной командой через Docker Compose, в CI проходит 51 тест.
Психологу негде по-человечески рассказать о себе: Instagram шумный, свой сайт долго и дорого, а «ссылка в био» из десяти кнопок выглядит холодно. Ryadom за несколько минут собирает с телефона сайт-визитку из конструктора и готовых тем. Его можно поставить в био и отправить клиенту.



Онбординг спрашивает, с чем приходят, как проходит первая встреча и сколько она стоит. Страница собирается прямо на глазах.
Для «пары слов» и вопросов клиентов есть готовые тёплые варианты. Их остаётся только поправить под себя.
Наклон записок, скотч, почерк и расположение фото система выставляет сама. Тема меняет материал страницы, а не только цвет.
Первое сообщение психологу написать трудно. Поэтому здесь есть первая встреча по шагам, цены как меню в кофейне и заметная кнопка «Записаться».
Короткий адрес для био и красивое превью в мессенджере. Кнопки ведут куда нужно специалисту: в Telegram, на сайт записи или в почту.
Без регистрации открывается своя песочница в редакторе, с примером готовой страницы.



Как устроено. Каждый блок страницы описан типом в TypeScript. Сервер не верит данным с клиента: профиль проходит через zod-схему, а фото проверяются по первым байтам файла. Сессии свои, на подписанной HMAC-cookie, пароли через scrypt.
Обычный чат с ИИ каждый раз начинает с чистого листа, а заметки ничего не отвечают. Nous соединяет одно с другим: вы пишете о том, что происходит и что чувствуете, а ассистент помогает разобраться в мыслях и опирается на ваши прошлые записи.
POST /api/chatСообщение уходит на сервер. Последние 5 записей уже лежат в контексте модели.search_notes("сон")Этого мало, поэтому модель сама вызывает инструмент поиска по записям.второй запросСервер расшифровывает найденные записи и повторяет запрос с расширенным контекстом.suggest_checklist([...])Вместо списка в тексте модель вызывает инструмент, и шаги приходят отдельной кнопкой.В браузере записи и чек-листы сначала сохраняются в IndexedDB и встают в очередь. Когда связь появляется, они уходят на сервер по порядку, с повторами при ошибках.

Как устроено. В контекст модели идут последние 10 сообщений, а старая часть диалога сворачивается в краткое содержание, чтобы не платить за весь разговор. Запросы к ИИ ограничены по числу на пользователя в час. Тексты в MongoDB зашифрованы на стороне сервера через Fernet. Это не сквозное шифрование, сервер держит ключ.
Ключи, аккаунты, игровая валюта и услуги. Здесь есть всё, что нужно такой площадке: каталог с фильтрами, сделка через гаранта, автовыдача, чат с продавцом, отзывы и панель администратора. На чеке можно пройти сделку: деньги лежат на удержании, пока покупатель не подтвердит получение.



Приложение на Flask, разделено на модули по разделам сайта, а операции с деньгами собраны в escrow.py. Ключи для автовыдачи хранятся зашифрованными, вход защищён двухфакторной аутентификацией с резервными кодами. Redis считает лимиты запросов и кэширует главную для гостей. Всё поднимается через Docker Compose, в CI проходят тесты и миграции на PostgreSQL.
Пишу с ИИ-инструментами, но отвечаю за результат сам: проверяю, покрываю тестами и могу объяснить решение.
В IT с 13 лет, 4 года пишу на Python, БГКЛП 2026. Ищу команду, где смогу расти как бэкенд-разработчик.