Junior ML Engineer / Python Developer

Дмитрий Анпилов

Junior ML Engineer / Python Developer

🏆 1 место на VK Tech хакатонеAI-помощник врачаML → API → продукт

Строю ML-пайплайны, backend-сервисы, Telegram-ботов, data engineering-системы и AI-помощников. Люблю, когда модель не просто обучилась, а превратилась в работающий продукт с API, интерфейсом и понятной пользой.

Medical ML Dashboard
VK Tech hackathon winner build
medical input

Медицинские тексты, МКБ-коды, вредные факторы

Medical Data

тексты и коды

NLP Features

TF-IDF

ML Model

CatBoost

FastAPI

online

Doctor Review

специалист решает

confidence

0.91risk_case
FastAPIonline
qualitychecks passed
reviewdoctor in charge

About

Данные, код и рабочий запуск

Честное портфолио начинающего специалиста: без лишнего пафоса, зато с реальными сборками, экспериментами и руками в коде.

1 место на офлайн-хакатоне VK Tech в Санкт-Петербурге

Я начинающий ML-инженер и разработчик широкого профиля. Мне интересно превращать данные в работающие решения: от EDA и feature engineering до API, базы данных, Docker и понятного интерфейса. У меня есть учебные и pet-проекты, хакатонный опыт и желание быстро расти в команде.

Коммерческого опыта пока немного, зато любопытства, практики и готовности разбираться — с запасом.

Отдельное направление — data-проект по сбору исторических цен на сельхозтовары для будущей модели прогнозирования.

1 место

VK Tech хакатон, Санкт-Петербург

Full flow

медицинские данные → ML → API

Wide stack

Python, web, mobile

VK Tech Hackathon

Победа на VK Tech хакатоне

1 место на офлайн-хакатоне VK Tech в Санкт-Петербурге

1

place

1 место на офлайн-хакатоне VK Tech в Санкт-Петербурге

AI-помощник врача-профпатолога

Проект AI-помощника врача-профпатолога занял 1 место на офлайн-хакатоне VK Tech в Санкт-Петербурге. Решение помогает специалисту анализировать медицинские данные, выявлять противопоказания к профдеятельности и быстрее находить рисковые случаи.

Пост VK Tech

Medical Data

тексты и коды

NLP Features

TF-IDF

ML Model

CatBoost

FastAPI

online

Doctor Review

специалист решает

Tech Stack

Инструменты, которыми можно довести идею до продакшн-подобного состояния

От ноутбука с EDA до backend-сервиса, scheduler, Docker и интерфейса, где результат можно потрогать.

Machine Learning / Data Science

PythonPandasNumPyScikit-learnCatBoostLightGBMTF-IDFNLPFeature EngineeringEDAJupyter NotebookMatplotlib

Backend

FastAPIUvicornSQLAlchemyPydanticPostgreSQLSQLiteREST API

Applied ML / Medical NLP

NLPmedical text processingМКБ-кодыrisk scoringthreshold tuningquality checks

Data Engineering / MLOps

DockerDocker ComposeAlembicpytesthttpxloggingmodel registrymodel carddata validationprediction loggingpipeline runnerAPScheduler

Web

TypeScriptNext.jsReactTailwind CSSESLintPostCSS

Mobile / GameDev

DartFlutterFlameRiverpodgo_routerlocalization RU/ENaudio/SFX

Automation & Tools

Telegram botspython-telegram-botaiohttpscheduled jobsCLI scriptsGitGitHubLinux basicsDocker basics

Projects

Проекты, где модель не остаётся в ноутбуке

ML, backend, medical NLP, data engineering, автоматизация, web и mobile: разные задачи, один принцип — собрать так, чтобы оно запускалось.

ML / Backend

AI-помощник врача-профпатолога

1 место на офлайн-хакатоне VK Tech в Санкт-Петербурге

Проект, занявший 1 место на офлайн-хакатоне VK Tech в Санкт-Петербурге. AI-помощник врача-профпатолога помогает анализировать медицинские данные, выявлять противопоказания к профдеятельности и подсвечивать рисковые случаи для специалиста. В проекте использовались медицинские тексты, МКБ-коды, вредные факторы, ML-модель, TF-IDF, CatBoost, ensemble-подход, настройка threshold и проверки качества.

Не заменяет врача — помогает подсветить рисковые случаи. Модель умная, но халат не носит.

PythonPandasScikit-learnCatBoostTF-IDFNLPmedical text processingFastAPIpytestMLOps basics

ML

OZON Recommendation System

Рекомендательная система для предсказания следующей покупки пользователя: feature engineering, обучение моделей, оценка качества и сравнение подходов.

Покупка ещё не сделана, а признаки уже нервничают.

PythonPandasNumPyLightGBMScikit-learnJupyter Notebook

Mobile / Backend

Drone Strike / FPV Last Run

Мобильная 2D arcade-игра про FPV-дрон: Flutter/Flame-клиент, игровой цикл, препятствия, миссии, жизни, музыка/SFX, backend на FastAPI с профилем, прогрессом и leaderboard.

Когда ML-модель устала — можно отправить FPV-дрон в миссию.

FlutterDartFlameRiverpodFastAPIPostgreSQLDocker

Backend / Automation

Commodity Dataset Builder

Долгоживущая data engineering-система для сбора и нормализации рыночных данных по commodity markets: PostgreSQL, immutable raw storage, scheduler, health reports и Alembic migrations.

Данные приходят регулярно, складываются аккуратно и не спорят с миграциями.

PythonPostgreSQLSQLAlchemyAlembicAPSchedulerDocker Composepydantic-settingspytest

Web

Сайт управления муниципального заказа

Modern web-проект на Next.js: публичный сайт, CMS и внутренняя система учета заявок и закупок.

Госзаказ, но интерфейс старается быть человеком.

Next.jsTypeScriptReactTailwind CSSESLint

Automation

Telegram Price Monitor Bot

Telegram-модуль для мониторинга цен на масла и шроты: ручной и автоматический сбор, история цен, сводки, графики за 7 дней, scheduler и уведомления. Используется как часть системы Agro Price Intelligence.

Графики строятся, цены шевелятся, бот держит в курсе.

Pythonpython-telegram-botaiohttpSQLiteMatplotlib

Data Engineering / ML / Agriculture

Agro Price Intelligence

Система для сбора, мониторинга и анализа цен на сельскохозяйственные товары: шроты, масла и связанные рыночные показатели. Проект объединяет парсинг отраслевых и биржевых источников, Telegram-уведомления, хранение истории цен, графики и подготовку датасета для будущей ML-модели прогнозирования.

Цель — собрать качественную историческую базу данных и использовать её для построения модели прогнозирования цен на шроты и масла сельхозназначения.

Пока рынок спорит, бот собирает цены. Потом модель попробует объяснить, что вообще произошло.

PythonparsingTelegram Bot APISQLite/PostgreSQLPandasMatplotlibtime seriesfeature engineering

Highlights

Что уже есть

Фокус на росте, практике и умении связывать ML с инженерной частью продукта.

1 место на офлайн-хакатоне VK Tech в Санкт-Петербурге
AI-помощник врача-профпатолога для анализа медицинских данных и выявления противопоказаний
Сбор отраслевого датасета для будущей ML-модели прогнозирования цен на шроты и масла
ML-проекты с pipeline и валидацией
Backend API и базы данных
Telegram-боты и автоматизация
Modern web на Next.js
Мобильная игра на Flutter/Flame
Готовность быстро учиться и доводить проекты до запуска

How I Build

Как я превращаю идею в работающий продукт

Мне важно не только обучить модель, но и довести её до понятного API, интерфейса, бота или AI-помощника.

01

Разбираю задачу

Что нужно пользователю, где риск, где метрика успеха.

02

Готовлю данные

Смотрю качество, пропуски, признаки и странные сюрпризы.

03

Обучаю модель

Выбираю подход, учу baseline, улучшаю без магического мышления.

04

Проверяю качество

Метрики, thresholds, ошибки и честный взгляд на ограничения.

05

Заворачиваю в API

FastAPI, схемы, валидация, удобная точка входа.

06

Подключаю продуктовый слой

Интерфейс, бот или API, чтобы результатом можно было пользоваться.

07

Логирую, тестирую и улучшаю

Проверки, логи, Docker и спокойный запуск без ритуальных танцев.

Interactive

Мини-терминал состояния

Немного живого CLI-настроения: всё честно, лаконично и с кофе как критической зависимостью.

~/anpilov/status

Contact

Связаться со мной

Открыт к стажировкам, Junior ML/Python позициям, проектам и задачам, где данные нужно превратить во что-то работающее.