На главную

Проекты

hamal - учебный репозиторий про внутренности React, переписанный в интерактивный логбук из 28 образцов

Тестовое задание 3 Jan 2024

hamal - учебный репозиторий про внутренности React, переписанный в интерактивный логбук из 28 образцов

Учебный репозиторий, который был одной неоформленной страницей с десятком React-демок, все в один захардкоженный фиолетовый, с блокирующими alert()-диалогами, багами дубликатов id в тудушках и кнопкой логина, которую хедер никогда не замечал. Переписан и расширен в 'Bench Notes' - 28 живых категоризированных 'образцов' (базовые и concurrent-хуки, паттерны HOC и render-prop, внешний стор, порталы, error boundary, жизненный цикл класса рядом с его useEffect-двойником) на собственной OKLCH-системе в духе лабораторного журнала, с починенными реальными багами и полным проходом по доступности и адаптивности. Ejected Create React App, React 18, styled-components.

  • React 18
  • React Router 6
  • styled-components
  • CRA
  • SCSS
  • OKLCH
  • Responsive
  • Accessible
alkaid - портфолио 2021 года, пересобранное на Nuxt с пятью живыми демо

Тестовое задание 21 May 2021

alkaid - портфолио 2021 года, пересобранное на Nuxt с пятью живыми демо

Личное портфолио 2021 года, пересобранное в editorial-сайт на Nuxt: в разделе работ открываются пять встроенных демо - тревел-лендинг, сайт гейм-студии, два агентских портфолио и тревел-маркетплейс - каждое перенесено из разрозненного статического HTML в нативные кликабельные маршруты Nuxt. Vue 2, Sass и nuxt-i18n с английским и русским, статическая сборка.

  • Nuxt 2
  • Vue 2
  • Sass
  • nuxt-i18n
  • SSG
  • Responsive
  • Accessible
dubhe - доска авторов и постов, переписанная в рабочую поверхность-картотеку

Тестовое задание 20 Jun 2023

dubhe - доска авторов и постов, переписанная в рабочую поверхность-картотеку

Vue 3 + TypeScript тестовое задание: доска, которая загружает десять авторов и их посты из JSONPlaceholder и даёт добавлять, редактировать, удалять и перетаскивать посты между авторами. Починил реальные баги (сломанный импорт схемы валидации, из-за которого падала каждая форма; последовательные запросы без отдельных состояний загрузки и ошибки по каждому автору; по одному скрытому модальному окну редактирования на каждую карточку), затем переписал внешний вид целиком в 'Atelier Ledger' - систему-картотеку на тёплой бумаге с колонками-вкладками папок и постами-карточками на OKLCH-палитре, полноэкранный шелл, который не скроллит страницу, анимированные перетаскивание и переходы модалок, и реальную базу доступности. Vue 3 + TypeScript + Vue CLI.

  • Vue 3
  • TypeScript
  • Vue CLI
  • SCSS
  • vee-validate
  • vuedraggable
  • OKLCH
  • Responsive
  • Accessible
merak - заброшенный скелет Union-Find, переписанный в интерактивный визуализатор алгоритма

Тестовое задание 29 Jan 2024

merak - заброшенный скелет Union-Find, переписанный в интерактивный визуализатор алгоритма

Vue 3 тестовый репозиторий, который так и не доделали: оригинал просто рисовал ряд белых точек на canvas, держал вшитый список рёбер, который нигде не использовался, и не реализовывал сам алгоритм непересекающихся множеств. Переписан с нуля в полноценный обучающий инструмент - анимированный SVG-лес, переключатели union by size/rank и path compression, перематываемое демо, режим свободной игры, живая таблица parent/size, метрики и история, всё на собственной OKLCH-системе 'терраццо'. Vue 3 + TypeScript + Vite.

  • Vue 3
  • TypeScript
  • Vite
  • SVG
  • SCSS
  • OKLCH
  • Responsive
  • Accessible
alcor - генератор случайных цитат, пересобранный вокруг мёртвого API и переосмысленный визуально

Тестовое задание 16 Dec 2023

alcor - генератор случайных цитат, пересобранный вокруг мёртвого API и переосмысленный визуально

Статичный тестовый на генератор цитат, у которого сломана сама основа: сторонний API (api.quotable.io), от которого он зависел, закрылся, и живое приложение вечно висело на 'Loading...'. Пересобран так, чтобы читать из локально вшитого набора реальных, корректно атрибутированных цитат с ротацией без повторов подряд - без сети и без точек отказа, - а затем полностью переосмыслен в спокойную редакционную систему 'чернила по тёплой бумаге' с OKLCH-темами (светлая/тёмная), рабочими кнопками Share и Copy, полным адаптивом и реальной базой доступности. Статичный HTML + CSS + ванильный JS.

  • HTML
  • CSS
  • Vanilla JS
  • OKLCH
  • Responsive
  • Accessible
mirfak - лендинг digital-агентства, рефакторинг статичного тестового в рабочий сайт

Тестовое задание 28 Mar 2023

mirfak - лендинг digital-агентства, рефакторинг статичного тестового в рабочий сайт

Лендинг веб-студии netdev, пересобранный из статичного тестового на HTML/CSS/JS: починен сломанный двойной слайдер, аккордеон услуг сделан доступным с клавиатуры, мёртвая навигация связана с реальными секциями плюс новые блоки Клиенты и Стоимость, добавлена модальная форма заявки с валидацией и состоянием успеха, плейсхолдеры заменены на правдоподобный русский контент, проведён полный проход по адаптиву и доступности. Статичный HTML + SCSS + ванильный JS.

  • HTML
  • SCSS
  • Vanilla JS
  • Splide
  • Responsive
  • Accessible
alnair - лендинг CRM-интегратора, рефакторинг и доращивание до полноценного сайта

Тестовое задание 10 Mar 2023

alnair - лендинг CRM-интегратора, рефакторинг и доращивание до полноценного сайта

Лендинг CRM-интегратора WELBEX, пересобранный из голого одноэкранного тестового на Create React App: исправлены битые ссылки-заглушки, добавлены модальная форма заявки с валидацией и состояниями загрузки и успеха, двенадцать реальных внутренних страниц каждая со своей вёрсткой, активные состояния навигации, кастомный фавикон и полный проход по доступности и адаптиву. React 18 + React Router.

  • React 18
  • React Router
  • CRA
  • SCSS
  • Responsive
  • Accessible
alnilam - лендинг студии настольных игр, рефакторинг и доводка

Тестовое задание 25 Dec 2023

alnilam - лендинг студии настольных игр, рефакторинг и доводка

Лендинг студии настольных и карточных игр, переписанный с jQuery-шаблона: эффект воды на WebGL переведён с jQuery на порт без зависимостей, добавлены модальная форма заявки с валидацией и маской телефона, рабочее мобильное меню, плавная прокрутка к якорям и базовая доступность. Nuxt 3 + Vue 3.

  • Nuxt 3
  • Vue 3
  • TypeScript
  • Tailwind
  • SCSS
  • WebGL
  • Cloudflare
castor - пять экранов DivKit, собранных в один доступный флоу

Тестовое задание 13 Jul 2024

castor - пять экранов DivKit, собранных в один доступный флоу

Пять отдельных server-driven экранов (DivKit, SDUI-фреймворк Яндекса) пересобраны из разрозненных JSON-макетов в единый навигируемый флоу: навигация между экранами, полная адаптивность, доступность, живой текст, локальные ассеты и обновление дизайн-токенов на OKLCH. DivKit + Express, статика на Cloudflare Pages.

  • DivKit
  • Server-Driven UI
  • HTML
  • CSS
  • Express
  • Cloudflare
aldebaran - переделка лендинга TON-стейкинга в многостраничник

Тестовое задание 13 Jul 2024

aldebaran - переделка лендинга TON-стейкинга в многостраничник

Крипто-лендинг стейкинга, перебранный из одной сломанной страницы в маршрутизируемый многостраничный сайт: исправлены мёртвые ссылки и неработающие контролы, неправильно подписанный график заменён на корректный адаптивный линейный, полная адаптивность и доступность, правдоподобные тексты и обновление дизайн-токенов на OKLCH. React 18 + Chart.js.

  • React 18
  • React Router
  • Chart.js
  • SCSS
  • Tailwind
  • Cloudflare
nohello - не открывайте чат словом «Привет»

Тестовое задание 13 Jul 2024

nohello - не открывайте чат словом «Привет»

Двуязычная (RU/EN) страница про культуру переписки: начинайте с вопроса, а не с пустого «Привет». Переделана из одноязычного клона в самописный, доступный одностраничник в мягкой «бумажной» эстетике. Vue 3 + Tailwind, чат-интерфейс с нуля.

  • Vue 3
  • TypeScript
  • Vite
  • Tailwind
  • i18n
  • Cloudflare
mira - адаптивная витрина пекарни

Тестовое задание 28 Jul 2024

mira - адаптивная витрина пекарни

Лендинг французской пекарни, переработанный и улучшенный по макету Figma: полностью адаптивный и доступный, с перетаскиваемой лентой товаров, корзиной с учётом количества и выбором фасовки с клавиатуры. Чистые HTML/CSS/JS.

  • Vanilla JS
  • CSS
  • Vite
  • Responsive
  • Accessible
mintaka - переделка сайта логистической компании

Тестовое задание 13 Jul 2024

mintaka - переделка сайта логистической компании

Статический сайт логистической компании, перебранный из сломанного многостраничного шаблона: общие липкая шапка и футер, полная адаптивность, доступность, реальные тексты и кастомный видеоплеер. Чистые HTML/SCSS/JS.

  • HTML
  • SCSS
  • Vanilla JS
  • Responsive
  • Accessible
  • Cloudflare
pollux - анимированная лента исторических дат

Тестовое задание 28 Jan 2025

pollux - анимированная лента исторических дат

Круговой переключатель эпох - кликаешь по узлу, и циферблат доворачивает его на активную позицию, пока счётчики годов отматывают новый диапазон, а список событий сменяется. React 19 + GSAP + Zustand на webpack-сборке.

  • React 19
  • TypeScript
  • GSAP
  • Zustand
  • Webpack
  • Cloudflare
naos - интерактивный исследователь муравья Лэнгтона

Тестовое задание 12 May 2021

naos - интерактивный исследователь муравья Лэнгтона

Учебная canvas-игрушка 2021 года, переделанная в интерактивный исследователь тёрмитов: запуск, пауза и шаг муравья, смена правила поворота - и видно, как из одной инструкции рождается порядок, когда около десятитысячного шага он строит шоссе. Node, Express и обычный canvas, без фреймворка.

  • Node.js
  • Express
  • Vanilla JS
  • HTML5 Canvas
  • Accessible
saiph - доступный веб-плеер видео

Тестовое задание 20 Dec 2023

saiph - доступный веб-плеер видео

Видеоплеер на HTML5 и чистом JavaScript с управлением с клавиатуры: дорожка перемотки с засечками, моноширинный таймкод, перемотка по двойному клику, субтитры и картинка-в-картинке, плейлист из восьми цветовых грейдов. Без фреймворков и зависимостей.

  • Vanilla JS
  • HTML5 Video
  • CSS
  • Accessible
  • Cloudflare
arcturus - парсер отзывов Яндекс.Карт

Тестовое задание Imtera 15 Jun 2026

arcturus - парсер отзывов Яндекс.Карт

Вытягивает рейтинг и все доступные отзывы из любой карточки Яндекс.Карт - без публичного API и при активной защите от ботов, на обычном HTTP, без headless-браузера и капчи. Laravel 11 + Vue 3.

  • Laravel 11
  • Vue 3
  • Sanctum
  • SQLite
  • Docker
spica - форма заказа плитки The Artisan Kiln

Тестовое задание Tile Expert 1 Jun 2026

spica - форма заказа плитки The Artisan Kiln

Форма заказа плитки, выросшая в полноценный редакционный магазин: расчёт корзины, drag-and-drop дизайнер плитки и чекаут с разными методами оплаты. Next.js 15 + Redux Toolkit.

  • Next.js 15
  • TypeScript
  • Tailwind
  • Redux Toolkit
  • Cloudflare
antares - журнал производства работ с массовыми операциями и состоянием в URL

Тестовое задание 29 May 2026

antares - журнал производства работ с массовыми операциями и состоянием в URL

Журнал работ с серверной фильтрацией, поиском, сортировкой по колонкам и массовым удалением между страницами - всё в URL. NestJS + Prisma + React.

  • NestJS
  • Prisma
  • PostgreSQL
  • React 19
  • Docker
capella - дашборд пользователей с состоянием в URL

Тестовое задание 23 May 2026

capella - дашборд пользователей с состоянием в URL

Дашборд пользователей поверх API с серверным поиском, фильтрами, трёхпозиционной сортировкой и пагинацией - URL как единственный источник состояния. Next.js 16 + RSC.

  • Next.js 16
  • TypeScript
  • TanStack Table
  • Tailwind 4
  • Cloudflare
adhara - маркетинговый лендинг, доведённый до продакшена

Тестовое задание 11 Jun 2024

adhara - маркетинговый лендинг, доведённый до продакшена

Pixel-perfect лендинг SaaS, переделанный из эталонной сборки в готовый к выкату продукт: устранён серверный краш, починены сломанные брейкпоинты, все страницы стали адаптивными и доступными, плейсхолдеры заменены реальными текстами. Nuxt 3 + Vue 3 + Tailwind.

  • Nuxt 3
  • Vue 3
  • TypeScript
  • Tailwind
  • Cloudflare
hadar - вики по Rick and Morty, пересобранная как секретное досье

Тестовое задание 7 Jun 2024

hadar - вики по Rick and Morty, пересобранная как секретное досье

Вики на публичном API Rick and Morty, доведённая из шаблонной тёмной темы до собственного 'рассекреченного реестра': библиотека компонентов заменена на нативный доступный UI, единая система на OKLCH, честный адаптив 390-1440, поддержка клавиатуры и реальные фиксы багов. Nuxt 3 + Vue 3 + Tailwind.

  • Nuxt 3
  • Vue 3
  • TypeScript
  • Tailwind
  • Cloudflare
alnitak - доска задач и дашборд выручки, пересобранные как редакторская рабочая панель

Тестовое задание 27 Jan 2024

alnitak - доска задач и дашборд выручки, пересобранные как редакторская рабочая панель

Канбан-доска на Nuxt 3 и дашборд выручки на ECharts, доведённые из недоделанного демо до единой системы: тёплые бумажные токены OKLCH с фирменным мотивом 'ledger rule', реальные фиксы багов (жизненный цикл ECharts, мёртвые обработчики клавиатуры, вложенные кнопки), полный уровень доступности и честный адаптив 390-1440. Nuxt 3 + Vue 3 + ECharts.

  • Nuxt 3
  • Vue 3
  • TypeScript
  • ECharts
  • Pinia
  • Tailwind
  • Cloudflare
betelgeuse - каталог покемонов, пересобранный как полевой справочник-покедекс

Тестовое задание 6 Apr 2023

betelgeuse - каталог покемонов, пересобранный как полевой справочник-покедекс

Каталог покемонов на Create React App поверх PokeAPI, доведённый из стокового Ant Design до авторского 'покедекс-справочника': полная система OKLCH, 18-цветная система типов как фирменный приём, реальные фиксы багов (rules-of-hooks, синхрон URL и пагинации, ошибки fetch) и честный адаптив 390-1440 с доступностью. React 18 + Redux Toolkit + Ant Design.

  • React 18
  • TypeScript
  • Redux Toolkit
  • React Router
  • Ant Design
  • SCSS
  • Cloudflare
richie - раннее brutalist-портфолио, восстановленное из git-истории и обновлённое

Демо 31 Dec 2022

richie - раннее brutalist-портфолио, восстановленное из git-истории и обновлённое

Яркое жёлто-красное персональное портфолио 2022 года, которое один коммит свёл до заглушки. Восстановлено целиком из истории репозитория и прошло проход по корректности, SEO, доступности и адаптиву - блог, который никогда не собирался, теперь генерируется, у каждой страницы один чистый каркас заголовков, а длинные scroll-анимации укорочены, и всё это без изменения исходного вида.

  • Nuxt 2
  • Vue 2
  • SCSS
  • i18n
  • AOS
izar - веб-плеер в духе Яндекс Музыки с реактивной заставкой

Тестовое задание 11 May 2023

izar - веб-плеер в духе Яндекс Музыки с реактивной заставкой

Черновой стартер на Nuxt, переделанный в настоящий музыкальный плеер: реальное воспроизведение HTML5-аудио с сохраняемой очередью, полноэкранный экран трека, избранное, поиск, радио и топ-100, и заставка, которая реагирует на музыку. Два реактивных фона - 3D-волна из точек и WebGL-сияние, восстановленное по «Моей волне» Яндекса, - оба питаются от Web Audio-анализатора. На английском и русском.

  • Nuxt 3
  • Vue 3
  • TypeScript
  • Tailwind
  • SCSS
  • Web Audio API
  • WebGL
  • i18n

Открытый код

Публичные репозитории - исходники, инфраструктура и инструменты, на которых построена моя работа. AI-код проходит ревью и тесты как черновик джуна, прежде чем попасть в прод.

  • TypeScript 19 июн. 2026 г.

    bmalph

    Unified AI Development Framework - BMAD phases with Ralph execution loop

    Мой собственный харнесс для agentic-кодинга: ставит AI-генерацию за фазы спецификации и цикл ревью, а не сырой вывод.

  • 3 июн. 2026 г.

    Notes app

    Self-hosted заметки в Markdown: теги, полнотекстовый поиск, календарь и телеграм-бот напоминаний. FastAPI + Postgres, React + Vite, Docker.

    Ядро покрыто тестами: pytest на FastAPI-бэке (auth, заметки, пагинация, массовые операции) плюс компонентные тесты на React-фронте.

  • TypeScript 31 мая 2026 г.

    canopus

    Customized Apache Superset 6.1.0 production image

  • Python 21 апр. 2026 г.

    favro-mcp

    MCP server for interacting with Favro project management.