Desktop, backend and machine-learning projects, built end-to-end — from a Russian language model written from scratch to a store API with payments.
vinyl_store — REST API for an online vinyl store
NestJS · TypeScript · MySQL · Sequelize · Stripe
A catalog with search, sorting and pagination; sign-in with email or Google; admin and user
roles; reviews; payments through Stripe; Discogs import; Telegram notifications; an audit log of
everything admins do.
- 70 unit tests in 15 suites, all green; CI runs lint, format check, tests and build on every push
- Swagger documents all 17 endpoints at
/api
jarvis — GPT-style language model
Python · PyTorch · Hugging Face Datasets · Hugging Face Tokenizers
A ~112M-parameter decoder-only Transformer for Russian, implemented from scratch. The project includes a custom byte-level BPE tokenizer, corpus preparation, pretraining → SFT, resumable AMP/DDP training, KV-cache inference, a console chat and an optional Telegram bot.
- v1.0.0 release; trained checkpoint and tokenizer on Hugging Face
MNIST_MLP — handwritten digit recogniser for Windows
C++17 · Qt 5.12 · Eigen · Arduino
You draw a digit on the canvas, a network trained from scratch classifies it, and the result is mirrored onto an Arduino over a serial port.
- Training on the full 60 000-sample MNIST reaches 98.3% on the 10 000-sample test set
CHESSonQT — chess for two players on one computer
C++ · Qt 5.12
Two players share a keyboard and mouse: five-minute clock for each side, castling, en-passant capture, promotion, sound effects and looping background music.
graphical_snake_sfml — Snake with SFML
C++14 · SFML 2.5.1
Menu, five colour themes, score tracking and an optional self-collision rule; the field wraps at the edges.
- Fully playable: eating an apple grows the snake and bumps the score; the best result is persisted
in
Score.txt
console_snake — classic Snake in the console
C++14
My first step from a single long file to proper classes: Snake handles movement, growth and
collisions, Map draws the field, Point is a coordinate pair.
🇷🇺 По-русски
Стек
- Языки: C, C++, TypeScript, JavaScript, Python, SQL
- Backend: NestJS, Node.js, MySQL, Sequelize, REST API, JWT / OAuth 2.0, Stripe, Swagger, Jest
- Desktop и графика: Qt 5.12, SFML 2.5, Eigen, Arduino
- Машинное обучение и данные: PyTorch, Hugging Face, NumPy, pandas, SciPy, Matplotlib, Jupyter
- Инструменты: Git, GitHub Actions, ESLint, Prettier, Visual Studio, Linux
Проекты
- vinyl_store — REST API магазина винила на NestJS:
каталог с поиском, сортировкой и пагинацией, вход по email или через Google, роли
admin/user, отзывы, оплата через Stripe, импорт из Discogs, уведомления в Telegram, аудит-лог действий администраторов. 70 тестов в 15 сьютах, CI на каждый push; не-админ получает403, некорректный ввод —400, whitelist колонок блокирует SQL-инъекцию в сортировке. Swagger описывает все 17 эндпоинтов на/api. - jarvis — GPT-подобная авторегрессионная модель для русского языка примерно на 112 млн параметров, написанная с нуля на PyTorch. Собственный byte-level BPE-токенизатор, подготовка корпусов, pretrain → SFT, AMP/DDP, KV-cache, консольный чат и Telegram-бот. Релиз v1.0.0; веса и токенизатор — на Hugging Face.
- MNIST_MLP — распознавание рукописных цифр на C++17 и
Qt: сеть обучается с нуля на полном MNIST (60 000 примеров) и даёт 98.3 % на тесте из 10 000;
веса сохраняются в
weights.bin, обучение идёт в отдельном потоке, результат уходит на Arduino. - CHESSonQT — шахматы для двух игроков за одним компьютером: таймер на пять минут каждой стороне, рокировка, взятие на проходе, превращение пешки, звук и фоновая музыка.
- graphical_snake_sfml — «Змейка» на SFML:
меню, пять цветовых тем, счёт, рекорд в
Score.txt; поле замкнуто по краям. - console_snake — консольная «Змейка» как учебный
проект: классы
Snake,Map,Point.
LeetCode — 100+ решённых задач; карточка выше обновляется автоматически, профиль.



