npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@openverb/crm

v0.1.0

Published

The official OpenVerb CRM Master Template. A developer-native, protocol-compliant CRM with AI-powered communication workflows.

Readme

OpenVerb CRM ✨

An embeddable, developer-native CRM built specifically for Next.js applications. OpenVerb CRM gives you a beautifully designed, SaaS-ready dashboard out-of-the-box, without locking you into proprietary databases or expensive per-seat email integrations.

It uses a "Master Template" pattern (similar to Shadcn UI). You don't npm install a massive blackbox package; you run the CLI, and the raw React components, database proxies, and API routes copy directly into your repository. You own the code forever.

Architecture

OpenVerb CRM is defined by two profound architectural decoupling concepts: 1. BYOD (Bring Your Own Database) 2. BYOP (Bring Your Own Provider)

The Database Adapter (BYOD)

Instead of forcing you to migrate your system to Postgres, MySQL, or Mongo, OpenVerb operates over a generic db object interface found in lib/crm/store.ts. By default, this is an in-memory database mock so you can boot the dashboard in 10 seconds and test it out.

When you are ready for production, you just override the proxy:

// in lib/crm/store.ts
// Replace the mock export with your Prisma Client
export { default as db } from '@/lib/prisma'

Because the CRM internally executes highly deterministic verbs (like await db.contacts.findMany()), it plugs into a Prisma/Drizzle schema effortlessly!

The Email Adapter (BYOP)

Why pay Mailchimp $200/month when you can route your emails through Amazon SES for pennies? We built an abstraction layer in lib/crm/email-adapter.ts that dynamically injects the sending API for your infrastructure.

Simply set your .env file:

# Available: resend, postmark, sendgrid, mailchimp, ses
CRM_EMAIL_PROVIDER=resend
RESEND_API_KEY=re_123456789

The CRM handles standardizing your API keys entirely.

Two-Way Webhooks (Receiving Mail)

Sending mail is easy. Receiving mail to let users reply to the CRM natively is the holy grail. OpenVerb provides a universal inbound webhook route: POST /api/crm/webhooks/[provider]

It natively parses the raw HTTP webhooks from Sendgrid, Postmark, Mailchimp, and AWS SES into an inbox.receive_message OpenVerb. The CRM automatically threads the inbound message into the customer's contact history, firing real-time UI updates to your dashboard!

Features out-of-the-box

  • Theming: Full next-themes and Shadcn variable support. Dark/Light mode just inherits from your app's :root.
  • Inbox Engine: Full threading capability, open/closed workflows, and unread counts.
  • Segments Engine: Build arbitrary dynamic lists from Contact metadata.
  • AI Copilot Ready: All actions are structured as "OpenVerb" schemas internally, meaning an LLM can trigger CRM actions implicitly using function calling (executeVerb('draft.send', {...})).
  • Campaigns: Draft and schedule templated broadcasts with analytics abstractions.
  • Horizontal Ecosystem (Optional): Link multiple independent Next.js apps into a unified dashboard using the API Federation Guide.
  • Commercial Licensing Ready: Includes a "Phone-Home" license verification system for SaaS owners. See the Management Guide.

Installation

Run the installer straight into any existing Next.js + Tailwind project:

npx openverb-crm init

This CLI generator script will ask which directory to slide the CRM into, ensuring it drops alongside your existing architecture perfectly.