Портфолио
Краткий обзор продуктов и систем, которые я проектировал и разрабатывал.
Фильтр по типу
Веб-решения
Корпоративный сайт IC-Aumont — лицензированное кадровое агентство, работающее в Словакии и специализирующееся на промышленном найме и долгосрочных решениях в области персонала. Платформа создана как маркетинговый инструмент с высокой конверсией: понятная структура услуг, быстрая навигация и прямые сценарии как для кандидатов, так и для корпоративных клиентов. Вакансии легко просматривать, а контактные формы оптимизированы, чтобы снизить трение и увеличить входящие заявки. Дизайн опирается на узнаваемый фирменный стиль (красный/чёрный/белый), выразительную типографику и чёткие призывы к действию. Подход mobile-first обеспечивает удобство на всех устройствах, особенно для соискателей. SEO-архитектура с чистыми URL и структурированными страницами повышает видимость в региональной выдаче, а оптимизации доступности и производительности обеспечивают быструю загрузку и удобство использования.
Тёмный минималистичный сайт личного бренда для Alex DDK: выразительный hero, блок проектов, короткая секция о подходе и понятные контакты. Тексты и материалы ведутся в Notion как бэкенд для контента — правки в Notion попадают на лендинг без полного передеплоя фронтенда. Визуально — сдержанная подача: контраст чёрного и белого с акцентом золотого, воздух в сетке и адаптивные изображения, чтобы произведение впечатление курируемого портфолио.
SaaS-системы
Attendance Analyzer — внутренний инструмент в духе SaaS для операций с персоналом: обрабатывает «грязные» реальные данные учёта посещаемости и превращает их в понятные, применимые выводы. Система анализирует загруженные файлы Dochadzka (.txt), справляясь с несогласованным форматом, проблемами кодировки и дубликатами. Вместо опоры на структуру файла каждый сотрудник проверяется по календарным дням — точное выявление критичных случаев: неявки и отсутствующих отметок. Чистый дашборд даёт мгновенный обзор метрик с подсветкой по серьёзности. Координаторы просматривают записи, копируют данные и экспортируют результаты в CSV для дальнейшей обработки. Фронтенд: React, Vite и Tailwind; бэкенд: Node.js и Express — упор на производительность и надёжность. Поддержка словацкого и русского, светлая и тёмная тема; поставка как автономное настольное приложение через сборку. Расчёт на реальную эксплуатацию: надёжность важнее предположений — инструмент для команд с большими объёмами данных посещаемости.
Полнофункциональная система аутентификации и авторизации для SaaS, рассчитанная на безопасное и масштабируемое управление пользователями в современных приложениях. Поддерживаются разные сценарии входа: классический email/пароль и OAuth 2.0 (Google, GitHub), а также опциональная двухфакторная аутентификация (TOTP). Сессии реализованы через JWT в HTTP-only cookies — баланс безопасности и удобства. RBAC обеспечивает гибкое управление правами: приложения задают роли и контролируют доступ в масштабе. Модульная архитектура упрощает расширение, интеграцию и адаптацию под разные продукты. Бэкенд: Node.js, Express и TypeScript; Prisma ORM для работы с базой (по умолчанию SQLite, с простым переходом на PostgreSQL). Фронтенд на React и Vite — быстрый и отзывчивый интерфейс. Система ориентирована на продакшен и сочетает удобство для разработчиков с реальными требованиями безопасности — подходит как основа для SaaS-продуктов, внутренних инструментов и мультитенантных платформ.
Публичный сайт DirectHeader: быстрый лендинг с hero, блоками продукта, соцдоказательствами и понятными CTA на регистрацию и демо. Статический фронт с оптимизацией ресурсов, адаптивной вёрсткой и доступной типографикой и фокусом. Структура под SEO — семантика заголовков, мета-теги, стабильные URL; формы ведут в лёгкий API с антиспамом и опционально в CRM/почту. Производительность: форматы картинок, ленивая загрузка, минимальный CLS, чтобы Core Web Vitals оставались зелёными на мобильных. Дизайн-токены для отступов и цвета — новые страницы (блог, changelog, юридические) без расхождений. Скриншоты и иллюстрации можно подменить по мере готовности — сейчас стоят заглушки.
Morettinero E-Commerce
AI-автоматизация
Внутренний слой автоматизации: входящие тикеты и операционные запросы проходят через классификацию с LLM, извлечение сущностей и проверки по политикам до попадания в очереди к людям. Цель не заменить агентов — убрать рутинный триаж, снизить ошибки маршрутизации и дать структурированные сводки, чтобы нужная команда видела нужный тикет быстрее. Пайплайн принимает письма и данные форм, нормализует их в единую схему и выполняет RAG по внутренним знаниям (FAQ, runbook, границы продукта), чтобы предложить категорию, приоритет и следующие шаги. Оценки уверенности и ограничители решают, когда можно предложить черновик ответа, а когда кейс уходит без изменений. Все ответы модели логируются с trace ID для аудита и регрессионных тестов при смене промптов или корпуса. Дальше те же оркестраторы дергают вебхуки и CRM: авто-теги, SLA-таймеры и заметки для эскалации. API-first сервисы, воркеры очередей под пики и ручная проверка для чувствительных категорий — типичная продакшен-автоматизация с ИИ, а не разовый чат-демо.
Backend
Эталонная платформа: доменные сервисы, асинхронные события и service mesh для политик трафика. Синхронные вызовы остаются в границах контекстов; между доменами — устойчивая шина событий, чтобы потребители не были жёстко связаны. Kubernetes с пробами, requests/limits и PDB под характер нагрузки. Внутри — gRPC с жёсткими контрактами, снаружи REST. Брокер сообщений с backpressure и ретраями, идемпотентные консьюмеры против дублей побочных эффектов. Единая наблюдаемость: трассировка через mesh, структурные логи с trace ID, RED-метрики по сервисам. Безопасность: mTLS внутри mesh, ротация секретов, сетевые политики против lateral movement. Система растёт команда за командой — независимые деплои, масштаб там, где узкое место, без одной общей БД как глобального замка.
Рабочее место аналитики для команд, которым нужно видеть продукт «здесь и сейчас», а не отчёт за вчера. Платформа принимает высоконагруженные потоки событий, нормализует их почти в реальном времени и доставляет обновления в браузер по WebSocket — дашборды обновляются без ручного обновления страницы и без постоянного polling. На бэкенде воркеры приёма масштабируются горизонтально за разделённой очередью; горячие пути оптимизированы под предсказуемую задержку, а агрегации складывают сырые события в метрики по временным бакетам в PostgreSQL, Redis кэширует последние счётчики и лидерборды. Фронтенд на React с графиками, заточенными под большие объёмы данных: виртуализированные таблицы, debounce фильтров и сохранённые представления для «тяжёлых» пользователей. В эксплуатации — видимость лимитов по тенантам, разбор dead-letter для битых payload и настраиваемое хранение, чтобы стоимость диска не росла бесконтрольно. В нагрузочных тестах система стабильно переваривает более миллиона событий в сутки; мониторинг и алерты завязаны на те же метрики, что видит клиент — регрессии замечают раньше пользовательских тикетов.