JB logo

Command Palette

Search for a command to run...

yOUTUBE
Published on npm

NPM Packages

Packages I've built and published — each one solving a problem I hit shipping real products. Most of them run in production on the site you're reading right now.

zenith-analytics

v0.2.0
running on this site

Privacy-first analytics — cookieless tracking, dashboard on your own domain.

The client package for Zenith, a self-hosted multi-site analytics platform. A ~1KB cookieless snippet records pageviews and custom events, and a server-side proxy mounts a password-protected analytics dashboard natively on your domain — no foreign subdomain, no CORS, no consent banner.

  • Drop-in <Analytics /> component for Next.js (App & Pages Router)
  • Cookieless by construction — no consent banner needed
  • Domain-native dashboard: yoursite.com/analytics, password-gated
  • track() for custom events — never throws, queues before load
  • Secrets stay server-side; only the public site key ships to browsers

Dogfooded: Tracks every pageview on this site — and the /zenith dashboard you can't open without the password is the domain-native proxy in production.

npm install zenith-analytics

beautiful-banner-ads

v0.4.0
running on this site

First-party self-promotion banners for React — polished by default.

A React component library for cross-promoting your own products, courses, and content on your own site. Five components (BannerAd, BrandedBanner, MediaBanner, CustomBanner, AdSlot with rotation), styled out of the box with light/dark/system themes. No ad network, no tracking — analytics are callback-only, so nothing phones home.

  • Zero styling props required — beautiful by default
  • Works with AND without Tailwind (scoped CSS, optional preset)
  • SSR-safe, accessible (keyboard, ARIA, prefers-reduced-motion)
  • AdSlot rotation with dismiss memory (expiring storage)
  • Callback-only analytics: onView / onClick / onClose

Dogfooded: The rotating promo banner you see on this site (DGateway, courses, products) is an AdSlot from this package.

npm install beautiful-banner-ads

@mediakit-dev/react

v0.4.1

React SDK for MediaKit — self-hosted video & image infrastructure.

The React bindings for MediaKit, a self-hosted alternative to Cloudinary/Mux-style media services: upload, store, transform, and stream video and images from infrastructure you control. The SDK gives you the components and hooks to wire uploads and playback into a React app without touching the raw API.

  • Upload components and hooks for a self-hosted media backend
  • Video streaming and image delivery from your own infrastructure
  • Own your media pipeline — no per-GB SaaS pricing
  • TypeScript-first React SDK
npm install @mediakit-dev/react

@nexora-ai/react

v0.3.0
running on this site

Embed Nexora AI chat agents in any React app.

React components and hooks for Nexora AI — the platform for building, training, and deploying AI agents that understand your business. Drop the NexoraChat widget into a layout, point it at your agent, and visitors get a chat trained on your data, deployable across channels.

  • NexoraChat widget — one component, full chat UI
  • Agents trained on your own business data
  • Hooks for custom chat surfaces beyond the widget
  • Works with the hosted Nexora platform

Dogfooded: The chat bubble on this site is NexoraChat from this package, pointed at JB's own agent.

npm install @nexora-ai/react
All packages are MIT licensed. Found a bug or want a feature? Open an issue on the package's repo — or reach me through the booking page.