HanDev
← Projects
npm · Design System · 2025–2026

HanDev PlatformShared

Monorepo npm packages for the whole platform: design system, auth client and UI components. Auto-published to GitLab Package Registry.

  • @handev/platform-ui — Layout, Header, ServiceSwitcher
  • @handev/platform-auth — JWKS verification + refresh
  • @handev/tailwind-preset — shared design tokens
  • Auto-versioning MAJOR.MINOR.PIPELINE_IID
pnpm workspacetsupReact 18TailwindRadix UI
HanDev PlatformShared — интерфейс проекта

Challenge

With 3–4 SPAs on the same stack, copying the header, sidebar and auth client between them is an anti-pattern. We needed a shared design system and auth client as npm packages that could be adopted and updated without friction.

What We Did

  • @handev/tailwind-preset — shared Tailwind preset (colours, fonts, breakpoints, components).
  • @handev/platform-auth — PlatformAuthClient (frontend) and PlatformAuthVerifier (backend: JWKS verification). Triple retry on 401.
  • @handev/platform-ui — PlatformProvider, PlatformLayout, Header, Footer, ServiceSwitcher, UserMenu, AuthGuard, PlatformSidebarGroup, PlatformSidebarItem, MobileSidebarTrigger.
  • Auto-versioning in GitLab CI: major.minor in package.json; CI appends PIPELINE_IID as patch.
  • TypeScript types and ESM out of the box. tsup builds .js + .d.ts into dist/.

Result

  • Single source of truth for UI and auth across the entire platform.
  • Version bump = git push → CI publishes automatically.
  • Each service updates via pnpm update @handev/*.

Let's
talk.

We reply within one business day with an initial assessment and the nearest team slot.

✉ info@handev.org