Как всё началось
Второй курс университета. Я постоянно копировал одни и те же кнопки и инпуты из проекта в проект, каждый раз немного меняя цвета. В какой-то момент подумал - почему бы не сделать пакет один раз и просто устанавливать его везде?
Так и сделал. Без больших планов и роадмапа. Просто хотел перестать копипастить.
Что внутри
Библиотека называется dkcodec-ui-kit. Три компонента: Button2D, Toggle2D и Input2D. Идея - плоский 2D стиль без теней и градиентов, чистые геометрические формы с небольшим смещением.
import { Button2D, Toggle2D, Input2D } from 'dkcodec-ui-kit'
// Базовое использование
<Button2D>Нажми меня</Button2D>
// С кастомизацией
<Button2D
size="lg"
textColor="darkblue"
btnColor="lightblue"
borderColor="blue"
background="darkblue"
>
Кастомная кнопка
</Button2D>Всё написано на TypeScript, полностью типизировано. Автодополнение работает, ошибки в пропсах видно сразу при компиляции.
Компоненты поддерживают пять размеров (sm, md, lg, xl, 2xl) и позволяют переопределять цвета через пропсы - текст, фон, рамка, внутренняя заливка. API не самый изощрённый, но рабочий и понятный.
Что было после публикации
Запушил на npm и примерно забыл. Потом через месяц проверил статистику и увидел 584 скачиваний за первый месяц. Для маленькой библиотеки с тремя компонентами, которую сделал студент второго курса - это приятно.

Нигде особо не продвигал. Люди находили через поиск в npm.
Что бы сделал иначе сейчас
Честно говоря, код довольно базовый - я только учился. Несколько вещей которые изменил бы сегодня:
Нет интерактивной документации. В README есть примеры, но нет Storybook-плейграунда. Это первое что добавил бы - люди хотят посмотреть компоненты вживую до установки библиотеки.
Три компонента - мало. Нормальный UI-кит должен иметь хотя бы модалку, селект и несколько layout-примитивов чтобы быть реально полезным в проекте.
Webpack вместо нормального бандлера. Переехал бы на tsup или Rollup - лучший tree-shaking и меньший размер бандла.
Что дальше
Библиотека пока лежит и ждёт. Планирую вернуться к ней. 2D flat стиль мне genuinely нравится - много SaaS-дашбордов и продуктов которые отлично смотрелись бы в этой эстетике.
Когда вернусь - приоритеты такие: больше компонентов, Storybook, нормальный билд.
А пока это маленькое доказательство того что не нужно ждать пока будешь "готов" что-то публиковать. Студент второго курса с тремя компонентами получил за все время 677 скачиваний.