Перейти до вмісту

Мої проєкти.

Guess the Band

Музична вікторина із serverless API та статистикою складності

Фулстек-застосунок — від дизайну до API.

  • React
  • Vite
  • TypeScript
  • Supabase
  • Motion

Сайт ↗Код ↗

Vercel Functions проксіюють Deezer API на боці сервера, а не відкривають його браузеру. Кожен раунд і кожна відповідь потрапляють у Postgres, щоб рахувати складність кожного треку. Анонімна гра працює завжди й синхронізується, щойно ви входите в акаунт.

Guess the Band

Podhod

Фулстек-застосунок для силових тренувань на Cloudflare Workers і D1

Фулстек-застосунок — від дизайну до API.

  • React
  • TypeScript
  • Hono
  • Cloudflare Workers
  • Drizzle ORM

Сайт ↗Код ↗

Двомовний конструктор і трекер тренувань, зроблений повністю самостійно. Бібліотека з 1 324 вправ, прогресія для кожної вправи, яку обчислює чистий рушій, вхід через Google і CI-пайплайн, що мігрує базу перед кожним деплоєм.

Podhod

Slovníček

Offline-first PWA з власним рушієм синхронізації

Фулстек-застосунок — від дизайну до API.

  • Next.js
  • TypeScript
  • Dexie
  • Supabase
  • PWA

Сайт ↗Код ↗

IndexedDB тут — джерело істини, а не кеш. Найскладніша частина — двостороння синхронізація: last-write-wins з окремим watermark для кожної таблиці й свідомий порядок «спочатку pull, потім push», щоб застарілий офлайн-запис ніколи не перезаписав новіший серверний.

Slovníček

Rječniček

Той самий рушій, переорієнтований на хорватську

Фулстек-застосунок — від дизайну до API.

  • Next.js
  • TypeScript
  • Dexie
  • Supabase
  • Vitest

Сайт ↗Код ↗

Slovníček, перебудований для члена родини, який вивчає хорватську: словник рівня B1–B2, доповнений фаховою лексикою електрика. Доказ того, що разовий застосунок можна перетворити на продукт, який легко повторити.

Rječniček

Kambuz

Двомовний підбір рецептів на основі мультиагентного пайплайна на Claude

Фулстек-застосунок — від дизайну до API.

  • Next.js
  • TypeScript
  • Claude API
  • MongoDB
  • Vitest

Сайт ↗Код ↗

Що приготувати сьогодні: обираєш прийом їжі, кухню й те, що є в холодильнику, або просто шукаєш — і отримуєш страву російською чи англійською. Рецепти дає мультиагентний пайплайн на Claude, зроблений повністю самостійно, який перетворює кулінарні відео з YouTube на структуровані рецепти. Скаут знаходить страви у влозі й пропускає відео, що не є рецептами, екстрактор описує кожну з таймкодами на відео, верифікатор звіряє кожну кількість із транскриптом, а суддя відсіює дублікати. Розбір відео працює на Haiku 5.5 після порівняння моделей для кожного агента; англійською перекладає Sonnet 5.5, а вичитує Opus 5.5 — їх обрано за евалом на 20 рецептах. Близько 7 центів за страву.

Kambuz

Gipper Platform

Чотирнадцять мікрофронтендів, ШІ-конвеєр для генерації графіки, SSR у продакшені

  • React
  • TypeScript
  • Vite
  • MobX
  • Module Federation
  • Fabric.js
  • MUI

Сайт ↗

Платформа для спортивного контенту, з якою я працюю щодня; нею користуються тисячі організацій. Агент Claude інтерпретує запит природною мовою, фронтенд рендерить React-шаблони поза екраном, вимірює текстові слоти через getBoundingClientRect і збирає canvas на Fabric.js.

job-feed-bot

Мій перший проєкт на Python, що працює за розкладом із першого дня

  • Python
  • GitHub Actions
  • Telegram Bot

Код ↗

Агрегатор вакансій із п’яти джерел за підключуваним інтерфейсом джерела, зі сповіщеннями через Telegram-бота, який запускається за розкладом GitHub Actions кожні чотири години й пам’ятає вже показані вакансії. Мій перший проєкт на Python — і причина, чому я тепер до нього повертаюся.